我正在使用CMake配置一些项目。我需要将路径分隔符(例如/
或\
)放入CMake变量中以执行某些操作,更不用说究竟是什么了。我怎么能这样做?
答案 0 :(得分:3)
系统的路径分隔符没有可以直接使用的CMake变量。
但是@vre使用file(TO_NATIVE_PATH)
命令进行了评论,你可以这样做:
file(TO_NATIVE_PATH "/" _separator)
message("The systems's path separator is '${_separator}'")
如果您有完整的路径$<SHELL_PATH:...>
generator expression
(CMake版本&gt; = 3.4)非常有用:
...
的内容已转换为shell路径样式。例如,斜杠在Windows shell中转换为反斜杠,驱动器号在MSYS shell中转换为posix路径。...
必须是绝对路径。
答案 1 :(得分:0)
简单就是那个
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(SEP "\\")
else ()
set(SEP "/")
endif()
另一种方法是使用Python脚本在配置期间生成头文件。