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

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

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.kler.cn/a/16076.html

相关文章:

  • 使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本
  • 【Linux】Linux 权限的理解
  • 数据结构--数组
  • PdServer:调用MidjourneyAPI完成静夜思图文生成
  • 单片机设计电流与温度监控python上位机监控平台设计
  • 基于node一键发布到服务器的js脚本
  • 华纳云:怎么用shell脚本发送http请求
  • 搜索的剪枝技巧之三个原则
  • 【springcloud 微服务】Spring Cloud 微服务网关Gateway使用详解
  • ACM 1007 | 分段函数求值
  • 连ChatGPT都不懂的五一调休,到底怎么来的?
  • JAVAWeb10-Web 开发会话技术-Session-02
  • MySQL解析器和优化器,你了解它们吗?
  • KDZD地埋线短路漏电试扎器
  • C++之深入解析如何实现一个线程池
  • 交叉编译相关知识整理
  • 安装Ubuntu22.04虚拟机的一些常见问题解决方法
  • 客户管理系统的作用有哪些?
  • Go分布式爬虫(二十四)
  • 这就是二分查找?(C语言版)
  • 【python】用ChatGPT使用爬虫
  • Python调用最小二乘法
  • PyQt6: 多网卡适配器的选择与显示(GPT4帮写)
  • 数据血缘落地方案
  • 【C++进阶知识】C++虚函数和虚函数表
  • verilog手撕代码3——序列检测和序列发生器