当前位置: 首页 > 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。

相关文章:

CMake中常见的预定义变量

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

.netcore 获取appsettings

我的开发环境是abpvnext net6.0 。 因为业务需要,从原来老项目net4.5工程里复制了一个报表导出的业务类到net6项目里面,但是他的获取appsettings的代码其实不用想都知道会报错。因为原来framwork时代获取appsettings的方法常见的是 System.Configura…...

额温枪方案,MS8551,MS8601;MS1112,MS1100

鉴于测温的传感器信号非常微弱,需要用高精度、低噪声的运算放大器和高精度、低功耗的ADC。 运算放大器可供选择:MS8551 or MS8601,具有低失调(1uV)、低噪(22nV√Hz )、封装小等优点&#xff0c…...

数字图像处理基础-用通俗语言进行超详细的总结

目录 图像感知与获取 韦伯定理 马赫带效应 图像获取 图像的采样和量化 图像内插(重采样) 图像的表示与描述 像素间的关系 exercise:4-邻域连通区域标记 本文章讲解数字图像处理的基础,大部分内容来源于课堂笔记中 图像感…...

3.3.1详解linux内核链表list_head及其接口应用

文章目录 1 list定义2 list接口2.1 list初始化方法1:定义并初始化链表方法2:先定义再初始化链表2.2 list_add2.3 list_del2.4 list_replace2.5 list_move2.6 list_splice3 list遍历3.1 list_entry3.2 list_first_entry3.3 list_last_entry3.4 list_first_entry_or_null3.5 li…...

发挥云计算潜力:Amazon Lightsail 与 Amazon EC2 的综述

文章作者:Libai 欢迎来到云计算世界,这里有无数的机会和无限的应用程序增长。 在当今的数字时代,企业可能会发现管理基础架构和扩展应用程序具有挑战性。 传统的本地解决方案需要大量的硬件、软件和维护前期投资。 要满足不断增长的需求&…...

【深度学习】卷积神经网络(CNN)

一、引子————边界检测 我们来看一个最简单的例子:“边界检测(edge detection)”,假设我们有这样的一张图片,大小88: 图片中的数字代表该位置的像素值,我们知道,像素值越大&#…...

科普:多领域分布式协同仿真

分布式协同仿真是一种在分布式计算环境中进行协同工作的仿真方法。使用该方法进行协同仿真时,仿真任务将被分发到多个计算节点上,并且这些节点可以同时工作以模拟完整的系统行为。分布式协同仿真已被广泛应用于工程、科学和军事领域,以便更好…...

openstack(2)

目录 块存储服务 安装并配置控制节点 安装并配置一个存储节点 验证操作 封装镜像 上传镜像 块存储服务 安装并配置控制节点 创建数据库 [rootcontroller ~]# mysql -u root -pshg12345 MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PR…...

Jmeter 压测保姆级入门教程

1、Jmeter本地安装 1.1、下载安装 软件下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/ 选择一个压缩包下载即可 然后解压缩后进入bin目录直接执行命令jmeter即可启动 1.2 修改语言 默认是英文的,修改中文,点击…...

springboot2.1升级到2.7 actuator丢失部分metrics端点

项目场景: 项目需要升级springboot从2.1升级至2.7 问题描述 发现之前的metrics后面的jvm相关的端口丢了 原因分析: 找到这样一篇博文https://blog.csdn.net/CL_YD/article/details/120309094,这篇博文意思是对的,但是写的不太好…...

梦开始的地方——Adobe Premiere Pro

今天,我们来说说一款老生常谈的相信也是很多人都经常迫切需要的软件。Adobe Premiere Pro,简称Pr,是由Adobe公司开发的一款视频编辑软件。 Premiere Pro是视频编辑爱好者和专业人士必不可少的视频编辑工具。它可以提升您的创作能力和创作自由…...

Nginx同时支持Http和Https的配置详解

当配置Nginx同时支持HTTP和HTTPS时,需要进行以下步骤: 安装和配置SSL证书: 获得SSL证书:从可信任的证书颁发机构(CA)或使用自签名证书创建SSL证书。 将证书和私钥保存到服务器:将SSL证书和私钥…...

3.2 Windows驱动开发:内核CR3切换读写内存

CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表…...

基于springBoot+Vue的停车管理系统

开发环境 IDEA JDK1.8 MySQL8.0Node 系统简介 本项目为前后端分离项目,前端使用vue,后端使用SpringBoot开发,主要的功能有用户管理,停车场管理,充值收费,用户可以注册登录系统,自主充值和预…...

