cmake使用

作者: Markz__ | 来源:发表于2022-04-28 16:39 被阅读0次

1. cmake的作用

CMake主要是解决跨平台编译的问题。
CMake的用途是能通过一系列的源码和相关的配置来生成需要的编译器平台上的项目文件。
譬如,如果一个项目需要在Windows上用VS编译,在Linux上用make编译,在OS X上用XCODE,
那么按以前的做法是在整个项目文件里看三个目录,分别放置VS的sln文件,Linux的makefile,OS X的XCODE,
然后让不同需求的人到相应的目录用自己需要的工程文件(这看起来没有什么不好似乎)。
有了CMake以后,就不需要这三个目录了,只要有一个给CMake读的文件,然后CMake的UI上会需要用户选择目标平台,
这样CMake就会生成目标平台上的工程文件。举例,如果用户选的是VS2005平台,那么CMake就会在源代码目录下生成供VS2005使用的sln文件;
如果是make,就会生成makefile等等。

2. cmake安装

2.1 linux环境

vim ~/.bashrc
alias cmake=/usr/local/xxxxx/cmake/bin/cmake
source ~/.bashrc
cmake -version

3. cmake使用CMakeList.txt

  • cmake最小版本号设置
    cmake_minimum_required(VERSION 3.10)

  • set the project name
    project(Tutorial)

  • add the executable 生成可执行文件
    add_executable(Tutorial tutorial.cpp)

  • set the project name and version
    project(Tutorial VERSION 1.0)

  • specify the C++ standard 设置使用的c++版本
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED True)

  • 设置链接时的库
    target_link_libraries(Tutorial LIBS)

  • 设置编译器头文件搜索路径
    include_directories ([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])
    以当前路径为相对路径
    include_directories(sub)

  • 添加打印
    get_property(dirs DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
    message(">>> include_dirs=${dirs}")
    运行:cmake ./

相关文章

  • cmake学习笔记6-catkin的CmakeList.txt讲

    引用cmake学习笔记-cmakelist.txt创建项目示例cmake的介绍和使用 Cmake实践推荐cmake...

  • CMake+Qt

    如何在Qt中使用CMake CMake官方文档在地址[https://cmake.org/documentatio...

  • windows 动态库dll进行linux编译过程记录

    工具及环境 编译环境:windows 子linux系统(WSL)工具:cmake cmake安装及使用 cmake...

  • cmake -G Xcode .. No CMAKE_C_CO

    使用cmake生成xcode的项目, 报错 找不到 CMAKE_C_COMPILER 和 CMAKE_CXX_CO...

  • CMake 简介和 CMake 模板

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

  • OpenCV:mac上安装和配置

    一、环境准备 使用HomeBrew安装cmake brew install cmake 获取OpenCV源代码 可...

  • CMAKE语法摘要

    可以设置的变量 使用方式cmake -DCMAKE_INSTALL_PREFIX=yourpath 或在CMAKE...

  • 编译swift

    先安装ninja和cmake可以使用homebrew brew install cmake ninja mkdir...

  • Cmake 使用

    在Ubuntu下,C++都是通过cmake来编译的。整理一下cmake的使用方法。//声明要求的cmake最低版本...

  • cmake使用

    tags: 嵌入式categories: 开发 cmake 总结 交叉编译 设置编译器CMAKE_FORCE_C_...

网友评论

    本文标题:cmake使用

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