@ -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" )
@ -125,6 +126,7 @@ set(OpenMP_C_CXX_TEST_SOURCE
# i n c l u d e < o m p . h >
i n t main ( ) {
# i f d e f _ O P E N M P
i n t n = omp_get_max_threads ( ) ;
r e t u r n 0 ;
# e l s e
b r e a k s _ o n _ p u r p o s e
@ -163,7 +165,7 @@ function(_OPENMP_WRITE_SOURCE_FILE LANG SRC_FILE_CONTENT_VAR SRC_FILE_NAME SRC_F
set ( ${ SRC_FILE_FULLPATH } "${SRC_FILE}" PARENT_SCOPE )
endfunction ( )
include ( ${ CMAKE_ROOT } /Modules /CMakeParseImplicitLinkInfo.cmake )
include ( ${ CMAKE_CURRENT_LIST_DIR } /CMakeParseImplicitLinkInfo.cmake )
function ( _OPENMP_GET_FLAGS LANG FLAG_MODE OPENMP_FLAG_VAR OPENMP_LIB_NAMES_VAR )
_OPENMP_FLAG_CANDIDATES ( "${LANG}" )
@ -255,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"
A N D C M A K E _ $ { L A N G } _ C O M P I L E R _ V E R S I O N V E R S I O N _ G R E A T E R _ E Q U A L " 7 . 0 " )
# C h e c k f o r s e p a r a t e O p e n M P l i b r a r y o n A p p l e C l a n g 7 +
find_library ( OpenMP_libomp_LIBRARY
N A M E S o m p g o m p i o m p 5
H I N T S $ { C M A K E _ $ { L A N G } _ I M P L I C I T _ L I N K _ D I R E C T O R I E S }
)
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 }
C M A K E _ F L A G S " - D C O M P I L E _ D E F I N I T I O N S : S T R I N G = $ { O P E N M P _ F L A G S _ T E S T } "
L I N K _ L I B R A R I E S $ { C M A K E _ $ { L A N G } _ V E R B O S E _ F L A G } $ { O p e n M P _ l i b o m p _ L I B R A R Y }
O U T P U T _ V A R I A B L E O p e n M P _ T R Y _ C O M P I L E _ O U T P U T
)
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 )
@ -423,6 +447,8 @@ endif()
unset ( _OpenMP_MIN_VERSION )
include ( ${ CMAKE_CURRENT_LIST_DIR } /FindPackageHandleStandardArgs.cmake )
foreach ( LANG IN LISTS OpenMP_FINDLIST )
if ( CMAKE_ ${ LANG } _COMPILER_LOADED )
if ( NOT OpenMP_ ${ LANG } _SPEC_DATE AND OpenMP_ ${ LANG } _FLAGS )
@ -432,8 +458,6 @@ foreach(LANG IN LISTS OpenMP_FINDLIST)
_OPENMP_SET_VERSION_BY_SPEC_DATE ( "${LANG}" )
endif ( )
include ( ${ CMAKE_CURRENT_LIST_DIR } /FindPackageHandleStandardArgs.cmake )
set ( OpenMP_ ${ LANG } _FIND_QUIETLY ${ OpenMP_FIND_QUIETLY } )
set ( OpenMP_ ${ LANG } _FIND_REQUIRED ${ OpenMP_FIND_REQUIRED } )
set ( OpenMP_ ${ LANG } _FIND_VERSION ${ OpenMP_FIND_VERSION } )