CMake学习之内部变量

简介: CMake学习之内部变量

一、提供信息的变量

project()
项目名称 ${PROJECT_NAME}对应project的name

二、改变行为的变量

BUILD_SHARED_LIBS 
1.缓存变量
add_library()
add_library(${PROJECT_NAME} xlog.cpp xlog.h)
2.ON 创建共享库(动态库) 
3.OFF静态库 
set(BUILD_SHARED_LIBS ON) #动态库
set(BUILD_SHARED_LIBS OFF) #静态库
4.默认OFF

三、描述系统的变量

message("MSVC = " ${MSVC})
message("WIN32 = " ${WIN32})
message("UNIX = " ${UNIX})
message("CMAKE_SYSTEM_NAME = " ${CMAKE_SYSTEM_NAME})

四、控制构建过程的变量

输出路径控制 
CMAKE_COLOR_MAKEFILE 是否生成makefile的颜色,默认是ON
set(CMAKE_COLOR_MAKEFILE OFF)

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关文章
|
8月前
|
存储 缓存 算法
【CMake 基础教程 】深入理解CMake变量:类型、原理及最佳实践
【CMake 基础教程 】深入理解CMake变量:类型、原理及最佳实践
225 0
|
存储 Shell 编译器
makefile 变量赋值方式
makefile 变量赋值方式
121 1
|
6月前
|
Linux
Linux环境变量及作用
Linux中的环境变量是系统配置参数,如HOME指示用户家目录,MAIL指邮件位置。`env`命令显示所有环境变量。系统有数百个变量,但了解关键的几个足够,如PATH、HOME、TERM等。环境变量由变量名和值组成,可自定义,如WORKDIR。局部变量需用`export`使其全局有效,以便其他用户使用。`su`命令用于切换用户,展示不同用户环境下变量值的差异。
Linux环境变量及作用
|
8月前
|
存储 数据可视化 编译器
learn_C_deep_1 (C程序补充知识、变量的声明和定义、声明和定义的区别)
learn_C_deep_1 (C程序补充知识、变量的声明和定义、声明和定义的区别)
makefile 变量的替换,嵌套引用,命令行变量
makefile 变量的替换,嵌套引用,命令行变量
133 1
|
8月前
|
编译器 C语言 C++
CMake基础(7)编译标志
CMake基础(7)编译标志
320 0
|
8月前
|
存储 缓存 算法
CMake 变量作用域全解析:扩展、管理与应用
CMake 变量作用域全解析:扩展、管理与应用
122 0
|
8月前
|
编译器 程序员 C语言
【GCC 参数】 深入C++编译器常用标志:C/C++ 开发者必备的编译器参数
【GCC 参数】 深入C++编译器常用标志:C/C++ 开发者必备的编译器参数
160 0
|
Shell
makefile 变量的扩展
makefile 变量的扩展
60 1
|
缓存
关于CMake中不同变量的用法与总结
关于CMake中不同变量的用法与总结
180 0