From Mattias Helsing, "Seems I was only half right given what you asked for. CMP0017 only

says that modules that are found and ran from cmake modules dir should
prefer cmake-provided modules. find_package() and include() still look
in CMAKE_MODULE_PATH first.

After some investigating I've come up with a proposal examplified in
the attached FindGDAL.cmake script. It simply calls the cmake provided
FindGDAL.cmake if it exists and returns if it succeeds in finding GDAL
using that, otherwise continue with our local cmake code.
Pro: Wont clutter our root CMakeLists.txt
Con: If we begin to write more advanced Findxxx modules (using
COMPONENTS, REQUIRED etc.) we may have to revise this scheme.
"
This commit is contained in:
Robert Osfield 2014-04-24 10:49:57 +00:00
parent ec658b115c
commit 6f2d003bc5

View File

@ -19,6 +19,14 @@
# This makes the presumption that you are include gdal.h like # This makes the presumption that you are include gdal.h like
# #include "gdal.h" # #include "gdal.h"
if(EXISTS ${CMAKE_ROOT}/Modules/FindGDAL.cmake)
include(${CMAKE_ROOT}/Modules/FindGDAL.cmake)
if(GDAL_FOUND)
return()
endif()
endif()
FIND_PATH(GDAL_INCLUDE_DIR gdal.h FIND_PATH(GDAL_INCLUDE_DIR gdal.h
PATHS PATHS
$ENV{GDAL_DIR} $ENV{GDAL_DIR}