base_boost

GalaxyBuild Status

base_boost — это ansible-подход, который устанавливает библиотеки для инструментов компилятора GNU C++.

Требования

Система на базе RHEL, или Ubuntu, или Windows.

Переменные роли

  • Корпоративная функция: переключает желаемое состояние compilers_present: present

  • Программные коллекции предлагают последние версии языков программирования. Установите в true для использования gcc-toolkit на Centos8. collections_enabled: true

  • утвержденный/тестовый релиз наборов инструментов разработчика программных коллекций cplusplus_devtoolset: devtoolset-7

Большинство библиотек Boost являются только заголовочными: они полностью состоят из заголовочных файлов, содержащих шаблоны и встроенные функции, и не требуют отдельно скомпилированных библиотек или специальной обработки при связывании. Тем не менее, эта роль компилирует библиотеки, но вы можете изменить это поведение, если хотите:

compile_boost: true

Единственные библиотеки Boost, которые нужно собирать отдельно и не имеют дополнительной документации для компиляции, установлены по умолчанию (переопределите их в group_vars или вашем playbook):

compile_boost_with:
  --with-chrono
  --with-context
  --with-filesystem
  --with-graph_parallel
  --with-iostreams
  --with-locale
  --with-program_options
  --with-regex
  --with-serialization
  --with-signals
  --with-system
  --with-thread
  --with-timer
  --with-wave

# boost_cflags значения для Windows

/DFOO - определить FOO в препроцессоре
/EHsc - обрабатывать исключения C++, предполагать, что функции extern "C" никогда не выбрасывают исключения C++
/GR - включить RTTI
/MD - создать многопоточную DLL
/MDd - создать отладочную многопоточную DLL
/O1 - оптимизировать по размеру
/O2 - оптимизировать по скорости
/Ob0 - нет авто-инлайнинга
/Ob1 - только инлайн функции, отмеченные как inline, и функции-члены C++, определенные в декларации класса
/Ob2 - позволить компилятору свободно инлайнивать
/Od - без оптимизации
/RTC1 - проверка во время выполнения: сообщить, когда переменная используется без инициализации, и проверка ошибок в стеке во время выполнения. См. их сайт для получения более подробной информации.
/W3 - использовать уровень предупреждений 3 (из 4), «производственного качества»
/Zi - генерировать «полную отладочную информацию», как -g для clang/gcc

Зависимости

https://www.softwarecollections.org/en/docs/

Пример использования

Смотрите полный сервер сборки https://github.com/bbaassssiiee/buildserver

Лицензия

MIT

Информация об авторе

Bas Meijer
@bbaassssiiee

О проекте

Boost libraries for C++

Установить
ansible-galaxy install dockpack/base_boost
Лицензия
mit
Загрузки
307
Владелец
CI/CD