我的项目有一个 makefile,我可以用它传递一个控制某些构建标志的参数。现在我想使用 CMake 做同样的事情。我创造了CMakeLists.txt
但我不知道如何传递参数并检查参数值CMakeLists.txt
.
我的 Makefile 示例:
ifeq "$(MY_VARIABLE)" "option_value"
//setting some flags
else
//setting some other flag
endif
然后我打电话make
using make MY_VARIABLE=option_value
。
CMake 中从命令提示符获取参数并据此设置标志的方法是什么?
在 CMakeLists.txt 文件中,创建一个缓存变量,如下所示:
SET(MY_VARIABLE "option_value" CACHE STRING "Some user-specified option")
Source: https://cmake.org/cmake/help/latest/command/set.html#set-cache-entry https://cmake.org/cmake/help/latest/command/set.html#set-cache-entry
然后,使用 GUI(ccmake 或 cmake-gui)设置缓存变量,或指定变量的值在 cmake 命令行上-D https://cmake.org/cmake/help/latest/manual/cmake.1.html#options:%7E:text=and%20build%20tree.-,%2DD%20%3Cvar%3E,-%3A%3Ctype%3E%3D%3Cvalue%3E%2C:
cmake -DMY_VARIABLE:STRING=option_value2
如果事实上您的选项是布尔值,请将您的缓存变量修改为布尔值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)