This question already has answers here:
Passing compiler options cmake
(5个答案)
2年前关闭。
我想知道是否可以在调用
这些标志将被覆盖,我不想丢失推断的标志。我可以不覆盖而手动运行,只需复制标志并附加c++ 11,但我认为必须有更好的解决方案。
我发现了很多关于在
或通过命令行:
就是说,
在脚本中设置标记的一种礼貌方式是将变量追加到变量上,即:
(5个答案)
2年前关闭。
我想知道是否可以在调用
cmake
时追加到推断的变量。由于CMakeLists.txt
不能检测到编译器或应用程序提供的cmake
C++ 11支持,即使它受支持且应用程序需要它也是如此。如果我做:cmake-DCMAKE_CXX_FLAGS='-std=c++11' ../source_dir
这些标志将被覆盖,我不想丢失推断的标志。我可以不覆盖而手动运行,只需复制标志并附加c++ 11,但我认为必须有更好的解决方案。
我发现了很多关于在
CMakeLists.txt
中添加c++ 11支持的文章,但在cmake
调用中却没有,所以我想知道是否有可能。请告诉我。 最佳答案
您可能正在寻找
set (CMAKE_CXX_STANDARD 11)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
或通过命令行:
cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_STANDARD_REQUIRED=ON
就是说,
CMAKE_CXX_FLAGS
不会被cmake覆盖,因此您的CMakeLists.txt必须在某处执行。在脚本中设置标记的一种礼貌方式是将变量追加到变量上,即:
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} stuff")
关于c++ - 在cmake调用中附加CXX_FLAGS ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48462133/
10-11 15:29