diff --git a/SConstruct b/SConstruct index 0402e043b8..80fb3b52e2 100644 --- a/SConstruct +++ b/SConstruct @@ -265,7 +265,7 @@ env['using_apple_clang'] = False # Check if this is actually Apple's clang on macOS if env['OS'] == 'Darwin': result = subprocess.check_output([env.subst('$CC'), '--version']).decode('utf-8') - if 'clang' in result.lower() and 'Xcode' in result: + if 'clang' in result.lower() and ('Xcode' in result or 'Apple' in result): env['using_apple_clang'] = True env['openmp_flag'].insert(0, '-Xpreprocessor') @@ -1052,6 +1052,7 @@ else: env['cxx_stdlib'] = [] env['HAS_CLANG'] = conf.CheckDeclaration('__clang__', '', 'C++') +env['HAS_OPENMP'] = conf.CheckCXXHeader('omp.h', '""') boost_version_source = get_expression_value([''], 'BOOST_LIB_VERSION') retcode, boost_lib_version = conf.TryRun(boost_version_source, '.cpp') diff --git a/samples/cxx/SConscript b/samples/cxx/SConscript index 246b8d3bae..6a29c950d4 100644 --- a/samples/cxx/SConscript +++ b/samples/cxx/SConscript @@ -36,8 +36,11 @@ set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}) localenv.Append(LIBS=env['cantera_libs']) localenv.Prepend(CPPPATH=['#include']) - buildSample(localenv.Program, pjoin(subdir, name), - mglob(localenv, subdir, *extensions)) + if openmp and not env['HAS_OPENMP']: + print("INFO: Skipping sample {} because 'omp.h' was not found.".format(name)) + else: + buildSample(localenv.Program, pjoin(subdir, name), + mglob(localenv, subdir, *extensions)) # Note: These Makefiles and SConstruct files are automatically installed # by the "RecursiveInstall" that grabs everything in the cxx directory. diff --git a/test_problems/SConscript b/test_problems/SConscript index 05091fc7ad..f49b0bc569 100644 --- a/test_problems/SConscript +++ b/test_problems/SConscript @@ -248,10 +248,11 @@ Test('cxx-gas-transport', 'cxx_samples', Test('cxx-LiC6-electrode', 'cxx_samples', '#build/samples/cxx/LiC6_electrode/LiC6_electrode', None, comparisons=[('LiC6_electrode_blessed.csv', 'LiC6_electrode_output.csv')]) -Test('cxx-openmp-ignition', 'cxx_samples', - '#build/samples/cxx/openmp_ignition/openmp_ignition', - 'opmenmp_ignition_blessed.txt', - ignoreLines=['Running on']) +if env['HAS_OPENMP']: + Test('cxx-openmp-ignition', 'cxx_samples', + '#build/samples/cxx/openmp_ignition/openmp_ignition', + 'opmenmp_ignition_blessed.txt', + ignoreLines=['Running on']) Test('cxx-rankine', 'cxx_samples', '#build/samples/cxx/rankine/rankine', 'rankine_blessed.txt')