首页 > 其他分享 >CMakeLists --- add_subdirectory 添加子目录

CMakeLists --- add_subdirectory 添加子目录

时间:2023-05-25 19:00:32浏览次数:51  
标签:CMakeLists subdirectory 子目录 --- 相对路径 参数 目录 dir

命令格式:

#添加一个子目录并构建该子目录。
add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])
#source_dir:子项目的CMakeLists.txt所在的目录
#binary_dir:子项目产物的生成目录
#EXCLUDE_FROM_ALL:不生成子项目的目标


命令解析:

  • source_dir
    必选参数。该参数指定一个子目录,子目录下应该包含CMakeLists.txt文件和代码文件。子目录可以是相对路径也可以是绝对路径,如果是相对路径,则是相对当前目录的一个相对路径。
  • binary_dir
    可选参数。该参数指定一个目录,用于存放输出文件。可以是相对路径也可以是绝对路径,如果是相对路径,则是相对当前输出目录的一个相对路径。如果该参数没有指定,则默认的输出目录使用source_dir
  • EXCLUDE_FROM_ALL
    可选参数。当指定了该参数,则子目录下的目标不会被父目录下的目标文件包含进去,父目录的CMakeLists.txt不会构建子目录的目标文件,必须在子目录下显式去构建。例外情况:当父目录的目标依赖于子目录的目标,则子目录的目标仍然会被构建出来以满足依赖关系(例如使用了target_link_libraries)

转载:https://www.jianshu.com/p/07acea4e86a3

标签:CMakeLists,subdirectory,子目录,---,相对路径,参数,目录,dir
From: https://www.cnblogs.com/linxisuo/p/17432597.html

相关文章

  • 天梯赛L1-030 一帮一
    一、问题描述“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输......
  • MySQL索引高级进阶详解-玩转MySQL数据库
    前言从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。全文大约【1957】字,不说废话,只讲可以让你学到技术、明白原理的纯干......
  • Jenkins(1)-安装教程
    我用的服务器是阿里云服务器,服务器系统: CentOS7.9,不同的操作系统需要下载不同的软件包,对应的链接如下https://www.jenkins.io/zh/download/ 1)软件安装根据官网https://pkg.jenkins.io/redhat-stable/执行以下命令  安装成功截图 2)开启服务执行命令sys......
  • 游戏逆向-D3D9绘制
    做游戏逆向期间通常会用到绘制技术,比如FPS游戏逆向矩形透视,骨骼等。接下来几章内容主要介绍几种比较常见的绘制技术:如D3Dx绘制,Imgui绘制,D3D9HOOK绘制,DWM绘制 GDI绘制与D3Dx绘制的区别通用性的区别:1、GDI渲染方式则是我们熟知的采用GDI进行图像绘制,其优势就是通用性强,只要是目......
  • mybatis-config详解
    mybatis-config详解5.1属性、全局设置、别名5.1.1本章目标学会使用XML配置文件配置Mybatis5.1.2本节目标详细了解每个属性的作用5.1.3mybatis-config.xml介绍以下是mybatis官网关于配置文件的说明*注意:配置项的顺序不能颠倒,如果颠倒了它们的顺序,在MyBatis的自启动阶段会发生异......
  • mybatis-plus控制台打印SQL
    方法一、在application.yml添加配置#mybatis-plus配置控制台打印完整带参数SQL语句mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl方法二、mapper增加日志等级为debuglogging:level:com.chz.mapper:debug ......
  • Kafka常用命令之kafka-console-consumer.sh
    ./kafka-console-consumer.sh--bootstrap-serverlocalhost:2181--topictestTopic--from-beginning注意:Kafka从2.2版本开始将kafka-topic.sh脚本中的−−zookeeper参数标注为“过时”,推荐使用−−bootstrap-server参数。若读者依旧使用的是2.1及以下版本,请将下述......
  • AntDB-S流式数据库体验
    本文作者:彭冲老师,上一篇彭老师体验了亚信刚发布的社区版AntDB-T数据库,文章如下:AntDB-T交易型数据库体验本文继续体验AntDB-S流式数据库的,AntDB-S目前还未开放社区版,可以联系AntDB小助手进行体验。01AntDB-S流式数据库简介流式数据库是把流处理引擎的能力合并到数据库内核,与数......
  • Gitlab安装与Gitlab-Runner注册
    1、gitlab的三种安装方式: rmp方式:wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpmrpm-ivhgitlab-ce-12.9.0-ce.0.el7.x86_64.rpmvim/etc/gitlab.rb#编辑站点地址gitlab-ctlreconfigure#配......
  • jenkins--构建传输jar包后启动java服务
    jenkins--构建传输jar包后启动java服务目标:针对单体java服务前置条件:jdk1.8日志切割cronologjdk1.8安装cronolog安装创建server.sh脚本文件#!/bin/bashJAR_PATH="/data/forwarder"#文件目录JAR_FILE="ruoyi-admin.jar"#文件名LOG_PATH="/data/forwarder/logs"#cro......