我正在使用 CMake 配置一些项目。我需要将路径分隔符(例如
/
或 \
)放入 CMake 变量中以执行某些操作,而不管具体是什么。我怎样才能做到这一点?
系统的路径分隔符没有CMake变量可以直接使用。
file(TO_NATIVE_PATH)
命令你可以这样做:
file(TO_NATIVE_PATH "/" _separator)
message("The systems's path separator is '${_separator}'")
$<SHELL_PATH:...>
生成器表达式
(CMake 版本 >= 3.4)非常有用:
的内容转换为shell路径样式。例如,在 Windows shell 中,斜杠将转换为反斜杠,在 MSYS shell 中,驱动器号将转换为 posix 路径。...
必须是绝对路径。...
更新,在CMake 3.20+中,使用
cmake_path
函数:
cmake_path(SET os_path_separator NORMALIZE "/")
cmake_path(NATIVE_PATH os_path_separator os_path_separator)