美文网首页
cmake 如何判断不同操作系统平台的例子

cmake 如何判断不同操作系统平台的例子

作者: chou_o_ning | 来源:发表于2023-08-22 15:24 被阅读0次

    cmake 如何判断不同操作系统平台主要注意两个方面:
    1、区分操作系统上下文
    2、linux/macos 使用路径 /; windows 文件路径需要使用 \\ ,第一个 \ 是转义字符,第二个 \ 是 windows的路径

    IF ((CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin") OR (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux"))
        execute_process(
            COMMAND cp dir_a/a.c dir_b/b.c
        )
    ELSEIF (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
        execute_process(
            COMMAND cmd.exe /C copy /y dir_a\\a.c dai_b\\b.c
        )
    ENDIF ()
    

    另外 cmake 还有一个函数 file(TO_NATIVE_PATH <path> <out-var>),下面是一个例子:
    其中 ${PROJECT_DIR} 在不同操作系统环境下是不一样的(linux/macos 使用 / 而 windows 使用 \)

    file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} PROJECT_DIR)
    
    IF ((CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin") OR (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux"))
        execute_process(
            COMMAND cp ${PROJECT_DIR}/a.c ${PROJECT_DIR}/b.c
        )
    ELSEIF (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
        execute_process(
            COMMAND cmd.exe /C copy /y ${PROJECT_DIR}\\a.c ${PROJECT_DIR}\\b.c
        )
    ENDIF ()
    

    相关文章

      网友评论

          本文标题:cmake 如何判断不同操作系统平台的例子

          本文链接:https://www.haomeiwen.com/subject/dbdumdtx.html