美文网首页
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 ()

相关文章

  • centos7 cmake3安装

    以下介绍在 CentOS 操作系统中安装 Cmake 3.12.4 的方法,CMake 是跨平台的安装编译工具,我...

  • CMake基本配置与注意事项

    CMake CMake是一个跨平台的构建工具,它是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编...

  • CMake入门--CMake执行C++程序

    CMake目标:在不同平台构建C/C++代码 cmake default is:g++ main.cpp -o o...

  • Cmake 入门

    Cmake 入门 前言 CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应...

  • C语言宏的使用

    判断C++调用 判断C版本号 处理重复引入头文件 判断是不是DEBUG模式 CMAKE设置宏 跨平台打包动态库

  • 【NDK系列14】Cmake详解 CMakeLists.txt详

    1. CMake简介 CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的...

  • CMake 简介和 CMake 模板

    转载自我的博客:CMake 简介和 CMake 模板。 如果你用 Linux 操作系统,使用 cmake 会简单很...

  • 教程

    通过例子学习CMake[https://sfumecjf.github.io/cmake-examples-Chi...

  • CMake学习

    目录 什么是CMake? linux平台安装CMake CMake的helloworld 1. 什么是CMake?...

  • cmake例子:subproject

    example:

网友评论

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

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