IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CMakeLists.txt常用命令速查 -> 正文阅读

[系统运维]CMakeLists.txt常用命令速查

?

常用变量

变量名变量说明
PROJECT_NAME返回通过PROJECT指令定义的项目名称
PROJECT_SOURCE_DIRCMake源码地址,即cmake命令后指定的地址
PROJECT_BINARY_DIR运行cmake命令的目录,通常是PROJECT_SOURCE_DIR下的build目录
CMAKE_MODULE_PATH定义自己的cmake模块所在的路径
CMAKE_CURRENT_SOURCE_DIR当前处理的CMakeLists.txt所在的路径
CMAKE_CURRENT_LIST_DIR当前文件夹路径
CMAKE_CURRENT_LIST_FILE输出调用这个变量的CMakeLists.txt的完整路径
CMAKE_CURRENT_LIST_LINE输出这个变量所在的行
CMAKE_RUNTIME_OUTPUT_DIRECTORY生成可执行文件路径
CMAKE_LIBRARY_OUTPUT_DIRECTORY生成库的文件夹路径
CMAKE_BUILD_TYPE指定基于make的产生器的构建类型(Release,Debug)
CMAKE_C_FLAGS*.C文件编译选项,如 -std=c99 -O3 -march=native
CMAKE_CXX_FLAGS*.CPP文件编译选项,如 -std=c++11 -O3 -march=native
CMAKE_CURRENT_BINARY_DIRtarget编译目录
CMAKE_INCLUDE_PATH环境变量,非cmake变量
CMAKE_LIBRARY_PATH环境变量
CMAKE_STATIC_LIBRARY_PREFIX静态库前缀, Linux下默认为lib
CMAKE_STATIC_LIBRARY_SUFFIX静态库后缀,Linux下默认为.a
CMAKE_SHARED_LIBRARY_PREFIX动态库前缀,Linux下默认为lib
CMAKE_SHARED_LIBRARY_SUFFIX动态库后缀,Linux下默认为.so
BUILD_SHARED_LIBS如果为ON,则add_library默认创建共享库
CMAKE_INSTALL_PREFIX配置安装路径,默认为/usr/local
CMAKE_ABSOLUTE_DESTINATION_FILES安装文件列表时使用ABSOLUTE DESTINATION 路径
CMAKE_AUTOMOC_RELAXED_MODE在严格和宽松的automoc模式间切换
CMAKE_BACKWARDS_COMPATIBILITY构建工程所需要的CMake版本
CMAKE_COLOR_MAKEFILE开启时,使用Makefile产生器会产生彩色输出
CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS用来控制IF ELSE语句的书写方式

常用命令

# cmake 最低版本需求
cmake_minimum_required(VERSION 3.10)

# project名称,会自动创建两个变量,PROJECT_SOURCE_DIR和PROJECT_NAME
project(xxx)

# 给文件名/路径名或其他字符串起别名,用${变量}获取变量内容
set(变量 文件名/路径/...)

# 添加编译选项
add_definitions(编译选项)

# 打印消息
message(消息)

# 规定.h头文件路径
include_directories(路径)

# 规定.so/.a库文件路径
link_directories(路径)

# 获取路径下所有的cpp/c/cc文件,并赋值给变量中
aux_source_directory(路径 变量)

# 编译子文件夹的CMakeLists.txt
add_subdirectory(子文件夹名称)

# 将.cpp/.c/.cc文件生成.a静态库
# 注意,库文件名称通常为libxxx.so,在这里只要写xxx即可
add_library(库文件名称 STATIC 文件)

# 将.cpp/.c/.cc文件生成可执行文件
add_executable(可执行文件名称 文件)

# 对add_library或add_executable生成的文件进行链接操作
# 注意,库文件名称通常为libxxx.so,在这里只要写xxx即可
target_link_libraries(库文件名称/可执行文件名称 链接的库文件名称)

参考:

CMake--变量 - narjaja - 博客园

CMake--常用指令 - narjaja - 博客园

【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_Yngz_Miao的博客-CSDN博客_cmakelists.txt 教程

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:11:34  更:2021-10-04 13:13:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:23:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码