通过命令提示符将参数传递给 CMAKE

2024-04-08

我的项目有一个 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(使用前将#替换为@)

通过命令提示符将参数传递给 CMAKE 的相关文章

随机推荐