project

为整个工程设置名称、版本和启用语言

project(<PROJECT-NAME> [LANGUAGES] [<language-name>...])
project(<PROJECT-NAME>
    [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
    [LANGUAGES <language-name>...])

例:project(MyProject)

工程名称被保存在变量PROJECT_NAME中

参考链接:project — CMake 3.3.2 Documentation

message

向用户显示一条消息

message([<mode>] "message to display" ...)

<mode>决定了消息类型,有如下可选的关键字:

STATUS、WARNING、AUTHOR_WARNING、SEND_ERROR、FATAL_ERROR、DEPRECATION

例:message("Project Name: ${PROJECT_NAME}")

显示工程名称

参考链接:message — CMake 3.0.2 Documentation

set

以给定值设置一个正常、缓存或环境变量

set(<variable> <value>... [PARENT_SCOPE])

例:set(SRC_LIST main.cpp)

名为SRC_LIST的变量值为main.cpp

参考链接:set — CMake 3.4.3 Documentation

add_executable

使用指定的源文件,添加一个可执行文件到工程

add_executable(<name> [WIN32] [MACOSX_BUNDLE]
            [EXCLUDE_FROM_ALL]
            source1 [source2 ...])

例:add_executable(executable main.cpp source.cpp)

可执行文件名为executable,源文件为main.cpp、source.cpp

参考链接:add_executable — CMake 3.3.2 Documentation

add_subdirectory

将一个子目录添加到构建

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])

例:add_subdirectory(src bin)

src是添加的子目录,bin是二进制目录

参考链接:add_subdirectory — CMake 3.0.2 Documentation

if

根据条件执行一组命令

if(expression)
# then section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
elseif(expression2)
# elseif section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
else(expression)
# else section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
endif(expression)

参考链接:if — CMake 3.13.3 Documentation

最新文章

  1. ContentProvider域名替换小工具
  2. MVC实用架构设计(三)——EF-Code First(5):二级缓存
  3. 在Ubuntu上安装Mysql For Python
  4. UDP Client—Linux
  5. 破解Excel密码保护文件
  6. js获取可视区大小和页面大小的兼容性写法
  7. poj 2777
  8. iOS 新特性关键字
  9. 通过I2C总线向EEPROM中写入数据,记录开机次数
  10. 转自 x_x_的百度空间 搞ACM的你伤不起
  11. TagHelper
  12. Ubuntu 16.04安装配置Samba服务
  13. js判断一些时间范围是否有重复时间段
  14. 设计模式——策略模式(C++实现)
  15. Tomcat下wtpwebapps文件夹 和 webapps文件夹区别
  16. Educational Codeforces Round 46 C - Covered Points Count
  17. dubbo应用架构演进路线图
  18. layer 遮罩层等待
  19. NHibernate使用无状态Sessions
  20. 1.新建项目出现包名有一道红线The SDK platform-tools version ((23)) is too old to check APIs compiled with API 20

热门文章

  1. 标准C程序设计七---51
  2. MySQL创建存储过程/函数需要的权限
  3. Codeforces Gym101502 K.Malek and Summer Semester
  4. windows命令行更改IP地址
  5. 洛谷—— P3807 【模板】卢卡斯定理
  6. mc
  7. Ubuntu 16.04常用软件清单
  8. CreateJS结合Falsh工具生成Canvas动画(加密字符串的由来)
  9. Engine中如何进行七参数投影转换?
  10. 【spring cloud】spring cloud子module的pom文件添加依赖,出现unknown问题【maven】