meson.build 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. project('external library', 'c')
  2. cc = meson.get_compiler('c')
  3. zlib = cc.find_library('z')
  4. # Verify that link testing works.
  5. linkcode = '''#include<zlib.h>
  6. int main(int argc, char **argv) {
  7. void *ptr = (void*)(deflate);
  8. return ptr == 0;
  9. }
  10. '''
  11. nolinkcode='''int nonexisting();
  12. int main(int argc, char **argv) {
  13. return nonexisting();
  14. }
  15. '''
  16. assert(cc.links(linkcode, args : '-lz', name : 'Test link against zlib'), 'Linking test failed.')
  17. assert(not cc.links(nolinkcode, name : 'Failing link'), 'Linking succeeded when it should have failed.')
  18. e = executable('zprog', 'prog.c', dependencies : zlib)
  19. test('libtest', e)
  20. e2 = executable('zprog_alt', 'prog.c', dependencies : zlib)
  21. test('libtest_alt', e2)
  22. # Test that ext deps work via an internal dep.
  23. intdep = declare_dependency(dependencies : zlib)
  24. exe2 = executable('zprog2', 'prog.c', dependencies : intdep)
  25. test('libtest2', exe2)
  26. # Test that deps that use find_library deps work.
  27. depdep = declare_dependency(dependencies : intdep)
  28. exe3 = executable('zprog3', 'prog.c', dependencies : depdep)
  29. test('libtest3', exe3)