meson.build 846 B

12345678910111213141516171819202122232425262728
  1. project('try compile', 'c', 'cpp')
  2. code = '''#include<stdio.h>
  3. void func() { printf("Something.\n"); }
  4. '''
  5. breakcode = '''#include<nonexisting.h>
  6. void func() { printf("This won't work.\n"); }
  7. '''
  8. foreach compiler : [meson.get_compiler('c'), meson.get_compiler('cpp')]
  9. if compiler.compiles(code, name : 'should succeed') == false
  10. error('Compiler ' + compiler.get_id() + ' is fail.')
  11. endif
  12. if compiler.compiles(files('valid.c'), name : 'should succeed') == false
  13. error('Compiler ' + compiler.get_id() + ' is fail.')
  14. endif
  15. if compiler.compiles(breakcode, name : 'should fail')
  16. error('Compiler ' + compiler.get_id() + ' returned true on broken code.')
  17. endif
  18. if compiler.compiles(files('invalid.c'), name : 'should fail')
  19. error('Compiler ' + compiler.get_id() + ' returned true on broken code.')
  20. endif
  21. endforeach