我正在尝试转换一个 unix 风格的 MSYS 路径,例如
/c/my/path/to/a/folder
到 Windows 路径,或 CMake 可以理解的路径,
例如 C:/my/path/to/a/folder
。
我希望它在已经正确的路径上工作。
有什么好的方法吗?
注意:请不要提及 cygwin 的 cygpath。
编辑:file(TO_CMAKE_PATH mypath result)
不工作
最佳答案
没有针对此的内置 CMake 功能,但您可以编写函数/宏来执行此操作:
macro(msys_to_cmake_path MsysPath ResultingPath)
string(REGEX REPLACE "^/([a-zA-Z])/" "\\1:/" ${ResultingPath} "${MsysPath}")
endmacro()
set(mypath "/c/my/path/to/a/folder")
msys_to_cmake_path(${mypath} result)
message("Converted \"${mypath}\" to \"${result}\".")
话虽如此,我同意 Antonio 的评论,因为首先需要这个似乎很不寻常。
关于windows - CMake 将 unix 转换为 windows 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397349/