Thanks for the tip. I get the following error:
====================[ Build | oofem | Release_OMP ]=============================
[ 5%] Built target fm
[ 12%] Built target tm
[ 47%] Built target core
[ 98%] Built target sm
[ 98%] Built target sm
[100%] Linking CXX shared library liboofem.dylib
Undefined symbols for architecture x86_64:
"___kmpc_barrier", referenced from:
oofem::OctreeSpatialLocalizer::init(bool) in octreelocalizer.C.o
"___kmpc_critical", referenced from:
_.omp_outlined. in engngm.C.o
_.omp_outlined..35 in engngm.C.o
_.omp_outlined..36 in engngm.C.o
_.omp_outlined..37 in engngm.C.o
_.omp_outlined..62 in engngm.C.o
_.omp_outlined..66 in engngm.C.o
oofem::EngngModel::assembleExtrapolatedForces(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::Domain*) in engngm.C.o
...
"___kmpc_end_critical", referenced from:
_.omp_outlined. in engngm.C.o
_.omp_outlined..35 in engngm.C.o
_.omp_outlined..36 in engngm.C.o
_.omp_outlined..37 in engngm.C.o
_.omp_outlined..62 in engngm.C.o
_.omp_outlined..66 in engngm.C.o
oofem::EngngModel::assembleExtrapolatedForces(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::Domain*) in engngm.C.o
...
"___kmpc_end_single", referenced from:
oofem::OctreeSpatialLocalizer::init(bool) in octreelocalizer.C.o
"___kmpc_for_static_fini", referenced from:
_.omp_outlined. in engngm.C.o
_.omp_outlined..34 in engngm.C.o
_.omp_outlined..35 in engngm.C.o
_.omp_outlined..36 in engngm.C.o
_.omp_outlined..37 in engngm.C.o
_.omp_outlined..62 in engngm.C.o
_.omp_outlined..64 in engngm.C.o
...
"___kmpc_for_static_init_4", referenced from:
_.omp_outlined. in engngm.C.o
_.omp_outlined..34 in engngm.C.o
_.omp_outlined..35 in engngm.C.o
_.omp_outlined..36 in engngm.C.o
_.omp_outlined..37 in engngm.C.o
_.omp_outlined..62 in engngm.C.o
_.omp_outlined..66 in engngm.C.o
...
"___kmpc_for_static_init_8", referenced from:
_.omp_outlined..64 in engngm.C.o
_.omp_outlined..67 in engngm.C.o
"___kmpc_fork_call", referenced from:
oofem::EngngModel::assembleVectorFromDofManagers(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
oofem::EngngModel::assembleVectorFromBC(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
oofem::EngngModel::assembleVectorFromElements(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
oofem::EngngModel::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::MatrixAssembler const&, oofem::UnknownNumberingScheme const&, oofem::Domain*) in engngm.C.o
oofem::EngngModel::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::MatrixAssembler const&, oofem::UnknownNumberingScheme const&, oofem::UnknownNumberingScheme const&, oofem::Domain*) in engngm.C.o
oofem::EngngModel::assembleVector(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
oofem::TransportGradientDirichlet::computeTangent(oofem::FloatMatrix&, oofem::TimeStep*) in transportgradientdirichlet.C.o
...
"___kmpc_global_thread_num", referenced from:
oofem::OctreeSpatialLocalizer::init(bool) in octreelocalizer.C.o
oofem::EngngModel::assembleExtrapolatedForces(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::Domain*) in engngm.C.o
oofem::EngngModel::assemblePrescribedExtrapolatedForces(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::Domain*) in engngm.C.o
"___kmpc_single", referenced from:
oofem::OctreeSpatialLocalizer::init(bool) in octreelocalizer.C.o
"_omp_init_lock", referenced from:
oofem::OctreeSpatialLocalizer::OctreeSpatialLocalizer(oofem::Domain*) in octreelocalizer.C.o
oofem::EngngModel::assembleVectorFromBC(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
oofem::EngngModel::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::MatrixAssembler const&, oofem::UnknownNumberingScheme const&, oofem::Domain*) in engngm.C.o
oofem::EngngModel::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::MatrixAssembler const&, oofem::UnknownNumberingScheme const&, oofem::UnknownNumberingScheme const&, oofem::Domain*) in engngm.C.o
oofem::EngngModel::assembleVector(oofem::FloatArray&, oofem::TimeStep*, oofem::VectorAssembler const&, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::Domain*, oofem::FloatArray*) in engngm.C.o
"_omp_set_lock", referenced from:
oofem::WeakPeriodicBoundaryCondition::giveInternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::FloatArray*, void*) in weakperiodicbc.C.o
oofem::WeakPeriodicBoundaryCondition::giveExternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, void*) in weakperiodicbc.C.o
oofem::WeakPeriodicBoundaryCondition::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::CharType, oofem::UnknownNumberingScheme const&, oofem::UnknownNumberingScheme const&, double, void*) in weakperiodicbc.C.o
oofem::PrescribedMean::giveInternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::FloatArray*, void*) in prescribedmean.C.o
oofem::PrescribedMean::giveExternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, void*) in prescribedmean.C.o
oofem::PrescribedMean::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::CharType, oofem::UnknownNumberingScheme const&, oofem::UnknownNumberingScheme const&, double, void*) in prescribedmean.C.o
oofem::OctreeSpatialLocalizer::initElementIPDataStructure() in octreelocalizer.C.o
...
"_omp_unset_lock", referenced from:
oofem::WeakPeriodicBoundaryCondition::giveInternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::FloatArray*, void*) in weakperiodicbc.C.o
oofem::WeakPeriodicBoundaryCondition::giveExternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, void*) in weakperiodicbc.C.o
oofem::WeakPeriodicBoundaryCondition::assemble(oofem::SparseMtrx&, oofem::TimeStep*, oofem::CharType, oofem::UnknownNumberingScheme const&, oofem::UnknownNumberingScheme const&, double, void*) in weakperiodicbc.C.o
oofem::PrescribedMean::giveInternalForcesVector(oofem::FloatArray&, oofem::TimeStep*, oofem::CharType, oofem::ValueModeType, oofem::UnknownNumberingScheme const&, oofem::FloatArray*, void*) in prescribedmean.C.o
oofem::OctreeSpatialLocalizer::initElementIPDataStructure() in octreelocalizer.C.o
_.omp_outlined..34 in engngm.C.o
_.omp_outlined..64 in engngm.C.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [liboofem.dylib] Error 1
make[2]: *** [CMakeFiles/liboofem.dir/all] Error 2
make[1]: *** [CMakeFiles/oofem.dir/rule] Error 2
make: *** [oofem] Error 2
I think I should provide the location of the OpenMP library so the linking process goes successfully but I don't know where in the CMake Lists I should add it.