ES开启安全认证

elasticsearch开启安全认证步骤 1.创建证书 进入到es主目录下执行 ./bin/elasticsearch-certutil ca Elasticsearch开启安全认证详细步骤 第一个证书名称默认,直接回车 第二个输入密码,直接回车 完成后会生成一个文件:elastic-stack-ca.p12…...

CS5511规格书|CS5511方案应用说明|DP转双路LVDS/eDP芯片方案

概述:CS5511是一个将DP/eDP输入转换为LVDS信号的桥接芯片,此外,CS5511可以用作在DP/eDP输入到DP/eDP输出场景中桥接芯片。CS5511的高级接收器支持VEDA DisplayPort(DP)1.3和嵌入式DisplayPort(eDP&#xf…...

JAVA小游戏“飞翔的小鸟”

第一步是创建项目 项目名自拟 第二步创建个包名 来规范class 再创建一个包 来存储照片 如下: package game; import java.awt.*; import javax.swing.*; import javax.imageio.ImageIO;public class Bird {Image image;int x,y;int width,height;int size;doubl…...

1410. HTML 实体解析器 --力扣 --JAVA

题目 「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括: 双引号:字符实体为 " ,对应的字符是 &qu…...

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…...

RK3568平台GC2093传感器AE参数实战调优:从闪烁到过曝的解决之道

1. 认识RK3568平台与GC2093传感器的AE挑战 第一次在RK3568开发板上调试GC2093传感器时,我被自动曝光(AE)问题折腾得够呛。当时正在做人脸识别门锁项目,测试时发现两个典型现象:当用户伸手开锁时,手掌离开后…...

Windows 11极致精简指南:使用tiny11builder打造轻量级系统

Windows 11极致精简指南:使用tiny11builder打造轻量级系统 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 厌倦了Windows 11系统日益臃肿,…...

如何快速掌握设计到动画转换:AEUX终极指南助你5分钟完成无缝衔接

如何快速掌握设计到动画转换:AEUX终极指南助你5分钟完成无缝衔接 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX 如果你是一名UI/UX设计师或动效设计师,你一定经…...

以线性代数的行列式理解数学应用备忘

线性代数 是什么?12 AI Logo DeepSeek-V3.2 04-24 02:37 线性代数是高等学校各专业学生的一门必修的基础理论课,主要阐述代数学中线性关系的经典理论。它广泛应用于科学技术的各个领域,是学生学习后继课程以及从事科学研究、工程技术与管理工…...

如何用League Akari英雄联盟助手提升你的游戏体验:从青铜到王者的智能辅助指南

如何用League Akari英雄联盟助手提升你的游戏体验:从青铜到王者的智能辅助指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是…...

代码生成器使用:从手写单表 CURD 到自动生成多表业务

🎯 一、前言:为什么要用代码生成器上一节我们学会了手写单表 CURD,但在实际开发中,如果要做多张类似单表,一直手写会出现很多问题:📝 大量重复代码:Controller、Service、Mapper 几乎…...

二阶RC模型下的自适应无迹卡尔曼滤波算法(AUKF)在锂电池SOC估计中的应用:噪声系数自适应...

基于二阶RC模型 自适应无迹卡尔曼滤波算法(AUKF)锂电池SOC估计,噪声系数自适应 Matlab程序 仿真模型建模数据mat Sci一篇参考文献 在锂电池的状态估计中,SOC(State of Charge)是一个关键参数。为了准确估计…...

League Akari终极指南:5分钟掌握英雄联盟智能自动化工具

League Akari终极指南:5分钟掌握英雄联盟智能自动化工具 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款基于英…...

首涂第45套模板_苹果CMSv10仿爱奇艺模板

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 首涂第45套模板/苹果CMSv10仿爱奇艺模板 使用说明: 上传到苹果CMS根目录的/template里边解压 到后台自定义菜单添加 快捷菜单 shoutu_45,/template/shoutu45/admin/adm.php 注意去修改/p…...

Vite项目如何优雅地告别IE11?用@vitejs/plugin-legacy搞定浏览器兼容(附browserslist配置详解)

Vite项目如何优雅地告别IE11?用vitejs/plugin-legacy搞定浏览器兼容(附browserslist配置详解) 当现代前端开发已经全面拥抱ES Modules和原生JavaScript特性时,IE11就像一位固执的老朋友,总让我们不得不在构建配置中为它…...