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.

39 lines
1.1 KiB

project('external library', 'c')
cc = meson.get_compiler('c')
zlib = cc.find_library('z')
# Verify that link testing works.
linkcode = '''#include<zlib.h>
int main(int argc, char **argv) {
void *ptr = (void*)(deflate);
return ptr == 0;
}
'''
nolinkcode='''int nonexisting();
int main(int argc, char **argv) {
void *ptr = (void*)(nonexisting);
return ptr == 0;
}
'''
assert(cc.links(linkcode, args : '-lz', name : 'Test link against zlib'), 'Linking test failed.')
assert(not cc.links(nolinkcode, name : 'Failing link'), 'Linking succeeded when it should have failed.')
e = executable('zprog', 'prog.c', dependencies : zlib)
test('libtest', e)
e2 = executable('zprog_alt', 'prog.c', dependencies : zlib)
test('libtest_alt', e2)
# Test that ext deps work via an internal dep.
intdep = declare_dependency(dependencies : zlib)
exe2 = executable('zprog2', 'prog.c', dependencies : intdep)
test('libtest2', exe2)
# Test that deps that use find_library deps work.
depdep = declare_dependency(dependencies : intdep)
exe3 = executable('zprog3', 'prog.c', dependencies : depdep)
test('libtest3', exe3)