2

我正在用 CMake 配置一些项目。我需要将路径分隔符(例如/or \)放入 CMake 变量中以使用 in 来执行某些操作,不管具体是什么。我怎样才能做到这一点?

4

1 回答 1

4

系统的路径分隔符没有可以直接使用的CMake变量。

但正如@vre 使用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 路径。...必须是绝对路径。

于 2018-01-26T19:49:38.243 回答