cmake使用

Ubuntu下载cmake 命令:sudo apt-get install cmake

获取cmake版本命令:cmake --version

常用的cmake宏

# cmake命令后跟随的路径

PROJECT_SOURCE_DIR

# 当前CMakeLists.txt所在的路径

CMAKE_CURRENT_SOURCE_DIR
# 可执行程序存储位置
EXECUTABLE_OUTPUT_PATH 
# 生成库的存储位置
LIBRARY_OUTPUT_PATH

1、设置当前CMakeLists.txt支持的最低版本的cmake

cmake_minimum_required(VERSION 3.15)

2、设置项目名称

project(test)

3、变量初始化(把add赋值给变量ADDLIB)

set(ADDLIB add)

4、查找文件夹中的文件

# 查找当前路径下的所有文件并赋值到SRC
# ./表示当前路径,SRC是存储文件名称的变量,其中存储以空格或冒号分割
aux_source_directory(./ SRC)  
 
# 查找当前路径下的所有后缀为“.cpp”的文件并赋值到SRC,也可以用来读取.h文件
# GLOB命令主要用于匹配规则在指定的目录内匹配到所需要的文件
# READ命令将文件中内容原封不动的读取变量中
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)

5、指定头文件路径

# HEADPATH变量中存储的是头文件路径
include_directories(${HEADPATH})

6、可执行程序生成路径

# EXECUTABLE_OUTPUT_PATH 是cmake自身的变量
set(EXECUTABLE_OUTPUT_PATH ${EXECPATH})

7、生成可执行程序

# 分别是可执行程序名称和存储文件名称的变量
add_executable(${APPNAME} ${SRC})

8、生成静态、动态库

# add_library(add SHARED ${SRC})
# add_library(add STATIC ${SRC})
生成库时需要指定:库存储路径
set(LIBRARY_OUTPUT_PATH ${LIBPATH})

9、指定链接库路径

link_directories(${LIBPATH})

10、链接静态、动态库

# 链接静态库在add_executable之前
# 链接动态库在add_executable之后
link_libraries(${ADDLIB})
# target_link_libraries可以指定可执行程序名称
target_link_libraries(app add)
链接库时需要指定:库头文件路径、库存储路径、库名称

11、指定一个宏,可以作用在源文件中

# 宏的名称是DEBUG,-D是前缀
add_definitions(-DDEBUG)

12、给当前节点添加子目录(add为子目录名称)

add_subdirectory(add)

13、打印日志消息

message("11111111")             # 重要消息
message(STATUS "2222222")       # 非重要消
message(SEND_ERROR "3333333")   # 可忽略错
message(FATAL_ERROR "444444")   # 不可忽略错误
 
 
 
 

posted on 2023-09-29 20:56  _燃灯续昼  阅读(21)  评论(0编辑  收藏  举报

导航