我有一个项目,可以使用CMake在Linux和Windows上构建。唯一的问题是,在CMakeLists.txt中使用Unix样式的路径不能在Windows上工作(Windows使用反斜杠而不是斜杠,还需要驱动器号)。
有没有办法编写跨平台的CMakeLists.txt呢?
我有一个项目,可以使用CMake在Linux和Windows上构建。唯一的问题是,在CMakeLists.txt中使用Unix样式的路径不能在Windows上工作(Windows使用反斜杠而不是斜杠,还需要驱动器号)。
有没有办法编写跨平台的CMakeLists.txt呢?
GET_FILENAME_COMPONENT(X "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
可以解决整个路径,而不需要编写任何绝对路径。PATH
环境变量中。这样,您就不需要自己搜索它们(使用绝对路径)或FIND_PROGRAM()
获取工具的绝对路径,而不必猜测。您可以在其中注册表条目和路径中添加提示,cmake 将在其中搜索工具或IF(WIN32)
或 IF(UNIX)
检测平台。