Cmake
很是好的一个工具,可跨平台使用,是进行项目构建的一把好手,对于一个工具而言,仍是要以使用目的为导向的,掌握最实用,应用范围最广的功能便可。git
做为跨平台应用,谈到安装的话,就须要考虑Linux
与windows
了,对于Linux
而言,这已经不是什么问题了,如今不少开发版本都是自带CMake
了,但可能版本不是最新的,只须要根据你的要求选择下是否须要进行升级便可。
不少库在windows
的安装与配置环节是至关困难的,可是Cmake
仍是比较人性化的,可能前期已经考虑到这个问题了,所在,你只须要在github
找到它,下载Release
下对应的版本便可,安装即用,没有配置烦恼。github
本人学习Cmake主要实现的目标为:windows
编译某一个*.cpp
, 文件结构以下:工具
T1/ | -- CMakeLists.txt | -- build / | -- main.cpp
CMakeLists.txt的文件为:学习
PROJECT (TEST) cmake_minimum_required(VERSION 3.12) #camke版本号 AUX_SOURCE_DIRECTORY(. SRC_LIST) #将./下的全部*.cpp加入到SRC_LIST中 ADD_EXECUTABLE(hello ${SRC_LIST})
编译多个*.cpp
,文件结构以下:ui
T2 | -- CMakeList.txt | -- main.cpp | -- build | -- src -- CMakeList.txt -- test.h -- test.cpp
CMakeLists.txt文件为:code
PROJECT(main) CMAKE_MINIMUM_REQUIRED(VERSION 3.12) ADD_SUBDIRECTORY(src) AUX_SOURCE_DIRECTORY(. DIR_SRCS) ADD_EXECUTABLE(main ${DIR_SRCS}) TARGET_LINK_LIBRARIES(main TEST)
第二个CMakeLists.txt文件为:开发
AUX_SOURCE_DIRECTORY(. DIR_TEST_SRC) #generate *.so ADD_LIBRARY(TEST SHARED ${DIR_TEST_SRC})
调用*.so
, *.h
,文件结构:it
T3 | -- include -- test.h | -- libs -- libTEST.so | -- CMakeLists.txt | -- main.cpp
CMakeLists.txt的文件为:编译
PROJECT(main) CMAKE_MINIMUM_REQUIRED(VERSION 3.12) INCLUDE_DIRECTORIES(./include) AUX_SOURCE_DIRECTORY(. DIR_SRCS) ADD_EXECUTABLE(main ${DIR_SRCS}) #绝对路径添加 *.so TARGET_LINK_LIBRARIES(main /home/utech/myso/t3/libs/libTEST.so)
上述代码都是最简单最基本的语句,若是想要执行某些文件的输出位置等操做,还须要继续深刻学习下。
由于windows
下是有gui
的,能够经过界面操做,相对来讲比较简答,因此在这里介绍下Linux
下的使用:
首先,在根目录下创建并进入build
的文件夹:
mkdir build cd build
而后执行Cmake
命令,记得后面要加路径,即CMakeLists.txt
所在的地方,例如 ../
就说明是在上层目录中:
cmake ../
最后在根目录下执行make
命令便可:
make -j8
执行完上述几条代码,就会生成可执行文件了。