我注意到似乎有两种方法可以在 CMake 文件中设置编译器选项:
target_compile_options(${TargetName} PRIVATE "-O3")
或
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
我应该使用哪一个?有区别吗?
这个:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
修改它所在的 CMake 目录的全局
CMAKE_CXX_FLAGS
的值
第一次配置构建树时设置的缓存条目。比较:
add_compile_options(PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-O3>)
在当前目录及以下目录下效果相同
这个:
target_compile_options(${TargetName} PRIVATE "-O3")
仅为目标
-O3
设置编译选项 ${TargetName}
。