dockpack.base_boost
base_boost是一个Ansible角色,用于安装GNU C++编译器工具的库。
要求
需要RHEL类系统、Ubuntu或Windows。
角色变量
企业功能:切换所需状态
compilers_present: present
软件集合提供编程语言的最新版本。若要在CentOS8上使用gcc-toolkit,需设置为true。
collections_enabled: true
软件集合的开发工具集的批准/测试版本。
cplusplus_devtoolset: devtoolset-7
大多数Boost库是仅头文件的:它们完全由包含模板和内联函数的头文件组成,不需要单独编译的库二进制文件或特殊处理来链接。然而,这个角色确实会编译库,但如果你愿意,可以覆盖该行为:
compile_boost: true
唯一必须单独构建的Boost库,并且没有额外文档进行编译的是默认设置(可以在group_vars或你的剧本中覆盖它们):
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 - 仅内联标记为内联的函数,以及在类声明中定义的C++成员函数
/Ob2 - 让编译器自由内联
/Od - 不优化
/RTC1 - 运行时检查:报告未初始化的变量使用时的情况,以及栈帧运行时错误检查。详见他们的网站。
/W3 - 使用警告级别3(共4级),"生产质量"
/Zi - 生成“完整调试信息”,类似于clang/gcc中的-g
依赖
https://www.softwarecollections.org/en/docs/
示例用法
请参考完整的构建服务器 https://github.com/bbaassssiiee/buildserver
许可证
MIT
作者信息
Bas Meijer @bbaassssiiee
安装
ansible-galaxy install dockpack.base_boost
许可证
mit
下载
323
拥有者
CI/CD