为什么 CMake FILE(READ) 会忽略我文件中的逗号?
Why does CMake FILE(READ) ignore commas in my file?
我有一个 css 文件(我想为 Qt 解析和改编它,但这不是问题所在)。比方说这个:
QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
border-color: #5575b0;
}
我制作了一个 CMake 脚本来用 !...
替换 not(...)
:脚本的那部分工作正常。
问题是 CMake 删除了行尾的逗号 (;
)。当我这样做时:
file(READ ${INPUT_FILE_PATH} CONTENT)
message(${CONTENT})
不幸的是,输出是:
QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
border-color: #5575b0 // <-- missing comma here !
}
有人知道为什么会这样吗?以及如何避免它?
我发现了问题所在:CMake 认为我的输入是一个列表,其中的元素用逗号分隔 (;
)。
为避免这种情况,我们必须为变量添加引号,例如 "${MY_VAR}"
:
message("${CONTENT}")
我有一个 css 文件(我想为 Qt 解析和改编它,但这不是问题所在)。比方说这个:
QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
border-color: #5575b0;
}
我制作了一个 CMake 脚本来用 !...
替换 not(...)
:脚本的那部分工作正常。
问题是 CMake 删除了行尾的逗号 (;
)。当我这样做时:
file(READ ${INPUT_FILE_PATH} CONTENT)
message(${CONTENT})
不幸的是,输出是:
QLineEdit:hover:not(focus),
QWidget QPlainTextEdit:not(hover):not(focus) {
border-color: #5575b0 // <-- missing comma here !
}
有人知道为什么会这样吗?以及如何避免它?
我发现了问题所在:CMake 认为我的输入是一个列表,其中的元素用逗号分隔 (;
)。
为避免这种情况,我们必须为变量添加引号,例如 "${MY_VAR}"
:
message("${CONTENT}")