首页 > 其他分享 >初见 cmake

初见 cmake

时间:2023-04-01 18:14:21浏览次数:40  
标签:cmake 系统 Tree 生成 初见 build 构建

初见 cmake

cmake 是自动生成构建系统的一个工具。cmake 本身不是构建系统,它是一个生成构建系统的工具。或者说 cmake 不是一个构建工具,是一个能根据平台生成对应平台构建系统配置的构建工具。

Cmake 构建系统

Unix 平台的最常见的 C/C++ 构建工具 make,根据 Makefile 编译项目。而 cmake 就是写更少的配置,为 C/C++ 项目自动生成 Makefile。

要用 cmake 生成构建系统,必须指定 Source Tree, Build Tree, Generator。

  • Source Tree 是项目源代码文件的顶层目录,这个目录包含 CMakeLists.txt。
  • Build Tree 是构建系统的根目录,包含构建系统的文件和编译链接输出的程序。
  • Generator 是选择生成哪种构建系统。

生成项目的构建系统

cmake 必须指定 Source Tree或者已经存在的 build tree 路径。

cmake [<options>] <path-to-source>
cmake [<options>] <path-to-existing-build>
cmake [<options>] -S <path-to-source> -B <path-to-build>

-B 选项指定 Build Tree, -S 选项指定 Source Tree。

构建 artifacts

生成构建系统后,我们就可以使用生成的原生构建工具来构建项目了。在 build 目录下执行 make 构建项目。

# build project
cmake --build build/

标签:cmake,系统,Tree,生成,初见,build,构建
From: https://www.cnblogs.com/fnmain/p/17278920.html

相关文章

  • cannot configure a CMake target with CLion (Nothing to run on)?
    ERROR:打开之前的stm32项目Clion无法识别CMakeLists.txt,编译按钮变成灰色,点击run按钮会产生cannotbuildxxx.elf 或者Nothingtorunon,在run配置target和executable......
  • cmake编译报错 undefined reference to `xxx'
    错误信息:F:/github/Demos/br_cmake_proj/Demos/CmakeProject2/main.cpp:11:undefinedreferenceto`Module1A::Module1A()'代码目录结构相关代码片段错误根因:模块......
  • what to write in cmakelists.txt to force build 64 bit exe
    Toforcea64-bitbuildinCMake,youcanaddthefollowinglinestoyourCMakeLists.txtfile:set(CMAKE_GENERATOR_PLATFORMx64)set(CMAKE_EXE_LINKER_FLAGS"${......
  • CMake常用变量和命令
    预定义变量PROJECT_NAME:通过project()指定的项目名称PROJECT_SOURCE_DIR:工程的根目录PROJECT_BINARY_DIR:执行cmake命令的目录CMAKE_CURRENT_SOURCE_DIR:当前C......
  • CMake编写规则
    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。Cmake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或Windows......
  • Centos7系统编译安装cmake-3.7.2
    简介1、移除原来的cmake版本yumremovecmake-y2、下载cmake-3.7.2.tar.gz安装包并解压wgethttps://cmake.org/files/v31、移除老版本cmake版本并安装依赖包 yumremove......
  • qt6CMake构建文件解释
    cmake_minimum_required(VERSION3.5)#用于构建CMake项目CMake最低版本project(01friststudyVERSION0.1LANGUAGESCXX)#通过project命令配置项目信息,就是版本简述......
  • CMake学习
    cmake_minimum_required(VERSION3.16)project(cmake_test)set(CMAKE_CXX_STANDARD17)#头文件搜索路径include_directories(${PROJECT_SOURCE_DIR}/includes/facer......
  • CMake基本使用
    1、cmakecmake是用于构建、测试和软件打包的跨平台工具2、优势避免硬编码路径可在多台计算机上构建一个包可做持续集成支持不同操作系统支持多个编译器可使用IDE......
  • 02、CMakeLists.txt基本写法
    cmake_minimum_required(VERSION3.10)#设置c++标准#set(CMAKE_CXX_STANDARD11)#设置输出文件存放目录set(CMAKE_RUNTIME_OUTPUT_DIRECTORY${CMAKE_BINARY_DIR}/......