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.
33 lines
885 B
33 lines
885 B
project('c++ and assembly test') |
|
add_languages('cpp') |
|
|
|
if meson.backend() == 'xcode' |
|
error('MESON_SKIP_TEST: asm not supported with the Xcode backend. Patches welcome.') |
|
endif |
|
|
|
cpp = meson.get_compiler('cpp') |
|
cpu = host_machine.cpu_family() |
|
|
|
supported_cpus = ['arm', 'x86', 'x86_64'] |
|
|
|
if not supported_cpus.contains(cpu) |
|
error('MESON_SKIP_TEST unsupported cpu:' + cpu) |
|
endif |
|
|
|
if cpp.symbols_have_underscore_prefix() |
|
add_project_arguments('-DMESON_TEST__UNDERSCORE_SYMBOL', language : 'cpp') |
|
endif |
|
|
|
sources = ['trivial.cc'] |
|
# If the compiler cannot compile assembly, don't use it |
|
if not ['msvc', 'clang-cl', 'intel-cl'].contains(meson.get_compiler('cpp').get_id()) |
|
sources += ['retval-' + cpu + '.S'] |
|
cpp_args = ['-DUSE_ASM'] |
|
message('Using ASM') |
|
else |
|
cpp_args = ['-DNO_USE_ASM'] |
|
endif |
|
|
|
exe = executable('trivialprog', sources, |
|
cpp_args : cpp_args) |
|
test('runtest', exe)
|
|
|