cmake常用的预定义变量不多,根据经验掌握如下几个就基本上够用了:

PROJECT_NAME : 通过 project() 指定项目名称
PROJECT_SOURCE_DIR : 工程的根目录
PROJECT_BINARY_DIR : 执行 cmake 命令的目录
CMAKE_CURRENT_SOURCE_DIR : 当前 CMakeList.txt 文件所在的目录
CMAKE_CURRENT_BINARY_DIR : 编译目录,可使用 add subdirectory 来修改
EXECUTABLE_OUTPUT_PATH : 二进制可执行文件输出位置
LIBRARY_OUTPUT_PATH : 库文件输出位置
BUILD_SHARED_LIBS : 默认的库编译方式 ( shared 或 static ) ,默认为 static
CMAKE_C_FLAGS : 设置 C 编译选项
CMAKE_CXX_FLAGS : 设置 C++ 编译选项
CMAKE_CXX_FLAGS_DEBUG : 设置编译类型 Debug 时的编译选项
CMAKE_CXX_FLAGS_RELEASE : 设置编译类型 Release 时的编译选项
CMAKE_GENERATOR : 编译器名称
CMAKE_COMMAND : CMake 可执行文件本身的全路径
CMAKE_BUILD_TYPE : 工程编译生成的版本, Debug / Release

cmake学习笔记(2)--CMake常用的预定义变量相关推荐

  1. CMake 常用的预定义变量

    CMake 常用的预定义变量 PROJECT_NAME : 通过 project() 指定项目名称 PROJECT_SOURCE_DIR : 工程的根目录 PROJECT_BINARY_DIR : 执 ...

  2. cmake 学习笔记(三) (转)

    接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用. 学习一下cmake的 finder. finder是神马东西? 当编译一个需要使用第三方库的软件时,我 ...

  3. CMake 学习笔记 02 - 更复杂的项目

    CMake 学习笔记 02 - 更复杂的项目 源代码见 https://github.com/fengyc/cmake-tutorial 源代码目录组织 一般的项目,会划分为多个子目录,每个子目录中包 ...

  4. cmake学习笔记(七)编写自己的xxxConfig.cmake

    cmake学习笔记(七)编写自己的xxxConfig.cmake 1. onnxruntimeConfig.cmake 2. 进阶版onnxruntimeConfig.cmake 1. onnxrun ...

  5. cmake学习笔记(五)

    cmake学习笔记(五) 添加系统检测 检测代码环境中是否存在某些库文件,在MathFunctions/CMakeLisits.txt添加如下代码: include(CheckSymbolExists ...

  6. CMake学习笔记(一)——CMake官网教程

    CMake学习笔记(一)--CMake官网教程 前言: 经历了一星期痛苦的交叉编译,笔者深刻认知到Linux下make的重要性.所以准备放缓两三天自己的工作进度,并学习一下CMake与Makefile ...

  7. amazeui学习笔记--css(常用组件4)--关闭按钮Close

    amazeui学习笔记--css(常用组件4)--关闭按钮Close 一.总结 1.关闭按钮基本用法:关闭按钮样式,可以结合其他不同组件使用.对 <a> 或者 <button> ...

  8. 【学习笔记】一些常用的数学公式

    [学习笔记]一些常用的数学公式 手动博客搬家: 本文发表于20181224 11:28:00, 原地址https://blog.csdn.net/suncongbo/article/details/8 ...

  9. amazeui学习笔记--css(常用组件1)--小徽章Badge

    amazeui学习笔记--css(常用组件1)--小徽章Badge 一.总结 1.am-badge:添加am-badge来声明小徽章对象 <span class="am-badge a ...

最新文章

  1. Java-Web HTTP协议
  2. 【深度总结】聊聊为什么技术要先广后精,对技术新人的几点建议
  3. LinkedBlockingQueue使用
  4. 夯实基础——P2084 进制转换
  5. api代理提取_了解提取API
  6. GMIC来了 HTC VIVE细化VR梦
  7. Cocoa编程开发者手册
  8. 帝国理工:如何用 AI 解决 80% 专科医生担忧的心律装置移植手术难题
  9. jsp中 自定义 tag的几种方式
  10. mysql表文件创建_php文件创建mysql的表
  11. 【docker】使用云服务器运行docker时无法访问宿主机的映射端口
  12. python实现客户端之间的通信_基于Python的服务端多线程与多客户端的通信过程
  13. Azure database
  14. LeetCode刷题——392. 判断子序列
  15. 面试题:+=(python中列表+=操作)
  16. ASP.NET人力资源管理系统源码大型HR源码
  17. java读取配置文件方法_java 三种读取配置文件的方式
  18. word 在试图打开时遇到错误 以及word文档的修复
  19. 图像标注工具python+opencv
  20. Qt主线程和工作线程更新界面问题

热门文章

  1. [设计模式] 17 中介者模式 Mediator Pattern
  2. 你网购遭遇钓鱼了吗?瑞星安全随身WiFi率先帮你拦截
  3. 程序员的进阶课-架构师之路(17)-堆
  4. 【git系列】切换分支相关命令
  5. Java实现二叉树的前中后序遍历(Leetcode)
  6. 山东理工oj答案java_众数问题(山东理工OJ)
  7. Hadoop1和Hadoop2的区别是什么?
  8. Container(容器)与 Injector(注入)
  9. 写代码也有“套路”-谈谈设计模式
  10. Mysql 远程连接的问题 2003 - Can't connect to MySQL server on '39.106.187.107' (60 Operation timed out)...