|
|
|
index.md
|
|
|
|
Getting-meson.md
|
|
|
|
Quick-guide.md
|
|
|
|
Tutorial.md
|
|
|
|
Manual.md
|
|
|
|
Overview.md
|
|
|
|
Running-Meson.md
|
|
|
|
Builtin-options.md
|
|
|
|
Using-with-Visual-Studio.md
|
|
|
|
Meson-sample.md
|
|
|
|
Syntax.md
|
|
|
|
Machine-files.md
|
|
|
|
Native-environments.md
|
|
|
|
Build-targets.md
|
|
|
|
Include-directories.md
|
|
|
|
Installing.md
|
|
|
|
Adding-arguments.md
|
|
|
|
Configuration.md
|
|
|
|
Compiler-properties.md
|
|
|
|
Dependencies.md
|
|
|
|
Threads.md
|
|
|
|
External-commands.md
|
|
|
|
Precompiled-headers.md
|
|
|
|
Unity-builds.md
|
|
|
|
Feature-autodetection.md
|
|
|
|
Generating-sources.md
|
|
|
|
Unit-tests.md
|
|
|
|
Cross-compilation.md
|
|
|
|
Localisation.md
|
|
|
|
Build-options.md
|
|
|
|
Subprojects.md
|
|
|
|
Disabler.md
|
|
|
|
Modules.md
|
|
|
|
CMake-module.md
|
|
|
|
Dlang-module.md
|
|
|
|
Fs-module.md
|
|
|
|
Gnome-module.md
|
|
|
|
Hotdoc-module.md
|
|
|
|
i18n-module.md
|
|
|
|
Icestorm-module.md
|
|
|
|
Pkgconfig-module.md
|
|
|
|
Python-module.md
|
|
|
|
Python-3-module.md
|
|
|
|
Qt4-module.md
|
|
|
|
Qt5-module.md
|
|
|
|
RPM-module.md
|
|
|
|
Simd-module.md
|
new module "sourceset" to match source file lists against configuration data
In QEMU a single set of source files is built against many different
configurations in order to generate many executable. Each executable
includes a different but overlapping subset of the source files; some
of the files are compiled separately for each output, others are
compiled just once.
Using Makefiles, this is achieved with a complicated mechanism involving
a combination of non-recursive and recursive make; Meson can do better,
but because there are hundreds of such conditional rules, it's important
to keep meson.build files brief and easy to follow. Therefore, this
commit adds a new module to satisfy this use case while preserving
Meson's declarative nature.
Configurations are mapped to a configuration_data object, and a new
"source set" object is used to store all the rules, and then retrieve
the desired set of sources together with their dependencies.
The test case shows how extract_objects can be used to satisfy both
cases, i.e. when the object files are shared across targets and when
they have to be separate. In the real-world case, a project would use
two source set objects for the two cases and then do
"executable(..., sources: ... , objects: ...)". The next commit
adds such an example.
6 years ago
|
|
|
SourceSet-module.md
|
|
|
|
Windows-module.md
|
|
|
|
Cuda-module.md
|
|
|
|
Keyval-module.md
|
|
|
|
Java.md
|
|
|
|
Vala.md
|
|
|
|
D.md
|
|
|
|
IDE-integration.md
|
|
|
|
Custom-build-targets.md
|
|
|
|
Build-system-converters.md
|
|
|
|
Configuring-a-build-directory.md
|
|
|
|
Run-targets.md
|
|
|
|
Creating-releases.md
|
|
|
|
Creating-OSX-packages.md
|
|
|
|
Creating-Linux-binaries.md
|
|
|
|
Project-templates.md
|
|
|
|
Reference-manual.md
|
|
|
|
Reference-tables.md
|
|
|
|
Style-guide.md
|
|
|
|
Rewriter.md
|
|
|
|
FAQ.md
|
|
|
|
Reproducible-builds.md
|
|
|
|
howtox.md
|
|
|
|
Wrap-dependency-system-manual.md
|
|
|
|
Adding-new-projects-to-wrapdb.md
|
|
|
|
Using-the-WrapDB.md
|
|
|
|
Using-wraptool.md
|
|
|
|
Wrap-best-practices-and-tips.md
|
|
|
|
Wrap-review-guidelines.md
|
|
|
|
Shipping-prebuilt-binaries-as-wraps.md
|
|
|
|
fallback-wraptool.md
|
|
|
|
Release-notes.md
|
|
|
|
Release-notes-for-0.54.0.md
|
|
|
|
Release-notes-for-0.53.0.md
|
|
|
|
Release-notes-for-0.52.0.md
|
|
|
|
Release-notes-for-0.51.0.md
|
|
|
|
Release-notes-for-0.50.0.md
|
|
|
|
Release-notes-for-0.49.0.md
|
|
|
|
Release-notes-for-0.48.0.md
|
|
|
|
Release-notes-for-0.47.0.md
|
|
|
|
Release-notes-for-0.46.0.md
|
|
|
|
Release-notes-for-0.45.0.md
|
|
|
|
Release-notes-for-0.44.0.md
|
|
|
|
Release-notes-for-0.43.0.md
|
|
|
|
Release-notes-for-0.42.0.md
|
|
|
|
Release-notes-for-0.41.0.md
|
|
|
|
Release-notes-for-0.40.0.md
|
|
|
|
Release-notes-for-0.39.0.md
|
|
|
|
Release-notes-for-0.38.0.md
|
|
|
|
Release-notes-for-0.37.0.md
|
|
|
|
Additional.md
|
|
|
|
Release-procedure.md
|
|
|
|
Performance-comparison.md
|
|
|
|
ARM-performance-test.md
|
|
|
|
Simple-comparison.md
|
|
|
|
Comparisons.md
|
|
|
|
Conference-presentations.md
|
|
|
|
Contact-information.md
|
|
|
|
Continuous-Integration.md
|
|
|
|
Design-rationale.md
|
|
|
|
IndepthTutorial.md
|
|
|
|
In-the-press.md
|
|
|
|
Mixing-build-systems.md
|
|
|
|
Pkg-config-files.md
|
|
|
|
Playground.md
|
|
|
|
Porting-from-autotools.md
|
|
|
|
Use-of-Python.md
|
|
|
|
Users.md
|
|
|
|
Using-multiple-build-directories.md
|
|
|
|
Vs-External.md
|
|
|
|
Contributing.md
|
|
|
|
legal.md
|
|
|
|
Videos.md
|