cmake的安装与基本使用

CMake是一个跨平台的、开源的构建工具。cmake是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量.目前很多开源的项目都可以通过CMake工具来轻松构建工程
cmake的官网:https://cmake.org/
1,安装cmake:

sudo apt-get install cmake

cmake的安装与基本使用
2,安装gcc和g++
sudo apt-get install gcc
sudo apt-get install g++

两个缺少任何其中一个都会导致生成Makefile失败:如下所示

cmake的安装与基本使用
3,安装成功查看cmake版本:
cmake --version

cmake的安装与基本使用

4,main.c和CMakeLists.txt的编写
注:在同一目录下编写main.c和CMakeLists.txt
main.c:

#include
int main()
{
    printf("hello world\n");
    return 0;
}

CMakeLists.txt:

PROJECT (HELLO)
SET(SRC_LIST main.c)
MESSAGE(STATUS "THIS isBINARY dir" ${HELLO_BINARY_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})

5,构建
命令:
1,cmake .

cmake的安装与基本使用
构建成功之后系统会自动生成如下文件:
cmake的安装与基本使用
2,make
cmake的安装与基本使用
这时候会生成可执行程序hello
cmake的安装与基本使用
3,./hello
cmake的安装与基本使用
4,make VERBOSE=1:可以查看make构建的详细过程
cmake的安装与基本使用
6,详细解释
对CMakeLists.txt的详细解释:
用这个指令定义工程名称,并且可以指定工程支持的语言,支持的语言列表是可以忽略的,默认情况表示支持所有语言。
PROJECT(projectname [CXX] [C] [Java])

这个指令隐式的定义了两个cmake的变量:

<projectname>_BINARY_DIR
<projectname>_SOURCE_DIR

这两个变量可以用(这样不用担心写错工程名称)。

PROJECT_BINARY_DIR
PROJECT_SOURCE_DIR

这里先了解SET指令可以用来显示的定义变量即可。这里是

SET(SRC_LIST main.c)

如果有多个源文件,也可以定义为:

SET(SRC_LIST main.c t1.c t2.c)

这个指令是向终端输出用户定义的信息,包含三种类型:

SEND_ERROR#产生错误,生成过程被跳过。
STATUS#输出前缀为--d的信息。
FATAL_ERROR#立即终止所有的cmake过程。

定义了一个为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表。

ADD_EXECUTABLE(hello ${SRC_LIST})

7,清理工程
make clean:
用来清理makefile产生的中间的文件,但是,不能使用make distclean清除cmake产生的中间件
rm -rf ***:
用来删除cmake的中间件

Original: https://blog.csdn.net/lj19990824/article/details/120184708
Author: 路漫漫其远,吾求索
Title: cmake的安装与基本使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/558646/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球