cmake - 如何为CMakefile设置多元素变量

标签 cmake gnu-make

我可以像下面那样为 cmake 传递定义的变量(例如,当我想设置 PYTHON_INCLUDE_PATH=dir1 时)。

cmake -DPYTHON_INCLUDE_PATH=dir1 ..

但是如果我想为这个 PYTHON_INCLUDE_PATH 设置多个路径怎么办?我试过了

cmake -DPYTHON_INCLUDE_PATH='dir1 dir2 dir3'   

或者应该是

cmake -DPYTHON_INCLUDE_PATH='dir1:dir2:dir3' (or , instead of :)  

但我不确定它是否有效。 (看到一些其他错误,所以我不确定它是否正确。)

我看到我也可以在 .cmake 文件中设置这些定义,如下所示的 set(VARIABLE,VALUE)。

set(OpenCV_CUDA_VERSION 7.5)   

那么当变量有多个元素时,这个set(..)形式对应的语法是什么?

最佳答案

使用以下语法:

cmake -DLIST_VAR="one;two;three" ...

您可以使用以下 CMakeLists.txt 播放:

cmake_minimum_required(VERSION 3.5)

foreach(v IN LISTS LIST_VAR)
    message(STATUS "${v}")
endforeach()

关于cmake - 如何为CMakefile设置多元素变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38391482/

相关文章:

makefile - 为什么/何时需要 'clean' 目标?

linux - 如何让 android 在 ubuntu 14.04 上运行得更快?

makefile - 制作 : How to escape spaces in $(addprefix)?

c - 在 64 位 Windows 上从 CMD 调用 cl (Visual Studio 2013) 交叉编译器

linker - 使用 CMake 链接到 Armadillo 库

windows - CMake 将无法正确生成该项目。调用堆栈(最近调用最先): CMakeLists. txt:20(项目)

cmake - 为什么 CMake 为 add_compile_options 和 target_compile_options 拆分参数的方式不同?

visual-studio-code - 使用 Visual Studio Code 进行调试并将终端输出管道传输到文件

c++ - 将外部库添加到 CMakeList.txt c++

makefile - 有没有一种典型的方法可以使用 autotools 禁用联机帮助页生成?