tFindGSL.cmake - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
 (HTM) git clone git://src.adamsgaard.dk/pism
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
       tFindGSL.cmake (2160B)
       ---
            1 # - Find GSL
            2 # Find the native GSL includes and library
            3 #
            4 #  GSL_INCLUDES    - where to find gsl/gsl_*.h, etc.
            5 #  GSL_LIBRARIES   - List of libraries when using GSL.
            6 #  GSL_FOUND       - True if GSL found.
            7 
            8 
            9 if (GSL_INCLUDES)
           10   # Already in cache, be silent
           11   set (GSL_FIND_QUIETLY TRUE)
           12 endif (GSL_INCLUDES)
           13 
           14 find_path (GSL_INCLUDES gsl/gsl_math.h
           15   HINTS "${GSL_ROOT}/include" "$ENV{GSL_ROOT}/include")
           16 
           17 string(REGEX REPLACE "/include/?$" "/lib"
           18   GSL_LIB_HINT ${GSL_INCLUDES})
           19 
           20 find_library (GSL_LIB
           21   NAMES gsl
           22   HINTS ${GSL_LIB_HINT})
           23 
           24 find_library(GSL_CBLAS_LIB
           25   NAMES gslcblas
           26   HINTS ${GSL_LIB_HINT})
           27 
           28 if ((NOT GSL_INCLUDES) OR (NOT GSL_LIB) OR (NOT GSL_CBLAS_LIB))
           29   message(STATUS "Trying to find GSL using 'gsl-config'...")
           30   find_program(GSL_CONFIG "gsl-config")
           31   if (GSL_CONFIG)
           32     execute_process(COMMAND ${GSL_CONFIG} --prefix
           33       OUTPUT_VARIABLE GSL_PREFIX
           34       OUTPUT_STRIP_TRAILING_WHITESPACE)
           35 
           36     find_path(GSL_INCLUDES gsl/gsl_math.h
           37       HINTS "${GSL_PREFIX}/include")
           38 
           39     find_library (GSL_LIB NAMES gsl
           40       HINTS "${GSL_PREFIX}/lib")
           41 
           42     find_library(GSL_CBLAS_LIB NAMES gslcblas
           43       HINTS "${GSL_PREFIX}/lib")
           44   endif()
           45 endif()
           46 
           47 if ((NOT GSL_LIB) OR (NOT GSL_INCLUDES))
           48   message(STATUS "Trying to find GSL using LD_LIBRARY_PATH (we're desperate)...")
           49 
           50   file(TO_CMAKE_PATH "$ENV{LD_LIBRARY_PATH}" LD_LIBRARY_PATH)
           51 
           52   find_library(GSL_LIB
           53     NAMES gsl
           54     HINTS ${LD_LIBRARY_PATH})
           55 
           56   find_library(GSL_CBLAS_LIB
           57     NAMES gslcblas
           58     HINTS ${LD_LIBRARY_PATH})
           59 
           60   if (GSL_LIB)
           61     get_filename_component(GSL_LIB_DIR ${GSL_LIB} PATH)
           62     string(REGEX REPLACE "/lib/?$" "/include"
           63       GSL_H_HINT ${GSL_LIB_DIR})
           64 
           65     find_path (GSL_INCLUDES gsl/gsl_math.h
           66       HINTS ${GSL_H_HINT}
           67       DOC "Path to gsl/gsl_math.h")
           68   endif()
           69 endif()
           70 
           71 if (GSL_LIB AND GSL_CBLAS_LIB)
           72   set (GSL_LIBRARIES "${GSL_LIB}" "${GSL_CBLAS_LIB}")
           73 endif()
           74 
           75 # handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE if
           76 # all listed variables are TRUE
           77 include (FindPackageHandleStandardArgs)
           78 find_package_handle_standard_args (GSL DEFAULT_MSG GSL_LIBRARIES GSL_INCLUDES)
           79 
           80 mark_as_advanced (GSL_LIB GSL_CBLAS_LIB GSL_INCLUDES GSL_CONFIG)