21、linux笔记--CMake

版权声明:本文为博主原创文章,如要转载,请注明地址,谢谢^...^ https://blog.csdn.net/qq_38880380/article/details/83578416

简介

CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. The suite of CMake tools were created by Kitware in response to the need for a powerful, cross-platform build environment for open-source projects such as ITK and VTK.

CMake is part of Kitware’s collection of commercially supported open-source platforms for software development.

特点

  1. 在每个源码目录下都有一个 CMakeLists.txt.
  2. CMake 语句不区分大小写。一句一行,无行结束符号,注释用#
  3. CMake 实际也是一种编程语言。CMake 根据 CMakeLists.txt 自动生成 Makefile.
  4. CMake 比 Autotools 更简单明了

语法

1、变量使用${}方式取值,但是在 IF 语句中是直接使用变量名取值

MESSAGE(STATUS “This is bin dir” $(PROJECT_BINARY_DIR))
MESSAGE(STATUS “This is bin dir $(PROJECT_BINARY_DIR)”)
上面两句等效。

2、指令(参数 1 参数 2 …),参数之间用空格或分号隔开

SET( SRC_LIST main.cpp hello.cpp)
SET(SRC_LIST “main.cpp” “hello.cpp”)
SET(SRC_LIST “main.cpp”;“hello.cpp”)

3、内部构建和外部构建:在哪个目录下执行 cmake 命令,则在哪个目录构建

In-source:编译过程文件和源码文件在同一目录下面(在工程目录下 cmake)
Out-of-sourc:将编译目录和源码目录分割开(在非工程目录下 cmake)。

4、常用变量及指令

(1)CMake变量

序号 语句 注释
1 PROJECT_BINARY_DIR 、PROJECT_SOURCE_DIR、CMAKE_BINARY_DIR 、CMAKE_SOURCE_DIR 工程目标文件目录、工程源文件目录
2 CMAKE_CURRENT_BINARY_DIR、CMAKE_CURRENT_SOURCE_DIR 指当前处理的 CMakeLists.txt 所在的路径
序号 语句 注释
1 PROJECT_BINARY_DIR 、PROJECT_SOURCE_DIR、CMAKE_BINARY_DIR 、CMAKE_SOURCE_DIR 工程目标文件目录、工程源文件目录
2 CMAKE_CURRENT_BINARY_DIR、CMAKE_CURRENT_SOURCE_DIR 指当前处理的 CMakeLists.txt 所在的路径

猜你喜欢

转载自blog.csdn.net/qq_38880380/article/details/83578416