为什么 CMake FILE(READ) 忽略文件中的分号?

Oli*_*ERO 3 cmake

我有一个 css 文件(我想解析它并适应 Qt,但这不是问题)。就说这个吧:

QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
    border-color: #5575b0;
}
Run Code Online (Sandbox Code Playgroud)

我制作了一个 CMake 脚本来替换not(...)!...: 脚本的该部分工作正常。

问题是 CMake 删除了;行尾的分号 ()。当我做:

file(READ ${INPUT_FILE_PATH} CONTENT)
message(${CONTENT})
Run Code Online (Sandbox Code Playgroud)

不幸的是,输出是:

QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
    border-color: #5575b0 // <-- missing comma here !
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么会发生这种情况?以及如何避免呢?

Oli*_*ERO 6

我发现了问题所在:CMake 将我的输入视为一个列表,其中元素由逗号 ( ;) 分隔。

为了避免这种情况,我们必须给变量添加引号,如下所示"${MY_VAR}"

message("${CONTENT}")
Run Code Online (Sandbox Code Playgroud)