首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >同一个meson.build中有不同配置文件的多个目标?

同一个meson.build中有不同配置文件的多个目标?
EN

Stack Overflow用户
提问于 2020-08-02 14:04:06
回答 1查看 619关注 0票数 1

我的C应用程序可以使用不同的模式构建,这些模式根据config.h的内容表现不同。在我的meson.build文件中,我使用函数configure_file()生成这个头。

现在,我想改进我的构建系统,以便在一个单独的构建中编译多个模式的二进制文件。这意味着我必须同时管理不同版本的config.h

我的计划是创建不同版本的config.h,并将它们保存在不同的文件夹中。然后,自定义每个Meson目标的包含目录,以选择我正在构建的模式的标题。

不幸的是,我发现您不能在output选项configure_file()中指定子文件夹。该文件将始终在与当前正在执行的meson.build相同的位置创建。

这意味着我总是必须包括'.',不能区分不同的模式。注意:更改C源文件中的#include指令不是一个选项。

在梅森有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-08 13:58:46

让介子本机处理配置选项,而不是通过config.h解析选项。

meson_options.txt文件中,可以声明自定义配置选项,如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
option('mode', type : 'combo', choices : ['one', 'two'], value : 'one')

然后,在配置生成时,可以通过调用以下命令创建单独的生成目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
meson buildOne -Dmode=one
ninja -C buildOne

和,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
meson buildTwo -Dmode=two
ninja -C buildTwo

然而,可能不希望采用上述方法?

另一种可能的方法是声明多个subproject()。如果您当前的meson.build不太具体,您可以尝试以下操作。

有一个新的主meson.build,它处理打包,但也在子项目目录的子目录中复制一个模板meson.build,每个模式一个。这可能只需要几个额外的../../来补偿不同的构建结构。

使用子项目声明的好处是,您可以重写该子项目的构建选项。这实际上意味着,您再次拥有单独的构建目录,但是只有一个主构建目录,只需要调用一次介子。

在这一思路中,您可以重构您的应用程序,并且只在专用子项目/库中构建不同的模式部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63221460

复制
相关文章
【IDEA】同一个应用运行多个测试实例(以不同端口)
一、在idea中写好应用后,正常情况下,选择测试,将启动唯一的服务实例(8080端口默认)
陶然同学
2023/04/02
1.5K0
【IDEA】同一个应用运行多个测试实例(以不同端口)
ginx反向代理多个域名指向同一个ip的不同网站的方法
  1.当前市面上看到的一些服务器,开放的端口一般都要求为 '80' 端口 所以80端口成了商用端口
