[Cmake-commits] [cmake-commits] lowman committed FindGDAL.cmake 1.3 1.4
cmake-commits at cmake.org
cmake-commits at cmake.org
Sat Jan 31 01:50:42 EST 2009
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv26631
Modified Files:
FindGDAL.cmake
Log Message:
BUG: Fix library detection for GDAL on most Linux distributions (Issue #7445)
Index: FindGDAL.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindGDAL.cmake,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** FindGDAL.cmake 9 Jun 2008 20:04:05 -0000 1.3
--- FindGDAL.cmake 31 Jan 2009 06:50:40 -0000 1.4
***************
*** 1,7 ****
# Locate gdal
! # This module defines
! # GDAL_LIBRARY
! # GDAL_FOUND, if false, do not try to link to gdal
! # GDAL_INCLUDE_DIR, where to find the headers
#
# $GDALDIR is an environment variable that would
--- 1,13 ----
# Locate gdal
! #
! # This module accepts the following environment variables:
! #
! # GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
! #
! # This module defines the following CMake variables:
! #
! # GDAL_FOUND - True if libgdal is found
! # GDAL_LIBRARY - A variable pointing to the GDAL library
! # GDAL_INCLUDE_DIR - Where to find the headers
#
# $GDALDIR is an environment variable that would
***************
*** 18,60 ****
# This makes the presumption that you are include gdal.h like
! # #include "gdal.h"
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
HINTS
! $ENV{GDAL_DIR}
! PATH_SUFFIXES include
PATHS
! ~/Library/Frameworks/gdal.framework/Headers
! /Library/Frameworks/gdal.framework/Headers
! /usr/local/include/gdal
! /usr/local/include/GDAL
! /usr/local/include
! /usr/include/gdal
! /usr/include/GDAL
! /usr/include
! /sw/include/gdal
! /sw/include/GDAL
! /sw/include # Fink
! /opt/local/include/gdal
! /opt/local/include/GDAL
! /opt/local/include # DarwinPorts
! /opt/csw/include/gdal
! /opt/csw/include/GDAL
! /opt/csw/include # Blastwave
! /opt/include/gdal
! /opt/include/GDAL
! /opt/include
)
FIND_LIBRARY(GDAL_LIBRARY
! NAMES gdal GDAL
HINTS
! $ENV{GDAL_DIR}
PATH_SUFFIXES lib64 lib
PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local
- /usr
/sw
/opt/local
--- 24,83 ----
# This makes the presumption that you are include gdal.h like
! #
! #include "gdal.h"
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
HINTS
! $ENV{GDAL_DIR}
! $ENV{GDAL_ROOT}
! PATH_SUFFIXES
! include/gdal
! include/GDAL
! include
PATHS
! ~/Library/Frameworks/gdal.framework/Headers
! /Library/Frameworks/gdal.framework/Headers
! /sw # Fink
! /opt/local # DarwinPorts
! /opt/csw # Blastwave
! /opt
)
+ IF(UNIX)
+ # Use gdal-config to obtain the library version (this should hopefully
+ # allow us to -lgdal1.x.y where x.y are correct version)
+ # For some reason, libgdal development packages do not contain
+ # libgdal.so...
+ FIND_PROGRAM(GDAL_CONFIG gdal-config
+ HINTS
+ $ENV{GDAL_DIR}
+ $ENV{GDAL_ROOT}
+ PATH_SUFFIXES bin
+ PATHS
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+ )
+
+ if(GDAL_CONFIG)
+ exec_program(${GDAL_CONFIG} ARGS --libs OUTPUT_VARIABLE GDAL_CONFIG_LIBS)
+ if(GDAL_CONFIG_LIBS)
+ string(REGEX MATCHALL "-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
+ string(REGEX REPLACE "-l" "" _gdal_lib "${_gdal_dashl}")
+ string(REGEX MATCHALL "-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
+ string(REGEX REPLACE "-L" "" _gdal_libpath "${_gdal_dashL}")
+ endif()
+ endif()
+ endif()
+
FIND_LIBRARY(GDAL_LIBRARY
! NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
HINTS
! $ENV{GDAL_DIR}
! $ENV{GDAL_ROOT}
! ${_gdal_libpath}
PATH_SUFFIXES lib64 lib
PATHS
/sw
/opt/local
***************
*** 62,73 ****
/opt
/usr/freeware
- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
)
! SET(GDAL_FOUND "NO")
! IF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
! SET(GDAL_FOUND "YES")
! ENDIF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
!
!
--- 85,93 ----
/opt
/usr/freeware
)
! include(FindPackageHandleStandardArgs)
! FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
+ set(GDAL_LIBRARIES ${GDAL_LIBRARY})
+ set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
More information about the Cmake-commits
mailing list