diff --git a/cmake/modules/FindSuiteSparse.cmake b/cmake/modules/FindSuiteSparse.cmake index 9fec9323f88830311dff47199cc59d4beb7dd4fe..382d24f4684d1181489dfe6b0cb6c2ebbb640a0c 100644 --- a/cmake/modules/FindSuiteSparse.cmake +++ b/cmake/modules/FindSuiteSparse.cmake @@ -12,7 +12,7 @@ # # Sets the following result variables: # -# SUITESPARSE_FOUND Whether SuiteSparse was found and usable in the desired setting +# SuiteSparse_FOUND Whether SuiteSparse was found and usable in the desired setting # SUITESPARSE_INCLUDE_DIRS Path to the SuiteSparse include dirs # SUITESPARSE_LIBRARIES Name of the SuiteSparse libraries # SUITESPARSE_<COMPONENT>_FOUND Whether <COMPONENT> was found as part of SuiteSparse @@ -151,6 +151,8 @@ set(SUITESPARSE_FOUND TRUE) foreach(modname ${SUITESPARSE_COMPONENTS}) dune_module_to_uppercase(MODNAME ${modname}) set(SUITESPARSE_${MODNAME}_FOUND TRUE) + # variable used for component handling + set(SuiteSparse_${modname}_FOUND TRUE) if(${MODNAME}_LIBRARY AND ${MODNAME}_INCLUDE_DIR) list(APPEND SUITESPARSE_INCLUDE_DIR "${${MODNAME}_INCLUDE_DIR}") list(APPEND SUITESPARSE_LIBRARY "${${MODNAME}_LIBRARY}") @@ -161,6 +163,7 @@ foreach(modname ${SUITESPARSE_COMPONENTS}) set(HAVE_SUITESPARSE_${MODNAME} 1) mark_as_advanced(HAVE_SUITESPARSE_${MODNAME}) mark_as_advanced(SUITESPARSE_${MODNAME}_FOUND) + mark_as_advanced(SuiteSparse_${modname}_FOUND) endforeach() list(APPEND SUITESPARSE_LIBRARY ${SUITESPARSE_CONFIG_LIB}) @@ -181,15 +184,16 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args( "SuiteSparse" - DEFAULT_MSG + REQUIRED_VARS SUITESPARSE_INCLUDE_DIR SUITESPARSE_LIBRARY + HANDLE_COMPONENTS ) mark_as_advanced(SUITESPARSE_INCLUDE_DIR SUITESPARSE_LIBRARY) # if both headers and library are found, store results -if(SUITESPARSE_FOUND) +if(SuiteSparse_FOUND) set(SUITESPARSE_LIBRARIES ${SUITESPARSE_LIBRARY}) set(SUITESPARSE_INCLUDE_DIRS ${SUITESPARSE_INCLUDE_DIR}) # log result @@ -214,10 +218,10 @@ else() endif() #set HAVE_SUITESPARSE for config.h -set(HAVE_SUITESPARSE ${SUITESPARSE_FOUND}) +set(HAVE_SUITESPARSE ${SuiteSparse_FOUND}) # register all SuiteSparse related flags -if(SUITESPARSE_FOUND) +if(SuiteSparse_FOUND) dune_register_package_flags( COMPILE_DEFINITIONS "ENABLE_SUITESPARSE=1" LIBRARIES "${SUITESPARSE_LIBRARIES}" diff --git a/cmake/modules/FindUMFPack.cmake b/cmake/modules/FindUMFPack.cmake index f1854c205df6484fc3f50ba451ebc9128ab02b22..31a1bdaa9504d154409adb83e2d6e3ba721a05cc 100644 --- a/cmake/modules/FindUMFPack.cmake +++ b/cmake/modules/FindUMFPack.cmake @@ -13,8 +13,7 @@ include( FindSuiteSparse ) find_package( SuiteSparse COMPONENTS umfpack ) -if( SUITESPARSE_FOUND ) - set( UMFPACK_FOUND TRUE ) +if(SuiteSparse_umfpack_FOUND) set( UMFPACK_INCLUDE_DIR ${SUITESPARSE_INCLUDE_DIR} ) set( UMFPACK_LIBRARY ${SUITESPARSE_LIBRARY} ) endif()