cmake一些常用指令

cmake常用的一些命令

推荐网址:CMake 保姆级教程(上) | 爱编程的大丙

bash 复制代码
cmake_minimum_required(VERSION 3.0)
project(CALC)
# 增加-std=c++11
set(CMAKE_CXX_STANDARD 11)
# 指定输出的路径
set(HOME ${CMAKE_CURRENT_SOURCE_DIR})
# 可执行文件输出路径
set(EXECUTABLE_OUTPUT_PATH ${HOME}/bin)
# 设置动态库/静态库生成路径
set(LIBRARY_OUTPUT_PATH ${HOME}/lib)

# 定义编译文件变量
# set(SRC add.c div.c main.c mult.c sub.c)
# 查找某个路径下的所有源文件
# CMAKE_CURRENT_SOURCE_DIR 指CMakeLists.txt 的路径
# aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC)
# file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c)
# 包含头文件
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# 生成可执行文件
# add_executable(app ${SRC})
# 生成静态库
# add_library(calc STATIC ${SRC})
# 生成动态库
# add_library(calc SHARED ${SRC})

# 包含静态库或动态库路径
link_directories(${PROJECT_SOURCE_DIR}/lib)
# 链接静态库
# link_libraries(calc)
# aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC)
# 生成可执行文件
# add_executable(app ${SRC})
# 指定要链接的动态库
# target_link_libraries(app 
#                       PUBLIC pthread 
#                       PUBLIC calc)
# 输出一般日志信息
message(STATUS "PROJECT_SOURCE_DIR path: ${PROJECT_SOURCE_DIR}")
message(STATUS "CMAKE_CURRENT_SOURCE_DIR path: ${CMAKE_CURRENT_SOURCE_DIR}")
set(TEMP "hello,world")
file(GLOB SRC_1 ${PROJECT_SOURCE_DIR}/*.c)
file(GLOB SRC_2 ${PROJECT_SOURCE_DIR}/src/*.c)
# set 追加(拼接)
set(SRC_1 ${SRC_1} ${SRC_2} ${TEMP})
message(STATUS "set拼接: ${SRC_1}")
# list 追加(拼接)
list(APPEND SRC_1 ${SRC_1} ${SRC_2} ${TEMP})
message(STATUS "list拼接: ${SRC_1}")
相关推荐
薛定谔的悦3 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
Chester_19995 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
新时代牛马6 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
Julien20046 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey7 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
会周易的程序员7 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
小灰灰搞电子7 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
QT界面美化性能优化7 小时前
QT+AI:使用AI技术为QT应用程序赋能
c++·人工智能·qt·opencv·qt教程·qt6.3
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
MayZork9 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows