Cmake基础

本文介绍CMakeLists.txt的使用,包括指定基本信息、头文件搜索路径、源码文件、依赖库和生成二进制文件。对比link_libraries与target_link_libraries,解释find_package的功能,并探讨多级CMakeLists.txt文件、赋值语法以及CMake的基本语法和常用常量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CMakeLists.txt

我们知道,我们写一段源代码,想要把它编译成二进制文件,就需要告诉编译器源码文件路径、依赖库所在路径;采用的编译器版本;release还是debug模式编译;是否支持c++11;生成的可执行文件/库文件路径和名称、版本号;指定安装路径等等。CMakeLists.txt就是用来干这件事的。

指定基本信息
#1.版本要求
cmake_minimum_required(VERSION 3.0.2)

#2.项目名
project(directory_test VERSION 1.0)

#3.编译方式
# CMake中有一个变量CMAKE_BUILD_TYPE,可以取值枚举入下:
# Debug|Release|RelWithDebInfo|MinSizeRel
set(CMAKE_BUILD_TYPE "Debug")

#4.指定编译器
set(CMAKE_C_COMPILER "/usr/local/gcc")
set(CMAKE_CXX_COMPILER "/usr/local/g++")

#5.添加对c++11的支持
add_compile_options(-std=c++11)
#OR set(CMAKE_CXX_FLAGS "-std=c++11")

#6.指定生成的可执行文件路径
set (EXECUTABLE_OUTPUT_PATH  ${PROJECT_SOURCE_DIR}/bin)

#7.指定生成的库路径
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#8.指定安装路径
install(TARGETS MathFunctions DESTINATION path/lib)#头文件
install(FILES MathFunctions.h DESTINATION path/include)#库
指定头文件搜索路径
#指定源码文件的头文件和库文件的头文件的搜索路径,相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量
include_directories(./include/srcHeadPath)
指定源码文件
# 把所有.cpp源码文件赋值给SOURCES
set(SOURCES  src/a.cpp  src/b.cpp)
# 把src目录下的所有.cpp文件赋值给SOURCES
aux_source_dir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值