diff --git a/cmake/generic/modules/FindGSL.cmake b/cmake/generic/modules/FindGSL.cmake deleted file mode 100644 index 1528e3b83263876374d87049d073308a17bec4de..0000000000000000000000000000000000000000 --- a/cmake/generic/modules/FindGSL.cmake +++ /dev/null @@ -1,239 +0,0 @@ -#.rst: -# FindGSL -# -------- -# -# Find the native GSL includes and libraries. -# -# The GNU Scientific Library (GSL) is a numerical library for C and C++ -# programmers. It is free software under the GNU General Public -# License. -# -# Imported Targets -# ^^^^^^^^^^^^^^^^ -# -# If GSL is found, this module defines the following :prop_tgt:`IMPORTED` -# targets:: -# -# GSL::gsl - The main GSL library. -# GSL::gslcblas - The CBLAS support library used by GSL. -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# This module will set the following variables in your project:: -# -# GSL_FOUND - True if GSL found on the local system -# GSL_INCLUDE_DIRS - Location of GSL header files. -# GSL_LIBRARIES - The GSL libraries. -# GSL_VERSION - The version of the discovered GSL install. -# -# Hints -# ^^^^^ -# -# Set ``GSL_ROOT_DIR`` to a directory that contains a GSL installation. -# -# This script expects to find libraries at ``$GSL_ROOT_DIR/lib`` and the GSL -# headers at ``$GSL_ROOT_DIR/include/gsl``. The library directory may -# optionally provide Release and Debug folders. For Unix-like systems, this -# script will use ``$GSL_ROOT_DIR/bin/gsl-config`` (if found) to aid in the -# discovery GSL. -# -# Cache Variables -# ^^^^^^^^^^^^^^^ -# -# This module may set the following variables depending on platform and type -# of GSL installation discovered. These variables may optionally be set to -# help this module find the correct files:: -# -# GSL_CLBAS_LIBRARY - Location of the GSL CBLAS library. -# GSL_CBLAS_LIBRARY_DEBUG - Location of the debug GSL CBLAS library (if any). -# GSL_CONFIG_EXECUTABLE - Location of the ``gsl-config`` script (if any). -# GSL_LIBRARY - Location of the GSL library. -# GSL_LIBRARY_DEBUG - Location of the debug GSL library (if any). -# - -#============================================================================= -# Copyright 2014 Kelly Thompson <kgt@lanl.gov> -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -# Include these modules to handle the QUIETLY and REQUIRED arguments. -#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) # original -include(FindPackageHandleStandardArgs) # patched JWu 4/16 - -#============================================================================= -# If the user has provided ``GSL_ROOT_DIR``, use it! Choose items found -# at this location over system locations. -if( EXISTS "$ENV{GSL_ROOT_DIR}" ) - file( TO_CMAKE_PATH "$ENV{GSL_ROOT_DIR}" GSL_ROOT_DIR ) - set( GSL_ROOT_DIR "${GSL_ROOT_DIR}" CACHE PATH "Prefix for GSL installation." ) -endif() -if( NOT EXISTS "${GSL_ROOT_DIR}" ) - set( GSL_USE_PKGCONFIG ON ) -endif() - -#============================================================================= -# As a first try, use the PkgConfig module. This will work on many -# *NIX systems. See :module:`findpkgconfig` -# This will return ``GSL_INCLUDEDIR`` and ``GSL_LIBDIR`` used below. -if( GSL_USE_PKGCONFIG ) - find_package(PkgConfig) - pkg_check_modules( GSL QUIET gsl ) - - if( EXISTS "${GSL_INCLUDEDIR}" ) - get_filename_component( GSL_ROOT_DIR "${GSL_INCLUDEDIR}" DIRECTORY CACHE) - endif() -endif() - -#============================================================================= -# Set GSL_INCLUDE_DIRS and GSL_LIBRARIES. If we skipped the PkgConfig step, try -# to find the libraries at $GSL_ROOT_DIR (if provided) or in standard system -# locations. These find_library and find_path calls will prefer custom -# locations over standard locations (HINTS). If the requested file is not found -# at the HINTS location, standard system locations will be still be searched -# (/usr/lib64 (Redhat), lib/i386-linux-gnu (Debian)). - -find_path( GSL_INCLUDE_DIR - NAMES gsl/gsl_sf.h - HINTS ${GSL_ROOT_DIR}/include ${GSL_INCLUDEDIR} -) -find_library( GSL_LIBRARY - NAMES gsl - HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR} - PATH_SUFFIXES Release Debug -) -find_library( GSL_CBLAS_LIBRARY - NAMES gslcblas cblas - HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR} - PATH_SUFFIXES Release Debug -) -# Do we also have debug versions? -find_library( GSL_LIBRARY_DEBUG - NAMES gsl - HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR} - PATH_SUFFIXES Debug -) -find_library( GSL_CBLAS_LIBRARY_DEBUG - NAMES gslcblas cblas - HINTS ${GSL_ROOT_DIR}/lib ${GSL_LIBDIR} - PATH_SUFFIXES Debug -) -set( GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR} ) -set( GSL_LIBRARIES ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} ) - -# If we didn't use PkgConfig, try to find the version via gsl-config or by -# reading gsl_version.h. -if( NOT GSL_VERSION ) - # 1. If gsl-config exists, query for the version. - find_program( GSL_CONFIG_EXECUTABLE - NAMES gsl-config - HINTS "${GSL_ROOT_DIR}/bin" - ) - if( EXISTS "${GSL_CONFIG_EXECUTABLE}" ) - execute_process( - COMMAND "${GSL_CONFIG_EXECUTABLE}" --version - OUTPUT_VARIABLE GSL_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE ) - endif() - - # 2. If gsl-config is not available, try looking in gsl/gsl_version.h - if( NOT GSL_VERSION AND EXISTS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" ) - file( STRINGS "${GSL_INCLUDE_DIRS}/gsl/gsl_version.h" gsl_version_h_contents REGEX "define GSL_VERSION" ) - string( REGEX REPLACE ".*([0-9].[0-9][0-9]).*" "\\1" GSL_VERSION ${gsl_version_h_contents} ) - endif() - - # might also try scraping the directory name for a regex match "gsl-X.X" -endif() - -#============================================================================= -# handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE if all -# listed variables are TRUE -find_package_handle_standard_args( GSL - FOUND_VAR - GSL_FOUND - REQUIRED_VARS - GSL_INCLUDE_DIR - GSL_LIBRARY - GSL_CBLAS_LIBRARY - VERSION_VAR - GSL_VERSION - ) - -mark_as_advanced( GSL_ROOT_DIR GSL_VERSION GSL_LIBRARY GSL_INCLUDE_DIR - GSL_CBLAS_LIBRARY GSL_LIBRARY_DEBUG GSL_CBLAS_LIBRARY_DEBUG - GSL_USE_PKGCONFIG GSL_CONFIG ) - -#============================================================================= -# Register imported libraries: -# 1. If we can find a Windows .dll file (or if we can find both Debug and -# Release libraries), we will set appropriate target properties for these. -# 2. However, for most systems, we will only register the import location and -# include directory. - -# Look for dlls, or Release and Debug libraries. -if(WIN32) - string( REPLACE ".lib" ".dll" GSL_LIBRARY_DLL "${GSL_LIBRARY}" ) - string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DLL "${GSL_CBLAS_LIBRARY}" ) - string( REPLACE ".lib" ".dll" GSL_LIBRARY_DEBUG_DLL "${GSL_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" GSL_CBLAS_LIBRARY_DEBUG_DLL "${GSL_CBLAS_LIBRARY_DEBUG}" ) -endif() - -if( GSL_FOUND AND NOT TARGET GSL::gsl ) - if( EXISTS "${GSL_LIBRARY_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DLL}") - - # Windows systems with dll libraries. - add_library( GSL::gsl SHARED IMPORTED ) - add_library( GSL::gslcblas SHARED IMPORTED ) - - # Windows with dlls, but only Release libraries. - set_target_properties( GSL::gslcblas PROPERTIES - IMPORTED_LOCATION_RELEASE "${GSL_CBLAS_LIBRARY_DLL}" - IMPORTED_IMPLIB "${GSL_CBLAS_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${GSL_INCLUDE_DIRS}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - set_target_properties( GSL::gsl PROPERTIES - IMPORTED_LOCATION_RELEASE "${GSL_LIBRARY_DLL}" - IMPORTED_IMPLIB "${GSL_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${GSL_INCLUDE_DIRS}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - INTERFACE_LINK_LIBRARIES GSL::gslcblas ) - - # If we have both Debug and Release libraries - if( EXISTS "${GSL_LIBRARY_DEBUG_DLL}" AND EXISTS "${GSL_CBLAS_LIBRARY_DEBUG_DLL}") - set_property( TARGET GSL::gslcblas APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( GSL::gslcblas PROPERTIES - IMPORTED_LOCATION_DEBUG "${GSL_CBLAS_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${GSL_CBLAS_LIBRARY_DEBUG}" ) - set_property( TARGET GSL::gsl APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( GSL::gsl PROPERTIES - IMPORTED_LOCATION_DEBUG "${GSL_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${GSL_LIBRARY_DEBUG}" ) - endif() - - else() - - # For all other environments (ones without dll libraries), create - # the imported library targets. - add_library( GSL::gsl UNKNOWN IMPORTED ) - add_library( GSL::gslcblas UNKNOWN IMPORTED ) - set_target_properties( GSL::gslcblas PROPERTIES - IMPORTED_LOCATION "${GSL_CBLAS_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${GSL_INCLUDE_DIRS}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - set_target_properties( GSL::gsl PROPERTIES - IMPORTED_LOCATION "${GSL_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${GSL_INCLUDE_DIRS}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - INTERFACE_LINK_LIBRARIES GSL::gslcblas ) - endif() -endif()