简介:
CMake 是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个函数库。
CMake 通过使用简单的配置文件 CMakeLists.txt,自动生成不同平台的构建文件(如 Makefile、Ninja 构建文件、Visual Studio 工程文件等),简化了项目的编译和构建过程。
CMake 本身不是构建工具,而是生成构建系统的工具,它生成的构建系统可以使用不同的编译器和工具链。
cmake安装
CMake 安装包下载地址:https://cmake.org/download/。
qt使用中可以使用qt自带的cmake 一般在..\Qt\Tools\CMake_64\bin下

点开后是这样的:

设置源代码目录和构建目录:
源代码目录(Source Code Directory):指向包含 CMakeLists.txt 文件的目录。
构建目录(Build Directory): 指向用于存放生成的构建文件的目录。建议使用独立的目录以保持源代码的整洁。
配置和生成:
点击 "Configure" 按钮,选择编译器和构建选项,CMake 会检查依赖项并生成配置。
点击 "Generate" 按钮,CMake 会生成适合当前平台的构建文件。
cmake语法:
CMakeLists.txt 是 CMake 的配置文件,用于定义项目的构建规则、依赖关系、编译选项等。
每个 CMake 项目通常都有一个或多个 CMakeLists.txt 文件。
CMakeLists.txt 文件使用一系列的 CMake 指令来描述构建过程。常见的指令包括:
1、指定 CMake 的最低版本要求:
cmake_minimum_required(VERSION <version>)
ps: cmake_minimum_required(VERSION 3.16) #cmake最低版本要求为3.16
2、定义项目的名称和使用的编程语言:
project(<project_name> [<language>...])
ps:project(PCB LANGUAGES CXX) #项目名称PCB 语言c++
3、指定要生成的可执行文件和其源文件:
add_executable(<target> <source_files>...)
ps:add_executable(PCB ${PROJECT_SOURCES})
4、链接目标文件与其他库:
target_link_libraries(<target> <libraries>...)
ps:target_link_libraries(PCB PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
${OpenCV_LIBS}
ncnn
)#链接依赖是私有的(`PRIVATE`) 链接 Qt Widgets ,opencv,ncnn模块
5、添加头文件搜索路径:
include_directories(<dirs>...)
ps:include_directories(${OpenCV_INCLUDE_DIRS})
6、设置变量的值:
set(<variable> <value>...)
7.查找库和包
find_package(Boost REQUIRED)
ps:find_package(OpenCV REQUIRED PATHS /path/to/opencv)#REQUIRED关键字在找不到包时生成错误
cmakes使用第三方库:
cmake_minimum_required(VERSION 3.10)
project(MyProject CXX)
查找 Boost 库
find_package(Boost REQUIRED)
添加源文件
add_executable(MyExecutable main.cpp)
链接 Boost 库
target_link_libraries(MyExecutable Boost::Boost)
7466

被折叠的 条评论
为什么被折叠?



