|
|
@@ -5,28 +5,45 @@
|
|
|
FindGDAL
|
|
|
--------
|
|
|
|
|
|
+Find GDAL.
|
|
|
|
|
|
+IMPORTED Targets
|
|
|
+^^^^^^^^^^^^^^^^
|
|
|
|
|
|
-Locate gdal
|
|
|
+This module defines :prop_tgt:`IMPORTED` target ``GDAL::GDAL``
|
|
|
+if GDAL has been found.
|
|
|
|
|
|
-This module accepts the following environment variables:
|
|
|
+Result Variables
|
|
|
+^^^^^^^^^^^^^^^^
|
|
|
|
|
|
-::
|
|
|
+This module will set the following variables in your project:
|
|
|
|
|
|
- GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
|
|
|
+``GDAL_FOUND``
|
|
|
+ True if GDAL is found.
|
|
|
+``GDAL_INCLUDE_DIRS``
|
|
|
+ Include directories for GDAL headers.
|
|
|
+``GDAL_LIBRARIES``
|
|
|
+ Libraries to link to GDAL.
|
|
|
+``GDAL_VERSION``
|
|
|
+ The version of GDAL found.
|
|
|
|
|
|
+Cache variables
|
|
|
+^^^^^^^^^^^^^^^
|
|
|
|
|
|
+The following cache variables may also be set:
|
|
|
|
|
|
-This module defines the following CMake variables:
|
|
|
+``GDAL_LIBRARY``
|
|
|
+ The libgdal library file.
|
|
|
+``GDAL_INCLUDE_DIR``
|
|
|
+ The directory containing ``gdal.h``.
|
|
|
|
|
|
-::
|
|
|
+Hints
|
|
|
+^^^^^
|
|
|
|
|
|
- GDAL_FOUND - True if libgdal is found
|
|
|
- GDAL_LIBRARY - A variable pointing to the GDAL library
|
|
|
- GDAL_INCLUDE_DIR - Where to find the headers
|
|
|
+Set ``GDAL_DIR`` or ``GDAL_ROOT`` in the environment to specify the
|
|
|
+GDAL installation prefix.
|
|
|
#]=======================================================================]
|
|
|
|
|
|
-#
|
|
|
# $GDALDIR is an environment variable that would
|
|
|
# correspond to the ./configure --prefix=$GDAL_DIR
|
|
|
# used in building gdal.
|
|
|
@@ -123,8 +140,26 @@ find_library(GDAL_LIBRARY
|
|
|
PATH_SUFFIXES lib
|
|
|
)
|
|
|
|
|
|
+if (EXISTS "${GDAL_INCLUDE_DIR}/gdal_version.h")
|
|
|
+ file(STRINGS "${GDAL_INCLUDE_DIR}/gdal_version.h" _gdal_version
|
|
|
+ REGEX "GDAL_RELEASE_NAME")
|
|
|
+ string(REGEX REPLACE ".*\"\(.*\)\"" "\\1" GDAL_VERSION "${_gdal_version}")
|
|
|
+ unset(_gdal_version)
|
|
|
+else ()
|
|
|
+ set(GDAL_VERSION GDAL_VERSION-NOTFOUND)
|
|
|
+endif ()
|
|
|
+
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
|
|
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
|
|
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL
|
|
|
+ VERSION_VAR GDAL_VERSION
|
|
|
+ REQUIRED_VARS GDAL_LIBRARY GDAL_INCLUDE_DIR)
|
|
|
+
|
|
|
+if (GDAL_FOUND AND NOT TARGET GDAL::GDAL)
|
|
|
+ add_library(GDAL::GDAL UNKNOWN IMPORTED)
|
|
|
+ set_target_properties(GDAL::GDAL PROPERTIES
|
|
|
+ IMPORTED_LOCATION "${GDAL_LIBRARY}"
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${GDAL_INCLUDE_DIR}")
|
|
|
+endif ()
|
|
|
|
|
|
set(GDAL_LIBRARIES ${GDAL_LIBRARY})
|
|
|
set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
|