1234567891011121314151617181920212223242526272829303132333435363738394041 |
- project('openmp', 'c', 'cpp')
- cc = meson.get_compiler('c')
- if cc.get_id() == 'gcc' and cc.version().version_compare('<4.2.0')
- error('MESON_SKIP_TEST gcc is too old to support OpenMP.')
- endif
- if cc.get_id() == 'clang' and cc.version().version_compare('<3.7.0')
- error('MESON_SKIP_TEST clang is too old to support OpenMP.')
- endif
- if cc.get_id() == 'msvc' and cc.version().version_compare('<17')
- error('MESON_SKIP_TEST msvc is too old to support OpenMP.')
- endif
- if host_machine.system() == 'darwin'
- error('MESON_SKIP_TEST macOS does not support OpenMP.')
- endif
- openmp = dependency('openmp')
- exec = executable('exec',
- 'main.c',
- dependencies : [openmp])
- execpp = executable('execpp',
- 'main.cpp',
- dependencies : [openmp])
- env = environment()
- env.set('OMP_NUM_THREADS', '2')
- test('OpenMP C', exec, env : env)
- test('OpenMP C++', execpp, env : env)
- if add_languages('fortran', required : false)
- exef = executable('exef',
- 'main.f90',
- dependencies : [openmp])
- test('OpenMP Fortran', execpp, env : env)
- endif
|