教程: 通用配置项
该页面内容为kmcmake通用配置项。
通用配置项
通用配置项定义于 kmcmake/kmcmake_module.cmake文件中,用于管理cmake的常规行为。
大多数情况下,您不应该直接修改此文件,如果需要更改默认值,可以通过命令行的-D方式重新定义
这些值。
BUILD_STATIC_LIBRARY
配置是否编译生成静态库,这个配置目前已经废弃,默认的方式是 生成静态库和动态库
BUILD_SHARED_LIBRARY
配置是否编译生成动态库,这个配置目前已经废弃,默认的方式是 生成静态库和动态库
VERBOSE_KMCMAKE_BUILD
在执行cmake 配置过程时,是否打印详细信息,用于debug,默认不开启
VERBOSE_CMAKE_BUILD
在执行cmake 构建过程时,是否打印make详细信息,用于debug,默认不开启
KMCMAKE_USE_CXX11_ABI
是否用c++11 abi,默认开启,出于兼容性,将此增加此配置,有些古老的c++库 不使用c++11 abi。
谨慎修改此项配置,除非你非常明确它的行为,因为这两个配置是完全不兼容的。
例如A库使用 -DKMCMAKE_USE_CXX11_ABI=OFF,B库引用A库,B库使用
-DKMCMAKE_USE_CXX11_ABI=ON编译,将出现编译错误。
KMCMAKE_BUILD_TEST
是否编译单元测试,默认不加入编译,开发过程中要修改此项配置以编译测试来验证正确性。
具体是是否将tests目录加入编译。
KMCMAKE_BUILD_BENCHMARK
是否编译压力测试,默认不加入编译,开发过程中要修改此项配置以编译测试来验证正确性。
具体是是否将benchmark目录加入编译。
KMCMAKE_BUILD_EXAMPLES
是否编译示例程序,默认不加入编译,开发过程中要修改此项配置以编译测试来验证正确性。
具体是是否将examples目录加入编译。
KMCMAKE_ENABLE_ARCH
是否开始cpu指令集优化,默认开启 avx2。
avx512*特性并不是所有的cpu都支持,并且在使用过程中也有不少问题,如果您要开启avx512*
特性,请做好充分验证,并在c++编译选项中配置相应的配置。
KMCMAKE_STATUS_PRINT
是否打印kmcmake配置过程的基础信息,默认开启
KMCMAKE_INSTALL_LIB
是否指定安装库文件的路径为lib,这项配置针对centos上安装路径为lib64问题,目前是用比较少。
建议不要开启,把工作留给cmake去做。
WITH_DEBUG_SYMBOLS
通俗的讲,在编译时是否加入-g编译选项。