CMake基础知识

CMake是一个跨平台编译工具,可以用简单的语句来描述所有平台的编译过程。CMake的目的就是输出各种各样可移植的标准的建构档(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。
【CMake基础知识】1. 在 linux 平台下使用CMake生成Makefile并编译的流程

  • 编写CMake配置文件CMakeLists.txt。
  • 执行命令cmake PATH或者ccmake PATH生成Makefile。其中,PATH是CMakeLists.txt所在的目录。
  • 使用make命令进行编译。
2. CMake项目的文件目录结
├── CMakeLists.txt ├── include │└── Hello.h ├── src │├── Hello.cpp │└── main.cpp └── build

3. CMake基本脚本
# 指明对cmake的最低(高)版本的要求 cmake_minimum_required(VERSION 2.6) # 创建项目 project (ProjectName)# 查找依赖包,如果找到PACK库就把头文件(应该可以这么说吧)路径和库文件路径赋值给下面两个语句中的 ${PACK_INCLUDE_DIRS}、${PACK_LIBRARIES}。 find_package(PACK REQUIRED) include_directorise(${PACK_INCLUDE_DIRS}) link_directorise(${PACK_LIBARAY_DIRS}) add_definition(${PACK_definition})# 创建源文件变量SOURCES,并在可执行程序中添加源文件 set(SOURCES src/Hello.cpp src/main.cpp) add_executable(ProjectName ${SOURCES})# 设置要包含的头文件的目录、设置要链接的库 target_include_directories(ProjectName PRIVATE ${PROJECT_SOURCE_DIR}/include) target_link_libaries(ProjectName ${PACK_LIBARIES})# 指定在安装时运行的规则 install(TARGET ProjectName RUNTIME DESTINATION bin)

4. 生成可执行文件
cd build#外部编译 cmake ..#生成Makefile文件 make#生成可执行文件 ./ProjectName#执行可执行文件

    推荐阅读