cmake从入门到放弃
前言:
在一个月黑风高的晚上,写了一篇makefile的文章被网友揍了一堆,说这种方式太老了,但是我觉得技术并没有新和旧之分,还是应网友要求写一篇cmake的文章。什么是cmake
CMake是一个跨平台的安装工具,可以用简单的语句来描述所有平台的安装(编译过程)。产生对应的makefile文件。懂cmake,只需配置对应的头文件路径,源文件等参数既可以快速生成对应的Makefile文件,相比Makefile来说语法规则是比较容易的,并且cmake是跨平台的,应用是比较广泛的。linux平台下使用CMake生成Makefile并编译的流程如下:
1、编写CMake的配置文件CMakeList.txt
2、创建build目录用来存放cmake生成的临时文件。
3、cd build && cmake ../ 编译工程
4、make install 将生成的可执行文件安装到对应的目录。这次实验工程代码结构如下:
CMakeLists.txt内容如下:cmake_minimum_required(VERSION 2.8) project(Test) add_executable(main.bin main.c) install(TARGETS main.bin RUNTIME DESTINATION ${CMAKE_SOURCE_DIR} )
逐行分析:
cmake_minimum_required :设定cmake的最低版本要求
project(Test):将当前工程名字设定为Test,不是可执行文件名
add_executable(main.bin main.c) :设定生成可执行文件名为main.bin 以及编译需要的源文件main.c
install:设定编译生成的main.bin安装目录,安装路径为CMakeLists.txt所在目录main.c内容如下:#include int main() { printf("hello cmake...r "); return 0; }编译工程
结尾语