我有一个使用CMake可以在Linux和Windows上构build的项目。 唯一的问题是,在CMakeLists.txt中,Unix风格的path无法在Windows(它使用反斜杠而不是斜杠,也需要驱动器号)上工作。
有没有什么办法可以写一个跨平台的CMakeLists.txt?
你的问题影响不同的细节:
GET_FILENAME_COMPONENT(X "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
可以在不写任何绝对路径的情况下解决整个路径。 PATH
环境变量中。 所以你不需要自己搜索(绝对路径)或者 FIND_PROGRAM()
获取工具绝对路径而不用猜测。 你可以添加提示,其中注册表项和路径cmake将搜索工具或 IF(WIN32)
或IF(UNIX)
来检测平台。 希望这可以帮助…