如何强制CMake的函数target_include_directories()
将值视为绝对路径?
例如,我想要这行代码:
target_include_directories(foobar PRIVATE "%FOOBAR_INCLUDE%")
只需将%FOOBAR_INCLUDE%
添加到包含目录列表中即可。
然而,实际上我们得到的是c:\path\to\foobar\%FOOBAR_INCLUDE%
。
我知道我可以做:
target_include_directories(foobar PRIVATE "$ENV{FOOBAR_INCLUDE}")
但这不是我想要的。那样会扩展环境变量的值并插入FOOBAR_INCLUDE
的当前设置。
我们需要它仅推送环境变量,然后在开发过程中,开发人员将手动更改FOOBAR_INCLUDE
的值,而无需每次重新运行CMake。
而无需重新运行CMake
CMake的整个目的是在您更改配置时重新运行它。因此,当您更改FOOBAR_INCLUDE时,应该重新运行cmake。 - undefined