docs: Improve code snippets in release notes
@@ -26,7 +26,8 @@ object can be used as a source file for other Targets, this will create a
dependency on the original `CustomTarget`, but will only insert the generated
file corresponding to the index value of the `CustomTarget`'s `output` keyword.
- c = CustomTarget(
+```meson
+c = custom_target(
...
output : ['out.h', 'out.c'],
)
@@ -40,6 +41,7 @@ file corresponding to the index value of the `CustomTarget`'s `output` keyword.
c[1],
link_with : lib1,
)
+```
# Can override executables in the cross file
@@ -47,21 +49,26 @@ The cross file can now be used for overriding the result of
`find_program`. As an example if you want to find the `objdump`
command and have the following definition in your cross file:
+```ini
[binaries]
...
objdump = '/usr/bin/arm-linux-gnueabihf-objdump-6'
+```
Then issuing the command `find_program('objdump')` will return the
version specified in the cross file. If you need the build machine's
objdump, you can specify the `native` keyword like this:
+```meson
native_objdump = find_program('objdump', native : true)
+```
# Easier handling of supported compiler arguments
A common pattern for handling multiple desired compiler arguments, was to
test their presence and add them to an array one-by-one, e.g.:
+```meson
warning_flags_maybe = [
'-Wsomething',
'-Wanother-thing',
@@ -74,12 +81,15 @@ test their presence and add them to an array one-by-one, e.g.:
endif
endforeach
cc.add_project_argument(warning_flags)
+```
A helper has been added for the foreach/has_argument pattern, so you can
now simply do:
+```meson
warning_flags = [ ... ]
flags = cc.get_supported_flags(warning_flags)
+```
# Better support for shared libraries in non-system paths
@@ -93,12 +103,14 @@ This means that e.g. supporting prebuilt libraries shipped with your
source or provided by subprojects or wrap definitions by writing a
build file like this:
+```meson
project('myprebuiltlibrary', 'c')
cc = meson.get_compiler('c')
prebuilt = cc.find_library('mylib', dirs : meson.current_source_dir())
mydep = declare_dependency(include_directories : include_directories('.'),
dependencies : prebuilt)
+```
Then you can use the dependency object in the same way as any other.
