例如,用户可能希望在安装时使用()命令来运行CMake代码。这种形式的代码通常类似于:message(STATUS "The value of \${VAR} is \"\${VAL}\"在这种情况下,由于我们希望在安装时执行扩展,而不是在CMake首次解析字符串时对每个$进行转义。对于较大的命令,这很快就会变得很麻烦--很容易忘记转义引号和$。
有没有更好的方法?
我在cmake中编写了一个实用工具宏,用于设置依赖于平台的变量。理论上应该很简单,但我不知道为什么我的变量没有被设定。以下是宏:#macro(SetCrossPlatform VAR name MSVCPLATFORM ${PLATFORM}")
if (PLATFORM STREQUAL "windows-