CMake的自定义标志

时间:2019-05-08 07:14:55

标签: cmake

不确定提出此问题的正确方法,但基本上,我有一个项目需要以两种略有不同的方式进行构建。我可以有两个CMake文件,并使它们保持同步,但我宁愿只拥有一个并通过命令行标志进行控制。

类似于cmake --configure . --flagcmake --configure .之类的东西。

然后在CMakeFile中:

ifdef(flag)
line_that_is_different
endif()

切换行的开/关。

显然这不是有效的CMake,但是在Cmake中有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

只是:

cmake -Dflag=true
cmake -Dflag=On
cmake -Dflag=1

和cmake脚本中:

if(flag)
   message(STATUS "FLAG IS ON")
endif()

请参见[cmake手册[[https://cmake.org/cmake/help/v3.14/manual/cmake.1.html)和cmake if command