Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
Cmake 使用变量作为函数的参数列表_Cmake - Fatal编程技术网

Cmake 使用变量作为函数的参数列表

Cmake 使用变量作为函数的参数列表,cmake,Cmake,我想把一个变量的值传递给一个函数,就像我直接编写它一样。以下是我尝试过的: cmake_minimum_required (VERSION 3.5.1) project(test) message(WARNING "This is a warning") # CMake Warning at CMakeLists.txt:4 (message): # This is a warning set(variable "WARNING \"This is a warning\"") messa

我想把一个变量的值传递给一个函数,就像我直接编写它一样。以下是我尝试过的:

cmake_minimum_required (VERSION 3.5.1)
project(test)

message(WARNING "This is a warning")
# CMake Warning at CMakeLists.txt:4 (message):
#   This is a warning

set(variable "WARNING \"This is a warning\"")
message(${variable})
# WARNING "This is a warning"

不幸的是,您可以看到对消息的第二次调用与第一次调用的行为不同。如何实现此目的?

只需为变量分配一个列表:

set(variable WARNING "This is a warning")
或者,由于列表中的元素实际上用分号分隔:


为什么不让警告消息本身成为一个变量,然后用messageWARNING${message_var}@DeveloperPaul打印出来呢?因为这只是我试图实现的更复杂的事情的一个最小示例。
set(variable "WARNING;This is a warning")