Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在CMakeLists.txt中分配cmake变量_Cmake - Fatal编程技术网

如何在CMakeLists.txt中分配cmake变量

如何在CMakeLists.txt中分配cmake变量,cmake,Cmake,我可以这样使用cmake: cmake -DPYTHON_EXECUTABLE=~/build/python .. 我怎样才能在我的CMakeLists.txt中写下它,这样我就可以简单地运行它了: cmake .. 包括 set(PYTHON_EXECUTABLE $ENV{HOME}/build/python CACHE FILEPATH "") 在您的CMakeLists.txt中。有关set命令的更多信息,请参阅联机文档或运行cmake--help set 编辑:此处的CACHE

我可以这样使用cmake:

cmake -DPYTHON_EXECUTABLE=~/build/python ..
我怎样才能在我的
CMakeLists.txt中写下它,这样我就可以简单地运行它了:

cmake ..
包括

set(PYTHON_EXECUTABLE $ENV{HOME}/build/python CACHE FILEPATH "")
在您的CMakeLists.txt中。有关
set
命令的更多信息,请参阅联机文档或运行
cmake--help set


编辑:此处的
CACHE FILEPATH”“
部分是必需的,如下所述。

对于
PYTHON\u EXECUTABLE
变量,需要一个部分
CACHE STRING”“
:在内部,此变量的名称传递给
find\u program
,以区分变量是否为CACHE one。用于
cmake
的选项
-D
创建缓存变量。可选的是文档字符串(
)和适当类型的缓存变量(对于
PYTHON\u可执行文件
,更好的变量类型是
FILEPATH
,而不是
字符串
)。@Tsyvarev非常感谢!我不知道那些细节。然而,文档字符串似乎也是强制性的。如果我忽略它,我会得到错误
集,因为缓存模式的参数无效。我的意思是不需要提供描述性文档字符串。但是,至少传递
是不可避免的。