summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-02 18:55:53 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-06-02 18:55:53 (GMT)
commit9ca8c7a99f193179ebfc893060966c37e3efabca (patch)
tree5644abd70664e53246518362e8ba3f3ef404434b
parentf1ff6301eafe61f5e9d7376d3713a0f37d3a2015 (diff)
parentf11243d13e104e61949c7023ada5a9e74d653e5c (diff)
downloadCMake-9ca8c7a99f193179ebfc893060966c37e3efabca.zip
CMake-9ca8c7a99f193179ebfc893060966c37e3efabca.tar.gz
CMake-9ca8c7a99f193179ebfc893060966c37e3efabca.tar.bz2
Merge topic 'FindHDF5-fix-already-found'
f11243d1 FindHDF5: Add backwards compatability for already-found searches
-rw-r--r--Modules/FindHDF5.cmake15
1 files changed, 11 insertions, 4 deletions
diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index f589977..bc0d50b 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -345,7 +345,7 @@ macro( _HDF5_parse_compile_line
endmacro()
# Try to find HDF5 using an installed hdf5-config.cmake
-if(NOT HDF5_ROOT AND NOT HDF5_FOUND)
+if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
find_package(HDF5 QUIET NO_MODULE)
if( HDF5_FOUND)
set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
@@ -382,7 +382,7 @@ if(NOT HDF5_ROOT AND NOT HDF5_FOUND)
endif()
endif()
-if(NOT HDF5_ROOT AND NOT HDF5_FOUND)
+if(NOT HDF5_FOUND AND NOT HDF5_ROOT)
set(_HDF5_NEED_TO_SEARCH False)
set(HDF5_COMPILER_NO_INTERROGATE True)
# Only search for languages we've enabled
@@ -488,12 +488,12 @@ else()
set(_HDF5_NEED_TO_SEARCH True)
endif()
-if(HDF5_COMPILER_NO_INTERROGATE)
+if(NOT HDF5_FOUND AND HDF5_COMPILER_NO_INTERROGATE)
# No arguments necessary, all languages can use the compiler wrappers
set(HDF5_FOUND True)
set(HDF5_METHOD "Included by compiler wrappers")
set(HDF5_REQUIRED_VARS HDF5_METHOD)
-elseif(NOT _HDF5_NEED_TO_SEARCH)
+elseif(NOT HDF5_FOUND AND NOT _HDF5_NEED_TO_SEARCH)
# Compiler wrappers aren't being used by the build but were found and used
# to determine necessary include and library flags
set(HDF5_INCLUDE_DIRS)
@@ -680,6 +680,13 @@ if( NOT HDF5_FOUND )
endif()
endif()
+# If HDF5_REQUIRED_VARS is empty at this point, then it's likely that
+# something external is trying to explicitly pass already found
+# locations
+if(NOT HDF5_REQUIRED_VARS)
+ set(HDF5_REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS)
+endif()
+
find_package_handle_standard_args(HDF5
REQUIRED_VARS ${HDF5_REQUIRED_VARS}
VERSION_VAR HDF5_VERSION