【CMake】给一个库添加用法需求(Usage Requirements)

news2024/11/22 14:49:53

3. 给一个库添加用法需求(Usage Requirements)

1. usage requirements

目标参数的用法要求(不知道有没有更好的翻译方式)可以更好地控制库或可执行的链接,并包括行,同时还可以更好地控制CMAKE内部目标的传递属性。

2. 给一个库添加 usage requirements

仍旧以官方教程中的例子来学习,对应的文件目录为 Step3,文件内的内容结构如下:

在这里插入图片描述

在本节中,我们让上节中创建的 MathFunctions 库来自己指定需要的 include 文件夹,我们的目标项目 Tutorial 只需要链接 MathFunctions 库即可,不需要再额外包含文件夹。

具体想要实现的效果是,如果链接了 MathFunctions 函数库, 就需要包含当前的文件目录,也就是 MathFuntions 文件夹。

在 MathFunctions 文件夹中的 CMakeLists 中添加:target_include_directories(MathFunctions INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) INTERFACE 表示接口,意味着使用该库的目标需要 include 但是库本身不需要 include。

在根目录的 CMakeLists 中便不再需要添加该 include 文件夹了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/473196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【哈士奇赠书活动 - 17期】-〖uni-app跨平台开发与应用从入门到实践〗

文章目录 ❤️‍🔥 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》❤️‍🔥 编辑推荐❤️‍🔥 抽奖方式与截止时间❤️‍🔥 赠书活动 → 获奖名单 ❤️‍🔥 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》…

日志技术-Logback

一. 日志是什么: 输出语句的弊端:它只能在控制台展示,它不能记录在本地文件当中。 日志可以将程序运行过程中的信息直接记录在文件里面,做永久存储。 性能较好,简单来说就是运行的速度会比较快。 二. 日志技术体系、L…

3_docker应用部署:MySQL-Tomcat-Nginx-Redis

Docker 应用部署 一、部署MySQL 案例需求:在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server。 分析: 容器内的网络服务和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服…

iOS 17 开放侧载,微信双开要来了?

关于苹果北京时间 6 月 6 日召开的 WWDC23 全球开发者大会,外媒彭博记者 Mark Gurman 带来了最新消息。 大致更新概览 他认为,本次 WWDC23 大会将会主要推出这几款产品和软件:iOS 17、iPadOS 17、macOS 14、watchOS 10、新的 MacBooks 、混…

文件上传下载系列——如何实现文件秒传

文章目录 🎃简介: 👻核心思想: MD5是什么? 实现步骤: 🎄实操: 1、java生成文件MD5码 2、javascript生成文件MD5码 ⛳️基于秒传的分片上传下载 上传: 下载&…

Afkayas.1(★)

软件运行 要输入正确的Name和Serial 查壳 一个VB程序,没有加壳 载入OD 直接开搜索字符串。 这里看到了错误的提示,“You Get It”应该就是成功的字符串了。 前面的“AKA-”应该是在什么时候拼接的字符串 去成功的字符串附近看看 这个字符串上面…

LVS负载均衡群集——DR模式

一、LVS-DR集群介绍 LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用&#xff0…

第九章 子查询

文章目录 前言一、.需求分析与问题解决1 、实际问题2 、子查询的基本使用3 、子查询的分类 二、单行子查询1、单行比较操作符2、代码示例3、 HAVING 中的子查询4、CASE中的子查询5、 子查询中的空值问题6、非法使用子查询 三、多行子查询1、 多行比较操作符2、代码示例3 、空值…

客快物流大数据项目(一百一十八):配置中心 Spring Cloud Config

文章目录 配置中心 Spring Cloud Config 一、​​​​​​​Config 简介

STM32-HAL-SPI-W25Q128FV简单读写测试(2)

文章目录 一、Flash的基本读写操作1.1 向芯片中的某个地址(addr:0x02)连续写入不定长的数据并读取代码示例读写流程分析函数分析 1.2 向芯片中的某个地址(addr:0x00)写入一个数值代码示例:读写流程分析 具体的配置接上…

react native ios 添加启动页 xcode14

最近更新xcode,有些配置有些不同,网上查的方法都是过时的,导致配了一段时间卡在这里,最后访问官网才弄好了,所以以后解决问题的办法先看官网再查其他各路神仙的办法。 官网的步骤:https://github.com/crazy…

MAC 查看已装载的卷宗

查看卷宗目录命令 ls /Volumes网络卷宗:本机、系统报告。 参考资料:https://blog.csdn.net/qq_41731201/article/details/125407204

建筑行业如何进行高效管理文件?

建筑设计行业在日常办公中会产出大量文件,如设计图纸协作商议,项目资料等,建筑行业该如何高效管理文件呢? 建筑设计行业团队可能遇到的文件管理问题: 1,设计图纸一般较大,来回传输不仅麻烦&…

【矩阵快速幂 | 斐波那契数列 | 矩阵加速】

文章目录 基础知识1. 矩阵结构2. 重载 * 运算符3. 矩阵快速幂 例题1: 矩阵幂求和例题2: 矩阵快速幂例题3: 斐波那契数列例题4: 矩阵加速例题5: 广义斐波那契例题6: 斐波那契公约数例题7: 这个勇…

设计模式——设计模式介绍和单例设计模式

目录 一、设计模式概述和分类 1.1 设计模式介绍 1.2 设计模式分类 二、创建型设计模式-单例模式 2.1 介绍 2.2 八种单例模式的创建方式 2.2.1 饿汉式(静态常量) 2.2.2 饿汉式(静态代码块) 2.2.3 懒汉式(线程…

TCP/IP协议基础

1.TCP/IP模型的分层 网络接口层(Network Interface Layer):(数据链路层) 功能: ①将数据帧发送到物理网络,并从物理网络接收数据帧。 ②处理硬件地址,如MAC地址。 主要协议&#xff…

[独家]自动播放K线图训练盘感能力!股票量化分析工具QTYX-V2.3.5

K线量价的重要性 K线图对炒股的朋友来说太熟悉不过了,每一根K线包含了开盘价、收盘价、最高价和最低价这四个价位信息,分别用红和绿两种颜色来表示上涨或下跌,反映了单位时间周期内价格变动的情况。 不过K线的功效可不仅仅用来记录价格的变动…

Linux信号:信号 信号集 信号集函数

1. 信号的概念 Linux进程间通信的方式之一。信号也称为“软件中断”。 信号特点: 简单;携带信息有限;满足特定条件才发送信号;可进行用户空间和内核空间进程的交互; 信号4要素: (1&#xf…

根据Java的TreeMap源码的原理编写C++红黑树删除操作

(一)了解二叉搜索树的删除操作 删除操作总结: ******普通结点删除:******* ①删除叶结点 ②删除只有1个子结点的结点 >>如果被删除结点的左子树为空,则令其右子树子承父业代替其位置即可 >>如果被删除结点…

JPA整合达梦数据库

陈老老老板🦸 👨‍💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容) 👨‍💻本文简述:本文讲一下SpringBoot整合JPA与达梦数据库,就是简单&…