cmake:add_compile_definitions、add_compile_options 你的名字 2022-10-12 00:45 179阅读 0赞 # add\_compile\_definitions # 3.12新版功能。 将预处理器定义添加到源文件的编译中。 add_compile_definitions(<definition> ...) 将预处理器定义添加到编译器命令行。 预处理器定义被添加到当前CMakeLists文件的COMPILE\_DEFINITIONS目录属性中。它们还被添加到当前CMakeLists文件中每个目标的COMPILE\_DEFINITIONS目标属性中。 定义使用语法VAR或VAR=value指定。不支持函数样式定义。CMake会自动正确转义本地构建系统的值(注意,CMake语言语法可能需要转义来指定一些值)。 add\_compile\_definition的参数可以使用语法为$<…>的"generator expressions"。关于可用的表达式,请参阅cmake-generator-expressions(7)手册。参见cmake-buildsystem(7)手册来定义更多的buildsystem属性。 # add\_compile\_options # > **该命令可用于添加任何选项。但是,为了添加预处理器定义和包含目录,建议使用更具体的命令add\_compile\_definitions()和include\_directories()** 将选项添加到源文件的编译中。 add_compile_options(<option> ...) 向COMPILE\_OPTIONS目录属性添加选项。当从当前目录及以下目录编译目标时,将使用这些选项。 > COMPILE\_OPTIONS: > > * 要传递给编译器的选项列表。 > * 此属性保存到目前为止给add\_compile\_options()命令的一个以分号分隔的选项列表。 > * 创建目标时,此属性用于初始化COMPILE\_OPTIONS目标属性,生成器使用该属性为编译器设置选项。 ## 参数 ## add\_compile\_options的参数可以使用语法为$<…>的"generator expressions"。关于可用的表达式,请参阅cmake-generator-expressions(7)手册。参见cmake-buildsystem(7)手册来定义更多的buildsystem属性。 ## 例子 ## 由于不同的编译器支持不同的选项,该命令的典型用法是在特定于编译器的条件子句中: if (MSVC) # warning level 4 and all warnings as errors add_compile_options(/W4 /WX) else() # lots of warnings and all warnings as errors add_compile_options(-Wall -Wextra -pedantic -Werror) endif()
还没有评论,来说两句吧...