2

假设想MY_VAR在 CMake 中使用环境变量。这可以简单地通过使用来完成set(myVar $ENV{MY_VAR})

但是如果MY_VAR包含转义字符MY_VAR="/path/with/escaped\ chars"怎么办?CMake 将\后跟空格视为两个单独的字符,而不是单个字符(空格)。换句话说,

# CMakeLists.txt

set(myVar $ENV{MY_VAR})
message(${myVar})

打印/path/with/escaped\ chars,不是/path/with/escaped chars如何让 CMake 识别环境变量中的转义字符?有没有关于这个问题的最佳实践?我在 macOS 上运行 CMake,但希望有一个独立于平台的解决方案......

上下文: Cmake 用于C++在安装之前配置框架。MY_VAR包含用户提供的路径,用于 (a) 在 Makefile 中设置和CMAKE_PREFIX_PATH(b) 由 Cmake 到configure_file框架所需的 python 脚本的配置文件。

4

0 回答 0