问题标签 [meson-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
build - 如何用介子处理条件标志?
我是介子的新手,现在只是查看文档。您推荐的在介子构建中处理条件 cflag 的方法是什么?
说对于 Visual Studio,我想使用 /DNOMINMAX 并抑制一堆只有 VS 产生的警告,如 /wd4626 /wd4640 等。你会如何建议这样做?
build - 你能用介子获取源代码吗?
是否可以在介子构建中获取源代码文件?
build - 您可以在介子中将单元测试作为构建后事件执行吗?
在介子中定义单元测试可执行文件并使用ninja test
.
是否可以在使用介子构建生成的解决方案中将单元测试作为构建后事件执行?
build - 在介子构建中,您可以设置单元测试的工作目录吗?
在介子构建中,是否可以在执行单元测试之前设置工作目录?它默认使用 ninja 来运行测试,所以也许有一个选项可以传递给 ninja 来设置目录?
为什么我要问的是有时单元测试需要访问配置/数据文件(我通常会尽量避免这种情况,但有时这是不可能的)并且他们需要知道相对路径才能加载它们。
build - `meson.source_root()` 是项目根目录吗?
meson.source_root() 返回的目录是项目根目录(带有根级别的 meson.build 文件)还是当前正在处理的 meson.build 文件的路径?
build - 我可以从介子的编译器属性中获取编译器版本吗?
在介子构建系统中,我可以从编译器属性中获取编译器版本以及编译器名称吗?
例如,您可以像这样获取 C++ 编译器名称:
这将返回诸如“clang”、“gcc”、“msvc”等字符串。我想知道是否也有办法获取版本信息。
build - 在介子中,您可以测试项目中是否存在目录?
使用介子构建,是否可以测试我的项目中是否存在目录?
例如,我通常将验收测试放在我的单元测试旁边的文件夹结构中,如下所示:
我并不总是有验收测试,如果没有必要,我想避免在那里有一个 meson.build 文件。subdir('acceptance_test')
如果目录acceptance_test/
存在, 我宁愿有一个条件。
build - 通过介子构建,我可以定义项目内依赖项吗?
假设我在一个项目中构建目标 A、B 和 C。在介子中,是否可以定义它们之间的依赖关系?
例如,如果依赖图如下所示:
我怎么能用介子来表达呢?
build - 在介子中定义外部依赖时,可以添加搜索路径吗?
在介子中定义目标时,您可以使用以下语法声明对外部项目的依赖关系:
这会检查标准包含位置,该位置在 Linux 上运行良好,但在其他平台上运行不佳。
有没有办法为介子添加额外的包含和库路径以在声明依赖项时检查?
meson-build - 将静态库链接到共享库或二进制文件
我有一个来自项目的静态库A
(我们称之为liba.so
),我想在我的项目中编译一个共享库B
(我们称之为libb.so
)并嵌入liba.so
其中。
另外,我在那个项目中有一个二进制文件,B
它也依赖于liba.so
,所以我想将它嵌入到二进制文件中。
那可能吗?如何?