Code

Cmake: added windows path to find modules.
[inkscape.git] / CMakeScripts / FindGSL.cmake
1 # - Try to find GSL
2 # Once done this will define
3 #
4 #  GSL_FOUND - system has GSL
5 #  GSL_INCLUDE_DIRS - the GSL include directory
6 #  GSL_LIBRARIES - Link these to use GSL
7 #  GSL_DEFINITIONS - Compiler switches required for using GSL
8 #
9 #  Copyright (c) 2008  Joshua L. Blocher <verbalshadow@gmail.com>
10 #
11 #  Redistribution and use is allowed according to the terms of the New
12 #  BSD license.
13 #  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
14 #
17 if (GSL_LIBRARIES AND GSL_INCLUDE_DIRS)
18   # in cache already
19   set(GSL_FOUND TRUE)
20 else (GSL_LIBRARIES AND GSL_INCLUDE_DIRS)
21   # use pkg-config to get the directories and then use these values
22   # in the FIND_PATH() and FIND_LIBRARY() calls
23   if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
24     include(UsePkgConfig)
25     pkgconfig(gsl _GSL_INCLUDEDIR _GSL_LIBDIR _GSL_LDFLAGS _GSL_CFLAGS)
26   else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
27     find_package(PkgConfig)
28     if (PKG_CONFIG_FOUND)
29       pkg_check_modules(_GSL gsl)
30     endif (PKG_CONFIG_FOUND)
31   endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
32   find_path(GSL_INCLUDE_DIR
33     NAMES
34       gsl_matrix.h
35     PATHS
36       ${_GSL_INCLUDEDIR}
37       /usr/include
38       /usr/local/include
39       /opt/local/include
40       /sw/include
41       $ENV{DEVLIBS_PATH}//include//
42     PATH_SUFFIXES
43       gsl
44   )
46   find_library(GSL_LIBRARY
47     NAMES
48       gsl
49     PATHS
50       ${_GSL_LIBDIR}
51       /usr/lib
52       /usr/local/lib
53       /opt/local/lib
54       /sw/lib
55   )
57   if (GSL_LIBRARY)
58     set(GSL_FOUND TRUE)
59   endif (GSL_LIBRARY)
61   set(GSL_INCLUDE_DIRS
62     ${GSL_INCLUDE_DIR}
63   )
65   if (GSL_FOUND)
66     set(GSL_LIBRARIES
67       ${GSL_LIBRARIES}
68       ${GSL_LIBRARY}
69     )
70   endif (GSL_FOUND)
72   if (GSL_INCLUDE_DIRS AND GSL_LIBRARIES)
73      set(GSL_FOUND TRUE)
74   endif (GSL_INCLUDE_DIRS AND GSL_LIBRARIES)
76   if (GSL_FOUND)
77     if (NOT GSL_FIND_QUIETLY)
78       message(STATUS "Found GSL: ${GSL_LIBRARIES}")
79     endif (NOT GSL_FIND_QUIETLY)
80   else (GSL_FOUND)
81     if (GSL_FIND_REQUIRED)
82       message(FATAL_ERROR "Could not find GSL")
83     endif (GSL_FIND_REQUIRED)
84   endif (GSL_FOUND)
86   # show the GSL_INCLUDE_DIRS and GSL_LIBRARIES variables only in the advanced view
87   mark_as_advanced(GSL_INCLUDE_DIRS GSL_LIBRARIES)
89 endif (GSL_LIBRARIES AND GSL_INCLUDE_DIRS)