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