一、提供信息的变量
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