习惯说一说
2019/07/04
6K0
同一个公司,“不同”的乐享?!
刚过完新年,乐乐就马不停蹄地跑去北京出差,负责北京分公司企业文化的小姐姐一边吃着羊蝎子一边和乐乐吐槽:
腾讯乐享
2019/03/12
8090
同一个公司,“不同”的乐享?!
MySQL数据库中有哪些不同的表格?
在 MySQL 中,数据表是一个或多个字段的集合(有组织排列),并且每个字段可以存储特定的类型数据。常见的 MySQL 表格有以下几种:
用户1289394
2023/08/22
2820
MySQL数据库中有哪些不同的表格?
Nginx反向代理实现多个域名指向同一个ip的不同网站解决方法
1.当前市面上看到的一些服务器,开放的端口一般都要求为 '80' 端口 所以80端口成了商用端口
星哥玩云
2022/07/24
8.6K0
Springboot多个配置文件的实现
配置文件名需要满足application-{profile}.properties的格式。 {profile}对应的是环境标识,比如:
Cheng_Blog
2022/02/25
1.9K0
Spring框架中有哪些不同类型的事件
如果一个bean实现了ApplicationListener接口,当一个ApplicationEvent 被发布以后,bean会自动被通知。 
红目香薰
2022/11/29
3510
推荐系统, 多目标模型的多个目标怎么融合?
前两天写了一篇关于多目标排序模型的文章,有小伙伴给我留言说,多个目标好理解, 但是排序的时候怎么融合多个目标呢?
TechFlow-承志
2022/09/22
1.5K1
推荐系统, 多目标模型的多个目标怎么融合?
Logstash:多个配置文件(conf)
在前面的一篇文章 “Logstash:处理多个input” 中,我们介绍了如何使用在同一个配置文件中处理两个 input 的情况。在今天这篇文章中,我们来介绍如何来处理多个配置文件的问题。对于多个配置的处理方法,有多个处理方法:
腾讯云大数据
2020/08/05
3.9K0
Logstash:多个配置文件(conf)
SpringBoot同一个服务多个端口启动
设置完端口后点击下 空白处,否则有可能端口设置不上去 如果没有这个选项,则执行以下步骤即可看到:
星辰sea
2022/10/29
1.2K0
SpringBoot同一个服务多个端口启动
@DependsOn & 控制多个(不同)的@Bean的加载顺序
我们都知道多个Bean加载是按照代码顺序来的。BeanA下载BeanB前面,那么BeanA是会有在BeanB前面示例化的。
收心
2022/11/14
7650
Spring-整合多个配置文件
对于一个大型应用来讲,可能存在多个配置文件,在启动Spring容器的时候,可以通过一个String数组指定这些配置文件。
小小工匠
2021/08/16
4220
多个槽函数绑定同一个信号的触发顺序
❝这是一个群友面试的题目。查了些文档描述如下。❞ Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前,「多个槽函数绑定同一个信号是无序调用」。 文档描述: If a signal is connected to several slots, the slots are activated in an arbitrary order when the signal is emitted. 如果信号连接到多个槽函数,则在发出信号时会以任意顺序调用槽函数。 文档出处: https://qt.de
Qt君
2023/03/17
9970
多个槽函数绑定同一个信号的触发顺序
replaceAll()如何同时替换多个不同的字符串(或多个符号)
正好我遇到过这个情况,就跟她分享了一下心得,解决问题后的她开心的像刚充完气儿一样。
陈哈哈
2020/07/03
5.7K0
Makefile实例:批量编译多个目标
gist: https://gist.github.com/songtianlun/8984626fd80cd20b7c2e71f95caaf8d1
宋天伦
2020/10/26
2.1K0
Makefile实例:批量编译多个目标
在同一个系统里使用多个版本的软件
如果你有几房姨太太的话,那么想让她们和平共处,多半是痴人说梦。对程序员而言,虽然他们不会有娶几个老婆的好运气,但是很可能会遇到在同一个系统里使用多个版本的软件的情况,一旦处理不好,同样会焦头烂额。
LA0WAN9
2021/12/14
1.2K0
iOS 多个category同时交换同一个方法
结论: 1.结果会覆盖,后面的会覆盖前面的,最后执行的是2的方法。无论是类方法还是实例方法。后面代码会做验证。 2.每个category的+ (void)load方法是独立,都会执行,不会相互覆盖。
且行且珍惜_iOS
2021/09/07
1.4K0
SpringBoot 引用不同环境的配置文件, 放在外部的配置文件
SpringBoot 项目配置文件可以放在外部 application-prod.properties application-test.properties application-dev.properties 这三种环境, 生产, 测试, 开发 环境的配置文件放在所在服务器的指定目录下, application.properties 文件不用动, 还是放在项目里. 用于配置 spring.profiles.active
北漂的我
2021/11/02
9620
管理不同 git 系统的多个 ssh-key
今天记录一下如何管理不同 git 系统下生成的 ssh-key。比如常用的 github 有一个 key,而公司搭建的 gitlab 又是一个不同邮箱生成的 key。那么这个时候该怎么办呢?
Originalee
2019/04/18
8430
多个套接字可以绑定同一个端口吗
在日常的开发过程中,经常会遇到端口占用冲突的问题。那是不是不同的进程不能同时监听同一个端口呢?这个小节就来介绍 SO_REUSEPORT 选项相关的内容。
挖坑的张师傅
2022/05/13
2.8K0
多个套接字可以绑定同一个端口吗

相似问题

Webpack 2配置文件中有多个目标,如何用CLI指定目标

20

目标中有多个子项

20

EDE中有哪些不同的目标类型?

10

对于不同的目标,在同一个项目中有多个应用程序代理可以吗?

10

在Django中有多个配置文件?

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文