The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.3 KiB

Projects args can be set separately for cross and native builds (potentially breaking change)

It has been a longstanding bug (or let's call it a "delayed bug fix") that if yo do this:

add_project_arguments('-DFOO', language : 'c')

Then the flag is used both in native and cross compilations. This is very confusing and almost never what you want. To fix this a new keyword native has been added to all functions that add arguments, namely add_global_arguments, add_global_link_arguments, add_project_arguments and add_project_link_arguments that behaves like the following:

## Added to native builds when compiling natively and to cross
## compilations when doing cross compiles.
add_project_arguments(...)

## Added only to native compilations, not used in cross compilations.
add_project_arguments(..., native : true)

## Added only to cross compilations, not used in native compilations.
add_project_arguments(..., native : false)

Also remember that cross compilation is a property of each target. There can be target that are compiled with the native compiler and some which are compiled with the cross compiler.

Unfortunately this change is backwards incompatible and may cause some projects to fail building. However this should be very rare in practice.