~ubuntu-branches/ubuntu/wily/openms/wily

« back to all changes in this revision

Viewing changes to cmake/modules/FindGSL.cmake

  • Committer: Package Import Robot
  • Author(s): Filippo Rusconi
  • Date: 2013-12-20 11:30:16 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131220113016-wre5g9bteeheq6he
Tags: 1.11.1-3
* remove version number from libbost development package names;
* ensure that AUTHORS is correctly shipped in all packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# --------------------------------------------------------------------------
 
2
#                   OpenMS -- Open-Source Mass Spectrometry               
 
3
# --------------------------------------------------------------------------
 
4
# Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
 
5
# ETH Zurich, and Freie Universitaet Berlin 2002-2012.
 
6
 
7
# This software is released under a three-clause BSD license:
 
8
#  * Redistributions of source code must retain the above copyright
 
9
#    notice, this list of conditions and the following disclaimer.
 
10
#  * Redistributions in binary form must reproduce the above copyright
 
11
#    notice, this list of conditions and the following disclaimer in the
 
12
#    documentation and/or other materials provided with the distribution.
 
13
#  * Neither the name of any author or any participating institution 
 
14
#    may be used to endorse or promote products derived from this software 
 
15
#    without specific prior written permission.
 
16
# For a full list of authors, refer to the file AUTHORS. 
 
17
# --------------------------------------------------------------------------
 
18
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
19
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
20
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
21
# ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING 
 
22
# INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 
23
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 
24
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
 
25
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 
26
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 
27
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
 
28
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
29
#
 
30
# --------------------------------------------------------------------------
 
31
# $Maintainer: Stephan Aiche $
 
32
# $Authors: Stephan Aiche $
 
33
# --------------------------------------------------------------------------
 
34
 
 
35
# Based on the FindGLPK module
 
36
 
 
37
SET(GSL_ROOT_DIR "" CACHE PATH "GSL root directory")
 
38
 
 
39
SET(GSL_REGKEY "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Gsl;InstallPath]")
 
40
GET_FILENAME_COMPONENT(GSL_ROOT_PATH ${GSL_REGKEY} ABSOLUTE)
 
41
 
 
42
FIND_PATH(GSL_INCLUDE_DIR
 
43
  gsl_version.h
 
44
  PATHS ${GSL_REGKEY}/include
 
45
  HINTS ${GSL_ROOT_DIR}/include
 
46
  PATH_SUFFIXES gsl
 
47
)
 
48
FIND_LIBRARY(GSL_LIBRARY_RELEASE
 
49
  gsl
 
50
  PATHS ${GSL_REGKEY}/lib
 
51
  HINTS ${GSL_ROOT_DIR}/lib
 
52
)
 
53
 
 
54
FIND_LIBRARY(GSL_LIBRARY_DEBUG
 
55
  gsl_d
 
56
  PATHS ${GSL_REGKEY}/lib
 
57
  HINTS ${GSL_ROOT_DIR}/lib
 
58
)
 
59
 
 
60
FIND_LIBRARY(GSL_CBLAS_LIBRARY_RELEASE
 
61
  gslcblas
 
62
        cblas
 
63
  PATHS ${GSL_REGKEY}/lib
 
64
  HINTS ${GSL_ROOT_DIR}/lib
 
65
)
 
66
 
 
67
FIND_LIBRARY(GSL_CBLAS_LIBRARY_DEBUG
 
68
  gslcblas_d
 
69
        cblas_d
 
70
  PATHS ${GSL_REGKEY}/lib
 
71
  HINTS ${GSL_ROOT_DIR}/lib
 
72
)
 
73
 
 
74
include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
 
75
SELECT_LIBRARY_CONFIGURATIONS(GSL)
 
76
SELECT_LIBRARY_CONFIGURATIONS(GSL_CBLAS)
 
77
 
 
78
IF(GSL_INCLUDE_DIR AND GSL_LIBRARY AND GSL_CBLAS_LIBRARY)
 
79
  FILE(READ ${GSL_INCLUDE_DIR}/gsl_version.h GSL_GSL_VERSION_H)
 
80
 
 
81
  string(REGEX MATCH "define[ ]+GSL_VERSION[ ]+\"[0-9]+\\.[0-9]+\"" GSL_VERSION_LINE "${GSL_GSL_VERSION_H}")
 
82
  string(REGEX REPLACE "define[ ]+GSL_VERSION[ ]+\"([0-9.]+)\"" "\\1" GSL_VERSION_FULL "${GSL_VERSION_LINE}")
 
83
  string(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1" GSL_VERSION_MAJOR "${GSL_VERSION_FULL}")
 
84
  string(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\2" GSL_VERSION_MINOR "${GSL_VERSION_FULL}")  
 
85
 
 
86
  SET(GSL_VERSION_STRING "${GSL_VERSION_MAJOR}.${GSL_VERSION_MINOR}")
 
87
 
 
88
  IF(GSL_FIND_VERSION)
 
89
    IF(GSL_FIND_VERSION_COUNT GREATER 2)
 
90
      MESSAGE(SEND_ERROR "unexpected version string")
 
91
    ENDIF(GSL_FIND_VERSION_COUNT GREATER 2)
 
92
 
 
93
    MATH(EXPR GSL_REQUESTED_VERSION "${GSL_FIND_VERSION_MAJOR}*100 + ${GSL_FIND_VERSION_MINOR}")
 
94
    MATH(EXPR GSL_FOUND_VERSION "${GSL_VERSION_MAJOR}*100 + ${GSL_VERSION_MINOR}")
 
95
 
 
96
    IF(GSL_FOUND_VERSION LESS GSL_REQUESTED_VERSION)
 
97
      SET(GSL_PROPER_VERSION_FOUND FALSE)
 
98
    ELSE(GSL_FOUND_VERSION LESS GSL_REQUESTED_VERSION)
 
99
      SET(GSL_PROPER_VERSION_FOUND TRUE)
 
100
    ENDIF(GSL_FOUND_VERSION LESS GSL_REQUESTED_VERSION)
 
101
  ELSE(GSL_FIND_VERSION)
 
102
    SET(GSL_PROPER_VERSION_FOUND TRUE)
 
103
  ENDIF(GSL_FIND_VERSION)
 
104
ENDIF(GSL_INCLUDE_DIR AND GSL_LIBRARY AND GSL_CBLAS_LIBRARY)
 
105
 
 
106
INCLUDE(FindPackageHandleStandardArgs)
 
107
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GSL 
 
108
                                  DEFAULT_MSG 
 
109
                                  GSL_INCLUDE_DIR
 
110
                                  GSL_LIBRARY 
 
111
                                  GSL_CBLAS_LIBRARY 
 
112
                                  GSL_PROPER_VERSION_FOUND)
 
113
 
 
114
IF(GSL_FOUND)
 
115
  SET(GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR})
 
116
  SET(GSL_LIBRARIES "${GSL_LIBRARY};${GSL_CBLAS_LIBRARY}")
 
117
  SET(GSL_BIN_DIR ${GSL_ROOT_PATH}/bin)
 
118
ENDIF(GSL_FOUND)
 
119
 
 
120
MARK_AS_ADVANCED(GSL_LIBRARY 
 
121
                 GSL_CBLAS_LIBRARY 
 
122
                 GSL_INCLUDE_DIR 
 
123
                 GSL_BIN_DIR)