我有一个项目,我可以使用CMake在Linux和Windows上构建。唯一的问题是,CMakeLists.txt中的Unix风格路径无法在Windows上运行(它使用反斜杠而不是斜杠,也需要驱动器号)。
我有什么办法可以编写跨平台的CMakeLists.txt吗?
答案 0 :(得分:5)
您的问题会影响不同的细节:
GET_FILENAME_COMPONENT(X "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
可以在不写绝对路径的情况下解决整个路径。PATH
环境变量中。因此,您不需要自己搜索(使用绝对路径)或FIND_PROGRAM()
获取工具绝对路径而不需要猜测。您可以添加提示,其中注册表项和路径cmake将搜索该工具或IF(WIN32)
或IF(UNIX)
检测平台。希望,这有助于......