我想建立一个项目@local词典。
在'CMakeLists.txt'中,项目A希望使用'FIND_PACKAGE'命令找到另一个库B.
问题是当我在本地目录中重建它时,可以在系统目录中找到库B,那么在键入'cmake'时如何通过输入附加参数来控制该情况?
答案 0 :(得分:1)
您可以使用CMake的-D command line option指定变量值。
请注意,有问题的变量必须存储在缓存中才能生效,因为命令行只是设置一个缓存条目,而本地变量隐藏了同名的缓存变量。
cmake -DMY_AWESOME_VARIABLE=Foo <path_to_source>
的CMakeLists.txt
[...]
# set a default value that will be used if no option is given on the command line
set(MY_AWESOME_VARIABLE "Default value" CACHE STRING "")
# this line will output the current value from cache; so either the default
# value or whatever was given last on the command line
message(${MY_AWESOME_VARIABLE})
# local variables hide cache entry, so the next message will always print "Local"
set(MY_AWESOME_VARIABLE "Local")
message(${MY_AWESOME_VARIABLE})
答案 1 :(得分:0)
您可以暂时将PATH环境变量更改为仅本地bin aud或usr ...通过运行cmake:
PATH=~/bin:~/usr:~/usr/bin cmake
但是你必须将所有必需的可执行文件放在那个/那些文件夹中。