[opengm] 344/386: chaged find hdf5 script
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Aug 31 08:38:29 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch debian/master
in repository opengm.
commit b5da108b9fb32e91a2e349a15958fd1b585465b6
Author: DerThorsten <thorsten.beier at iwr.uni-heidelberg.de>
Date: Fri Mar 25 14:03:16 2016 +0100
chaged find hdf5 script
---
cmake/modules/FindHDF5.cmake | 130 ++++++++++++++++++++++++---------------
cmake/modules/checkHDF5version.c | 8 ++-
2 files changed, 84 insertions(+), 54 deletions(-)
diff --git a/cmake/modules/FindHDF5.cmake b/cmake/modules/FindHDF5.cmake
index e311912..4bc92db 100644
--- a/cmake/modules/FindHDF5.cmake
+++ b/cmake/modules/FindHDF5.cmake
@@ -1,68 +1,96 @@
# - Find HDF5, a library for reading and writing self describing array data.
#
-FIND_PATH(HDF5_INCLUDE_DIR hdf5.h)
-FIND_LIBRARY(HDF5_CORE_LIBRARY NAMES hdf5dll hdf5 )
-FIND_LIBRARY(HDF5_HL_LIBRARY NAMES hdf5_hldll hdf5_hl )
-FIND_LIBRARY(HDF5_CPP_LIBRARY NAMES hdf5_cppdll hdf5_cpp )
+FIND_PATH(HDF5_INCLUDE_DIR hdf5.h PATH_SUFFIXES hdf5/serial)
-IF(WIN32 AND HDF5_CORE_LIBRARY MATCHES "dll.lib$")
- SET(HDF5_CFLAGS "-D_HDF5USEDLL_")
- SET(HDF5_CPPFLAGS "-D_HDF5USEDLL_ -DHDF5CPP_USEDLL")
-ELSE()
- SET(HDF5_CFLAGS)
- SET(HDF5_CPPFLAGS)
-ENDIF()
+if(HDF5_INCLUDE_DIR)
+ SET(HDF5_TRY_COMPILE_INCLUDE_DIR "-DINCLUDE_DIRECTORIES:STRING=${HDF5_INCLUDE_DIR}")
-SET(HDF5_VERSION_MAJOR 1)
-SET(HDF5_VERSION_MINOR 8)
+ set(HDF5_SUFFICIENT_VERSION FALSE)
+ TRY_COMPILE(HDF5_SUFFICIENT_VERSION
+ ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/modules/checkHDF5version.c
+ CMAKE_FLAGS "${HDF5_TRY_COMPILE_INCLUDE_DIR}")
-set(HDF5_SUFFICIENT_VERSION FALSE)
+ if(NOT HDF5_SUFFICIENT_VERSION)
+ MESSAGE(STATUS " HDF5: unable to compile a simple test program.\n (include path: '${HDF5_INCLUDE_DIR}')" )
+ else()
+ SET(HDF5_VERSION_MAJOR 1)
+ SET(HDF5_VERSION_MINOR 8)
+ set(HDF5_SUFFICIENT_VERSION FALSE)
+ TRY_COMPILE(HDF5_SUFFICIENT_VERSION
+ ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/modules/checkHDF5version.c
+ COMPILE_DEFINITIONS "-DCHECK_VERSION=1 -DMIN_MAJOR=${HDF5_VERSION_MAJOR} -DMIN_MINOR=${HDF5_VERSION_MINOR}"
+ CMAKE_FLAGS "${HDF5_TRY_COMPILE_INCLUDE_DIR}")
-TRY_COMPILE(HDF5_SUFFICIENT_VERSION
- ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}/checkHDF5version.c
- COMPILE_DEFINITIONS "-I\"${HDF5_INCLUDE_DIR}\" -DMIN_MAJOR=${HDF5_VERSION_MAJOR} -DMIN_MINOR=${HDF5_VERSION_MINOR}")
+ if(NOT HDF5_SUFFICIENT_VERSION)
+ MESSAGE(STATUS " HDF5: need at least version ${HDF5_VERSION_MAJOR}.${HDF5_VERSION_MINOR}" )
+ else()
+ MESSAGE(STATUS
+ " Checking HDF5 version (at least ${HDF5_VERSION_MAJOR}.${HDF5_VERSION_MINOR}): ok")
+ endif()
+ endif()
-if(HDF5_SUFFICIENT_VERSION)
- MESSAGE(STATUS
- "Checking HDF5 version (at least ${HDF5_VERSION_MAJOR}.${HDF5_VERSION_MINOR}): ok")
-else()
- MESSAGE( STATUS "HDF5: need at least version ${HDF5_VERSION_MAJOR}.${HDF5_VERSION_MINOR}" )
-endif()
+ # Only configure HDF5 if a suitable version of the library was found
+ if(HDF5_SUFFICIENT_VERSION)
-set(HDF5_USES_ZLIB FALSE)
-TRY_COMPILE(HDF5_USES_ZLIB
- ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}/checkHDF5usesCompression.c
- COMPILE_DEFINITIONS "-I\"${HDF5_INCLUDE_DIR}\" -DH5_SOMETHING=H5_HAVE_FILTER_DEFLATE")
-
-if(HDF5_USES_ZLIB)
- FIND_LIBRARY(HDF5_Z_LIBRARY NAMES zlib1 zlib z )
- set(HDF5_ZLIB_OK ${HDF5_Z_LIBRARY})
-else()
- set(HDF5_ZLIB_OK TRUE)
- set(HDF5_Z_LIBRARY "")
-endif()
+ FIND_LIBRARY(HDF5_CORE_LIBRARY NAMES hdf5dll hdf5 PATH_SUFFIXES hdf5/serial )
+ FIND_LIBRARY(HDF5_HL_LIBRARY NAMES hdf5_hldll hdf5_hl PATH_SUFFIXES hdf5/serial )
-set(HDF5_USES_SZLIB FALSE)
-TRY_COMPILE(HDF5_USES_SZLIB
- ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}/checkHDF5usesCompression.c
- COMPILE_DEFINITIONS "-I\"${HDF5_INCLUDE_DIR}\" -DH5_SOMETHING=H5_HAVE_FILTER_SZIP")
-
-if(HDF5_USES_SZLIB)
- FIND_LIBRARY(HDF5_SZ_LIBRARY NAMES szlibdll sz )
- set(HDF5_SZLIB_OK ${HDF5_SZ_LIBRARY})
-else()
- set(HDF5_SZLIB_OK TRUE)
- set(HDF5_SZ_LIBRARY "")
+ # FIXME: as of version 1.8.9 and 1.8.10-patch1 (but NOT 1.8.10), these flags are
+ # already set correctly => remove or set conditionally according to version
+ IF(WIN32 AND HDF5_CORE_LIBRARY MATCHES "dll.lib$")
+ SET(HDF5_CFLAGS "-D_HDF5USEDLL_")
+ SET(HDF5_CPPFLAGS "-D_HDF5USEDLL_ -DHDF5CPP_USEDLL")
+ ELSE()
+ SET(HDF5_CFLAGS)
+ SET(HDF5_CPPFLAGS)
+ ENDIF()
+
+ set(HDF5_USES_ZLIB FALSE)
+ TRY_COMPILE(HDF5_USES_ZLIB
+ ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/modules/checkHDF5usesCompression.c
+ COMPILE_DEFINITIONS "-DH5_SOMETHING=H5_HAVE_FILTER_DEFLATE"
+ CMAKE_FLAGS "${HDF5_TRY_COMPILE_INCLUDE_DIR}")
+
+ if(HDF5_USES_ZLIB)
+ FIND_LIBRARY(HDF5_Z_LIBRARY NAMES zlib1 zlib z )
+ set(HDF5_ZLIB_OK ${HDF5_Z_LIBRARY})
+ else()
+ set(HDF5_ZLIB_OK TRUE)
+ set(HDF5_Z_LIBRARY "")
+ endif()
+
+ set(HDF5_USES_SZLIB FALSE)
+ TRY_COMPILE(HDF5_USES_SZLIB
+ ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/modules/checkHDF5usesCompression.c
+ COMPILE_DEFINITIONS "-DH5_SOMETHING=H5_HAVE_FILTER_SZIP"
+ CMAKE_FLAGS "${HDF5_TRY_COMPILE_INCLUDE_DIR}")
+
+ if(HDF5_USES_SZLIB)
+ FIND_LIBRARY(HDF5_SZ_LIBRARY NAMES szlibdll sz szip)
+ set(HDF5_SZLIB_OK ${HDF5_SZ_LIBRARY})
+ else()
+ set(HDF5_SZLIB_OK TRUE)
+ set(HDF5_SZ_LIBRARY "")
+ endif()
+ endif()
endif()
-# handle the QUIETLY and REQUIRED arguments and set HDF5_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set HDF5_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_CORE_LIBRARY
- HDF5_HL_LIBRARY HDF5_ZLIB_OK HDF5_SZLIB_OK HDF5_INCLUDE_DIR HDF5_SUFFICIENT_VERSION)
-
+if(NOT HDF5_INCLUDE_DIR)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_INCLUDE_DIR)
+elseif(NOT HDF5_SUFFICIENT_VERSION)
+ # undo unsuccessful configuration
+ set(HDF5_INCLUDE_DIR "")
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_SUFFICIENT_VERSION)
+else()
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_CORE_LIBRARY
+ HDF5_HL_LIBRARY HDF5_ZLIB_OK HDF5_SZLIB_OK HDF5_INCLUDE_DIR)
+endif()
+
IF(HDF5_FOUND)
SET(HDF5_LIBRARIES ${HDF5_CORE_LIBRARY} ${HDF5_HL_LIBRARY} ${HDF5_Z_LIBRARY} ${HDF5_SZ_LIBRARY})
ELSE()
@@ -71,4 +99,4 @@ ELSE()
SET(HDF5_Z_LIBRARY HDF5_Z_LIBRARY-NOTFOUND)
SET(HDF5_SZ_LIBRARY HDF5_SZ_LIBRARY-NOTFOUND)
ENDIF(HDF5_FOUND)
-
+
diff --git a/cmake/modules/checkHDF5version.c b/cmake/modules/checkHDF5version.c
index 7906980..a9a7b3b 100644
--- a/cmake/modules/checkHDF5version.c
+++ b/cmake/modules/checkHDF5version.c
@@ -1,8 +1,10 @@
#include <hdf5.h>
-#if (H5_VERS_MAJOR < MIN_MAJOR) || \
- ((H5_VERS_MAJOR == MIN_MAJOR) && (H5_VERS_MINOR < MIN_MINOR))
-#error "insufficient HDF5 version"
+#if defined(CHECK_VERSION)
+# if (H5_VERS_MAJOR < MIN_MAJOR) || \
+ ((H5_VERS_MAJOR == MIN_MAJOR) && (H5_VERS_MINOR < MIN_MINOR))
+# error "insufficient HDF5 version"
+# endif
#endif
int main()
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opengm.git
More information about the debian-science-commits
mailing list