当前位置: 首页 > news >正文

CMake中常见的预定义变量

文章目录

  • CMake常见的预定义变量
  • CMake variables官方文档

CMake常见的预定义变量

在 CMake 中,有一些常见的预定义变量,它们提供了有关项目、目录结构和构建环境的信息。这些变量可用于设置路径、传递参数、以及进行其他与构建过程相关的操作。

以下是一些常见的 CMake 变量:

  1. CMAKE_SOURCE_DIR:

    • 描述:项目顶层目录的绝对路径。
    • 使用示例:${CMAKE_SOURCE_DIR}/src
  2. CMAKE_BINARY_DIR:

  • 描述:构建目录的绝对路径。
  • 使用示例:${CMAKE_BINARY_DIR}/bin

CMAKE_BINARY_DIR 是 CMake 中的一个预定义变量,表示当前项目的二进制(构建)目录的绝对路径。 这个变量用于指定构建目标文件的位置。

  1. CMAKE_CURRENT_SOURCE_DIR:

    • 描述:当前处理的 CMakeLists.txt 文件所在的目录的绝对路径。
    • 使用示例:${CMAKE_CURRENT_SOURCE_DIR}/src
  2. CMAKE_CURRENT_BINARY_DIR:

    • 描述:当前处理的 CMakeLists.txt 文件的构建目录的绝对路径。
    • 使用示例:${CMAKE_CURRENT_BINARY_DIR}/bin
  3. CMAKE_INCLUDE_CURRENT_DIR:

    • 描述:将当前源文件目录添加到 include_directories() 中。
    • 使用示例:include_directories(${CMAKE_INCLUDE_CURRENT_DIR})
  4. CMAKE_MODULE_PATH:

    • 描述:包含额外的 CMake 模块的目录。
    • 使用示例:set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
  5. CMAKE_LIBRARY_OUTPUT_DIRECTORY:

    • 描述:动态链接库的输出目录。
    • 使用示例:set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
  6. CMAKE_ARCHIVE_OUTPUT_DIRECTORY:

    • 描述:静态库的输出目录。
    • 使用示例:set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
  7. CMAKE_RUNTIME_OUTPUT_DIRECTORY:

  • 描述:可执行文件的输出目录。
  • 使用示例:set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  1. CMAKE_CXX_COMPILER_ID:
    • 描述:C++ 编译器的标识符。
    • 使用示例:if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")

CMake variables官方文档

可以在 CMake 官方文档中找到更多的信息:CMake - Variables。

http://www.lryc.cn/news/241710.html

相关文章:

  • .netcore 获取appsettings
  • 额温枪方案,MS8551,MS8601;MS1112,MS1100
  • 数字图像处理基础-用通俗语言进行超详细的总结
  • 3.3.1详解linux内核链表list_head及其接口应用
  • 发挥云计算潜力:Amazon Lightsail 与 Amazon EC2 的综述
  • 【深度学习】卷积神经网络(CNN)
  • 科普:多领域分布式协同仿真
  • openstack(2)
  • Jmeter 压测保姆级入门教程
  • springboot2.1升级到2.7 actuator丢失部分metrics端点
  • 梦开始的地方——Adobe Premiere Pro
  • Nginx同时支持Http和Https的配置详解
  • 3.2 Windows驱动开发:内核CR3切换读写内存
  • 基于springBoot+Vue的停车管理系统
  • ES开启安全认证
  • CS5511规格书|CS5511方案应用说明|DP转双路LVDS/eDP芯片方案
  • JAVA小游戏“飞翔的小鸟”
  • 1410. HTML 实体解析器 --力扣 --JAVA
  • 【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现
  • 机器学习【01】相关环境的安装
  • 微服务实战系列之签名Sign
  • 家用小型洗衣机哪款性价比高?口碑最好迷你洗衣机排行榜
  • 企业远程访问业务系统:对比MPLS专线,贝锐蒲公英为何更优优势?
  • Maven项目下详细的SSM整合流程
  • Linux 设置文件开启数量限制
  • 详解Java中的异常体系机构(throw,throws,try catch,finally)
  • 【jvm】虚拟机之堆
  • 二百零五、Flume——数据流监控工具Ganglia单机版安装以及使用Ganglia监控Flume任务的数据流(附流程截图)
  • 解决Resolving Android Dependencies问题
  • 深度学习技术前沿:探索与挑战