|
|
@ -85,6 +85,7 @@ function(_OPENMP_FLAG_CANDIDATES LANG) |
|
|
|
|
|
|
|
set(OMP_FLAG_GNU "-fopenmp") |
|
|
|
set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp") |
|
|
|
set(OMP_FLAG_AppleClang "-Xclang -fopenmp") |
|
|
|
set(OMP_FLAG_HP "+Oopenmp") |
|
|
|
if(WIN32) |
|
|
|
set(OMP_FLAG_Intel "-Qopenmp") |
|
|
@ -256,6 +257,28 @@ function(_OPENMP_GET_FLAGS LANG FLAG_MODE OPENMP_FLAG_VAR OPENMP_LIB_NAMES_VAR) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
break() |
|
|
|
elseif(CMAKE_${LANG}_COMPILER_ID STREQUAL "AppleClang" |
|
|
|
AND CMAKE_${LANG}_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0") |
|
|
|
|
|
|
|
# Check for separate OpenMP library on AppleClang 7+ |
|
|
|
find_library(OpenMP_libomp_LIBRARY |
|
|
|
NAMES omp gomp iomp5 |
|
|
|
HINTS ${CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES} |
|
|
|
) |
|
|
|
mark_as_advanced(OpenMP_libomp_LIBRARY) |
|
|
|
|
|
|
|
if(OpenMP_libomp_LIBRARY) |
|
|
|
try_compile( OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG} ${CMAKE_BINARY_DIR} ${_OPENMP_TEST_SRC} |
|
|
|
CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${OPENMP_FLAGS_TEST}" |
|
|
|
LINK_LIBRARIES ${CMAKE_${LANG}_VERBOSE_FLAG} ${OpenMP_libomp_LIBRARY} |
|
|
|
OUTPUT_VARIABLE OpenMP_TRY_COMPILE_OUTPUT |
|
|
|
) |
|
|
|
if(OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG}) |
|
|
|
set("${OPENMP_FLAG_VAR}" "${OPENMP_FLAG}" PARENT_SCOPE) |
|
|
|
set("${OPENMP_LIB_NAMES_VAR}" "libomp" PARENT_SCOPE) |
|
|
|
break() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
set("${OPENMP_LIB_NAMES_VAR}" "NOTFOUND" PARENT_SCOPE) |
|
|
|
set("${OPENMP_FLAG_VAR}" "NOTFOUND" PARENT_SCOPE) |
|
|
|