CMake入门
关于CMake
CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。
CMake Wiki
CMake Wiki
安装CMake
cmake包含在ubunu源中,直接apt安装即可
sudo apt install cmake
使用CMake
网上下载的许多项目都需要CMake来编译,进入项目文件夹
mkdir build
cd build
cmake ..
make
至此,已能运行,如果需要安装进系统中,则可以执行
sudo make install
使用CMake来构建项目
使用CMake的目录结构可以如下,每个目录下均需要一个CMakeLists.txt文件:
---project
------lib
---------a.c
---------b.c
---------CMakeLists.txt
------include
---------a.h
---------b.h
---------CMakeLists.txt
---main.c
---CMakeLists.txt
其中最上层CMakeLists.txt文件内容如下:
#项目名称
project(main)
#需要的CMake最低版本
cmake_minium_required(VERSION 2.6)
#将目录下的所有文件名赋值给DIR_SRC变量
aux_source_directories(. DIR_SRC)
#添加include文件夹,存放头文件
include_directories(include)
#生成可执行文件
add_executable(main ${DIR_SRC})
#添加子目录
add_subdirectory(lib)
#将生成文件与动态库链接
target_link_libraries(main test)
/lib/CMakeLists.txt
#赋值
aux_source_directories(. DIR_TEST_DIR)
#生成动态库,也可以生成静态库,暂时没用到,用到再研究
add_library(test ${DIR_TEST_DIR})
/include/CMakeLists.txt
文件可以为空,有公共库可以用install {file name}
来添加进系统。编译运行
如果程序没有问题,通过上一步的编译即可在
build
文件夹下生成可执行文件main
。
评论
发表评论