不确定提出此问题的正确方法,但基本上,我有一个项目需要以两种略有不同的方式进行构建。我可以有两个CMake文件,并使它们保持同步,但我宁愿只拥有一个并通过命令行标志进行控制。
类似于cmake --configure . --flag
与cmake --configure .
之类的东西。
然后在CMakeFile中:
ifdef(flag)
line_that_is_different
endif()
切换行的开/关。
显然这不是有效的CMake,但是在Cmake中有什么方法可以做到这一点?
答案 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。