cmake一些常用指令

server/2024/12/2 15:39:56/

cmake常用的一些命令

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

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}")


http://www.ppmy.cn/server/146757.html

相关文章

角谷猜想ᅟᅠ

角谷猜想 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,…

Z2400046 基于JAVA+SSM+MYSQL的高校运动会管理系统的设计与实现 源码 配置 文档

高校运动会管理系统的设计与实现 项目概述技术栈功能模块管理员账号密码运行环境总结 5.源码获取 项目概述 项目名称:高校运动会信息管理系统 项目简介: 本项目旨在设计并实现一个基于B/S架构和SSM(SpringSpring MVCMyBatis)框架…

docker中redis查看key、删除key

查看docker启动的进程 docker ps这个命令会列出所有正在运行的容器,包括容器的 ID、镜像名称、创建时间、状态、端口映射和名称 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1a2b3c4d5e6…

网络安全法

网络安全法发展历程 2014.2 中央网络安全和信息化领导小组成立,标志着我国把网络安全提升到了国家安全的高度并开始酝酿网络安全法编写工作 2015.6 十二届全国人大常委会审议了《网络安全法(草案)》 2016.7 二次审议稿正式在中国人大网公布&…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-40

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

解锁软件构建的艺术:六种架构模式的解析

一、概述 软件架构是构建软件系统的核心,它规定了系统的组织结构、组件行为以及组件间的交互方式。正确选择架构对系统的性能、可维护性和可扩展性至关重要。 二、架构类型详解与技术选型 1.分层架构(Layered Architecture) 场景示例&#…

React进阶面试题目(三)

如何在 React 中实现滚动动画? 在 React 中实现滚动动画可以通过多种方式实现,以下是一个基本的实现步骤: 构建组件:首先构建需要展示滚动动画的组件,例如一个 About 组件,它包含一些文本或元素。监听滚动…

ESLint v9.0.0 新纪元:探索 eslint.config.js 的奥秘 (4)

从 v9.0.0 开始,官方推荐的配置文件格式是 eslint.config.js,并且支持 ESM 模块化风格,可以通过 export default 来导出配置内容。 // eslint.config.js export default [{rules: {semi: "error","prefer-const": "…