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.
20 lines
780 B
20 lines
780 B
project('as-needed test', 'cpp') |
|
|
|
# Idea behind this test is to have -Wl,--as-needed prune |
|
# away unneeded linkages, which would otherwise cause global |
|
# static initialiser side-effects to set a boolean to true. |
|
|
|
# Credits for portable ISO C++ idea go to sarum9in |
|
|
|
libA = library('A', 'libA.cpp') |
|
libB = library('B', 'libB.cpp', link_with : libA) |
|
|
|
main_exe = executable('C', 'main.cpp', link_with : [libA, libB]) |
|
test('main test', main_exe) |
|
|
|
# Since Sonoma / Xcode 15 the macos linker considers the dependency via the |
|
# initializer sufficient to pull in the other other library. There's no good |
|
# way to detect the linker version here, so just skip the on macos. |
|
if host_machine.system() == 'darwin' |
|
error('MESON_SKIP_TEST: the macos linker is too smart for this test') |
|
endif
|
|
|