summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt438
1 files changed, 321 insertions, 117 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 553826c..cda2dad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,8 +33,8 @@ PROJECT (HDF5 C CXX)
# name conflicts with system versions, then a prefix may be added
# to ensure that the correct versions configured are used.
#
-# HDF5_INSTALL_BIN_DIR, HDF5_INSTALL_LIB_DIR, HDF5_INSTALL_INCLUDE_DIR :
-# Customize the 'bin', 'lib', and 'include' installation directories.
+# HDF5_INSTALL_BIN_DIR, HDF5_INSTALL_LIB_DIR, HDF5_INSTALL_INCLUDE_DIR, HDF5_INSTALL_DATA_DIR :
+# Customize the 'bin', 'lib', 'include', and 'share' installation directories.
#
# HDF5_INSTALL_NO_DEVELOPMENT :
# Set to true to skip installation of headers and CMake package files.
@@ -69,6 +69,11 @@ PROJECT (HDF5 C CXX)
# # Add the sub project
# ADD_SUBDIRECTORY(Utilities/hdf5-1.8)
#-----------------------------------------------------------------------------
+IF (BUILD_SHARED_LIBS)
+ SET (BUILD_NAME_EXT "SHARED")
+ELSE (BUILD_SHARED_LIBS)
+ SET (BUILD_NAME_EXT "STATIC")
+ENDIF (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries
@@ -132,9 +137,6 @@ SET (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools)
SET (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/perform)
SET (HDF5_F90_SRC_DIR ${HDF5_SOURCE_DIR}/fortran)
-# set default prefix location
-SET (CMAKE_INSTALL_PREFIX "./hdf5" CACHE PATH "Install path prefix, prepended onto install directories")
-
IF (NOT HDF5_INSTALL_BIN_DIR)
SET (HDF5_INSTALL_BIN_DIR bin)
ENDIF (NOT HDF5_INSTALL_BIN_DIR)
@@ -144,6 +146,9 @@ ENDIF (NOT HDF5_INSTALL_LIB_DIR)
IF (NOT HDF5_INSTALL_INCLUDE_DIR)
SET (HDF5_INSTALL_INCLUDE_DIR include)
ENDIF (NOT HDF5_INSTALL_INCLUDE_DIR)
+IF (NOT HDF5_INSTALL_DATA_DIR)
+ SET (HDF5_INSTALL_DATA_DIR share)
+ENDIF (NOT HDF5_INSTALL_DATA_DIR)
#-----------------------------------------------------------------------------
# parse the full version number from H5public.h and include in H5_VERS_INFO
@@ -165,7 +170,8 @@ SET (HDF5_PACKAGE_NAME "HDF5")
SET (HDF5_PACKAGE_VERSION "${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}")
SET (HDF5_PACKAGE_VERSION_MAJOR "${H5_VERS_MAJOR}.${H5_VERS_MINOR}")
SET (HDF5_PACKAGE_VERSION_MINOR "${H5_VERS_RELEASE}")
-SET (HDF5_PACKAGE_STRING "${HDF5_PACKAGE_NAME} ${HDF5_PACKAGE_VERSION}")
+SET (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}")
+SET (HDF5_PACKAGE_STRING "${HDF5_PACKAGE_NAME} ${HDF5_PACKAGE_VERSION_STRING}")
SET (HDF5_PACKAGE_TARNAME "hdf5")
SET (HDF5_PACKAGE_URL "http://www.hdfgroup.org")
SET (HDF5_PACKAGE_BUGREPORT "help@hdfgroup.org")
@@ -234,35 +240,12 @@ SET (LIB_TYPE STATIC)
IF (BUILD_SHARED_LIBS)
SET (LIB_TYPE SHARED)
SET (H5_BUILT_AS_DYNAMIC_LIB 1)
- IF (MSVC)
- SET (CMAKE_MFC_FLAG 0)
- FOREACH (flag_var
- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- IF (${flag_var} MATCHES "/MT")
- STRING (REGEX REPLACE "/MT" "/MD" ${flag_var} "${${flag_var}}")
- ENDIF (${flag_var} MATCHES "/MT")
- ENDFOREACH (flag_var)
- ENDIF (MSVC)
ELSE (BUILD_SHARED_LIBS)
+ SET (H5_BUILT_AS_STATIC_LIB 1)
IF (NOT WIN32)
# should this be a user setting : Everyone uses it anyway ?
ADD_DEFINITIONS (-DPIC)
ENDIF (NOT WIN32)
- IF (MSVC)
- SET (CMAKE_MFC_FLAG 0)
- FOREACH (flag_var
- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- IF (${flag_var} MATCHES "/MD")
- STRING (REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
- ENDIF (${flag_var} MATCHES "/MD")
- ENDFOREACH (flag_var)
- ENDIF (MSVC)
ENDIF (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
@@ -270,12 +253,30 @@ ENDIF (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
OPTION (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
IF (HDF5_ENABLE_COVERAGE)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
- SET (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
+ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+ SET (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
ENDIF (HDF5_ENABLE_COVERAGE)
#-----------------------------------------------------------------------------
+# Option to indicate using a memory checker
+#-----------------------------------------------------------------------------
+OPTION (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF)
+IF (HDF5_ENABLE_USING_MEMCHECKER)
+ SET (H5_USING_MEMCHECKER 1)
+ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
+
+#-----------------------------------------------------------------------------
+# Option to use deprecated public API symbols
+#-----------------------------------------------------------------------------
+OPTION (HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON)
+IF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ SET (H5_NO_DEPRECATED_SYMBOLS 0)
+ELSE (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ SET (H5_NO_DEPRECATED_SYMBOLS 1)
+ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+
+#-----------------------------------------------------------------------------
# When building utility executables that generate other (source) files :
# we make use of the following variables defined in the root CMakeLists.
# Certain systems may add /Debug or /Release to output paths
@@ -290,6 +291,10 @@ IF (WIN32)
ENDIF (NOT CYGWIN)
ENDIF (WIN32)
+IF (MSVC)
+ SET (CMAKE_MFC_FLAG 0)
+ENDIF (MSVC)
+
SET (MAKE_SYSTEM)
IF (CMAKE_BUILD_TOOL MATCHES "make")
SET (MAKE_SYSTEM 1)
@@ -390,8 +395,7 @@ IF (HDF5_ENABLE_PARALLEL)
SET (H5_HAVE_PARALLEL 1)
# MPI checks, only do these if MPI_FOUND is true, otherwise they always fail
# and once set, they are cached as false and not regenerated
- SET (CMAKE_REQUIRED_INCLUDES "${MPI_INCLUDE_PATH}/mpi.h" )
- SET (CMAKE_REQUIRED_LIBRARIES "${MPI_LIBRARY}" )
+ SET (CMAKE_REQUIRED_LIBRARIES "${MPI_LIBRARY};${MPI_EXTRA_LIBRARY}" )
CHECK_FUNCTION_EXISTS (MPI_File_get_size H5_HAVE_MPI_GET_SIZE)
# Used by Fortran + MPI
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_INCLUDE_PATH}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
@@ -437,6 +441,19 @@ HDF5_SETUP_FILTERS (SCALEOFFSET)
INCLUDE (ExternalProject)
OPTION (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO")
+OPTION (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0)
+OPTION (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0)
+IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ SET (ZLIB_USE_EXTERNAL 1)
+ SET (SZIP_USE_EXTERNAL 1)
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (NOT TGZ_PATH)
+ SET (TGZ_PATH ${HDF5_SOURCE_DIR})
+ ENDIF (NOT TGZ_PATH)
+ SET (ZLIB_TGZ_URL ${TGZ_PATH}/${ZLIB_TGZ_NAME})
+ SET (SZIP_TGZ_URL ${TGZ_PATH}/${SZIP_TGZ_NAME})
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
#-----------------------------------------------------------------------------
# Option for ZLib support
@@ -444,31 +461,60 @@ OPTION (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO")
OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
IF (HDF5_ENABLE_Z_LIB_SUPPORT)
IF (NOT H5_ZLIB_HEADER)
- FIND_PACKAGE (ZLIB)
+ IF (NOT ZLIB_USE_EXTERNAL)
+ FIND_PACKAGE (ZLIB)
+ ENDIF (NOT ZLIB_USE_EXTERNAL)
IF (ZLIB_FOUND)
SET (H5_HAVE_FILTER_DEFLATE 1)
SET (H5_HAVE_ZLIB_H 1)
SET (H5_HAVE_LIBZ 1)
SET (H5_ZLIB_HEADER "zlib.h")
+ SET (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
ELSE (ZLIB_FOUND)
- IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
- EXTERNALPROJECT_ADD (ZLIB
- SVN_REPOSITORY http://svn.hdfgroup.uiuc.edu/zlib/trunk
- # [SVN_REVISION rev]
- INSTALL_COMMAND ""
- CMAKE_ARGS
- -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
- )
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ EXTERNALPROJECT_ADD (ZLIB
+ SVN_REPOSITORY ${ZLIB_SVN_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBLDTYPE:STRING=Release
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ )
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ EXTERNALPROJECT_ADD (ZLIB
+ #LOG_DOWNLOAD 1
+ URL ${ZLIB_TGZ_URL}
+ URL_MD5 ""
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBLDTYPE:STRING=Release
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ )
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNALPROJECT_GET_PROPERTY (ZLIB BINARY_DIR SOURCE_DIR)
IF (BUILD_SHARED_LIBS)
- SET (ZLIB_LIBRARY
- "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}zlib1${CMAKE_IMPORT_LIBRARY_SUFFIX}"
- )
+ IF (WIN32 AND NOT MINGW)
+ SET (ZLIB_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}zlib1${CMAKE_IMPORT_LIBRARY_SUFFIX}"
+ )
+ ELSE (WIN32 AND NOT MINGW)
+ SET (ZLIB_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}z${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ )
+ ENDIF (WIN32 AND NOT MINGW)
ELSE (BUILD_SHARED_LIBS)
- SET (ZLIB_LIBRARY
- "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libzlib${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
+ IF (WIN32 AND NOT MINGW)
+ SET (ZLIB_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/zlib${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ )
+ ELSE (WIN32 AND NOT MINGW)
+ SET (ZLIB_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libz${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ )
+ ENDIF (WIN32 AND NOT MINGW)
ENDIF (BUILD_SHARED_LIBS)
SET (ZLIB_INCLUDE_DIR_GEN
"${BINARY_DIR}"
@@ -483,9 +529,10 @@ IF (HDF5_ENABLE_Z_LIB_SUPPORT)
SET (H5_HAVE_FILTER_DEFLATE 1)
SET (H5_HAVE_ZLIB_H 1)
SET (H5_HAVE_LIBZ 1)
- ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ MESSAGE (STATUS "Filter ZLIB is built")
+ ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
MESSAGE (FATAL " ZLib is Required for ZLib support in HDF5")
- ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
ENDIF (ZLIB_FOUND)
ELSE (NOT H5_ZLIB_HEADER)
# This project is being called from within another and ZLib is already configured
@@ -505,32 +552,56 @@ SET (CMAKE_MODULE_PATH ${HDF5_RESOURCES_DIR} ${CMAKE_MODULE_PATH})
OPTION (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
IF (HDF5_ENABLE_SZIP_SUPPORT)
OPTION (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
- FIND_PACKAGE (SZIP)
+ IF (NOT SZIP_USE_EXTERNAL)
+ FIND_PACKAGE (SZIP)
+ ENDIF (NOT SZIP_USE_EXTERNAL)
IF (SZIP_FOUND)
SET (H5_HAVE_FILTER_SZIP 1)
SET (H5_HAVE_SZLIB_H 1)
SET (H5_HAVE_LIBSZ 1)
+ SET (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
ELSE (SZIP_FOUND)
- IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
- EXTERNALPROJECT_ADD (SZIP
- SVN_REPOSITORY http://svn.hdfgroup.uiuc.edu/szip/trunk
- # [SVN_REVISION rev]
- INSTALL_COMMAND ""
- CMAKE_ARGS
- -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
- -DSZIP_ENABLE_ENCODING:BOOL=${HDF5_ENABLE_SZIP_ENCODING}
- )
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ EXTERNALPROJECT_ADD (SZIP
+ SVN_REPOSITORY ${SZIP_SVN_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBLDTYPE:STRING=Release
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DSZIP_ENABLE_ENCODING:BOOL=${HDF5_ENABLE_SZIP_ENCODING}
+ )
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ EXTERNALPROJECT_ADD (SZIP
+ #LOG_DOWNLOAD 1
+ URL ${SZIP_TGZ_URL}
+ URL_MD5 ""
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBLDTYPE:STRING=Release
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DSZIP_ENABLE_ENCODING:BOOL=${HDF5_ENABLE_SZIP_ENCODING}
+ )
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNALPROJECT_GET_PROPERTY (SZIP BINARY_DIR SOURCE_DIR)
IF (BUILD_SHARED_LIBS)
- SET (SZIP_LIBRARY
- "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}szip${CMAKE_IMPORT_LIBRARY_SUFFIX}"
- )
+ IF (WIN32 AND NOT MINGW)
+ SET (SZIP_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}szip${CMAKE_IMPORT_LIBRARY_SUFFIX}"
+ )
+ ELSE (WIN32 AND NOT MINGW)
+ SET (SZIP_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}szip${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ )
+ ENDIF (WIN32 AND NOT MINGW)
ELSE (BUILD_SHARED_LIBS)
- SET (SZIP_LIBRARY
- "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libszip${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
+ SET (SZIP_LIBRARY
+ "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libszip${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ )
ENDIF (BUILD_SHARED_LIBS)
SET (SZIP_INCLUDE_DIR_GEN
"${BINARY_DIR}"
@@ -545,9 +616,10 @@ IF (HDF5_ENABLE_SZIP_SUPPORT)
SET (H5_HAVE_FILTER_SZIP 1)
SET (H5_HAVE_SZLIB_H 1)
SET (H5_HAVE_LIBSZ 1)
- ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ MESSAGE (STATUS "Filter SZIP is built")
+ ELSE (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
MESSAGE (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
- ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
ENDIF (SZIP_FOUND)
SET (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
@@ -560,11 +632,53 @@ ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
#-----------------------------------------------------------------------------
# Option for external libraries on windows
#-----------------------------------------------------------------------------
+OPTION (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
+IF (HDF5_PACKAGE_EXTLIBS)
+ SET (EXTERNAL_HEADER_LIST "")
+ SET (EXTERNAL_LIBRARY_LIST "")
+ SET (EXTERNAL_LIBRARYDLL_LIST "")
+ FILE (MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BLDTYPE})
+
+ IF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
+ ADD_CUSTOM_TARGET (ZLIB-GenHeader-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_INCLUDE_DIR_GEN}/zconf.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ SET (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h)
+ ADD_CUSTOM_TARGET (ZLIB-Library-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_LIBRARY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${ZLIB_LIBRARY} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ GET_FILENAME_COMPONENT(ZLIB_LIB_NAME ${ZLIB_LIBRARY} NAME)
+ SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ZLIB_LIB_NAME})
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (ZLIB-GenHeader-Copy ZLIB)
+ ADD_DEPENDENCIES (ZLIB-Library-Copy ZLIB)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
+
+ IF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ ADD_CUSTOM_TARGET (SZIP-GenHeader-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ SET (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SZconfig.h)
+ ADD_CUSTOM_TARGET (SZIP-Library-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_LIBRARY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${SZIP_LIBRARY} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ GET_FILENAME_COMPONENT(SZIP_LIB_NAME ${SZIP_LIBRARY} NAME)
+ SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SZIP_LIB_NAME})
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (SZIP-GenHeader-Copy SZIP)
+ ADD_DEPENDENCIES (SZIP-Library-Copy SZIP)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ENDIF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ENDIF (HDF5_PACKAGE_EXTLIBS)
+
IF (WIN32 AND NOT CYGWIN)
- OPTION (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
IF (BUILD_SHARED_LIBS)
FILE (MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BLDTYPE})
-
IF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
GET_FILENAME_COMPONENT(ZLIB_DLL_NAME ${ZLIB_LIBRARY} NAME_WE)
# MESSAGE (STATUS "ZLIB_DLL_NAME: ${ZLIB_DLL_NAME}")
@@ -574,6 +688,19 @@ IF (WIN32 AND NOT CYGWIN)
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/
COMMENT "Copying ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/"
)
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (ZLIB-Release-Copy ZLIB)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (HDF5_PACKAGE_EXTLIBS)
+ SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ ADD_CUSTOM_TARGET (ZLIB-Dll-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (ZLIB-Dll-Copy ZLIB)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ENDIF (HDF5_PACKAGE_EXTLIBS)
ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
IF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
@@ -585,6 +712,19 @@ IF (WIN32 AND NOT CYGWIN)
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/
COMMENT "Copying ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/"
)
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (SZIP-Release-Copy SZIP)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (HDF5_PACKAGE_EXTLIBS)
+ SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ ADD_CUSTOM_TARGET (SZIP-Dll-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ADD_DEPENDENCIES (SZIP-Dll-Copy SZIP)
+ ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ ENDIF (HDF5_PACKAGE_EXTLIBS)
ENDIF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
ENDIF (BUILD_SHARED_LIBS)
@@ -597,6 +737,10 @@ ENDIF (WIN32 AND NOT CYGWIN)
IF (WIN32 AND NOT CYGWIN)
OPTION (HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF)
IF (HDF5_ENABLE_THREADSAFE)
+ # check for unsupported options
+ IF (HDF5_ENABLE_PARALLEL)
+ MESSAGE (FATAL " **** Parallel and Threadsafe options are mutually exclusive **** ")
+ ENDIF (HDF5_ENABLE_PARALLEL)
SET (H5_HAVE_WIN_THREADS 1)
SET (H5_HAVE_THREADSAFE 1)
ENDIF (HDF5_ENABLE_THREADSAFE)
@@ -616,14 +760,14 @@ ENDIF (HDF5_USE_H5DUMP_PACKED_BITS)
#-----------------------------------------------------------------------------
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src)
-IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
- IF (ZLIB_FOUND)
+IF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ IF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} ZLIB)
- ENDIF (ZLIB_FOUND)
- IF (SZIP_FOUND)
+ ENDIF (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
+ IF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} SZIP)
- ENDIF (SZIP_FOUND)
-ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
+ ENDIF (SZIP_FOUND AND SZIP_USE_EXTERNAL)
+ENDIF (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
#-----------------------------------------------------------------------------
# Build utility to copy and strip X lines of file
@@ -658,7 +802,16 @@ IF (BUILD_TESTING)
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
ENDIF (H5_HAVE_PARALLEL)
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
+
+ OPTION (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
+ MARK_AS_ADVANCED (HDF5_TEST_VFD)
+ IF (HDF5_TEST_VFD)
+ OPTION (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
+ MARK_AS_ADVANCED (HDF5_TEST_FHEAP_VFD)
+ ENDIF (HDF5_TEST_VFD)
+
INCLUDE (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
+ CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
ENDIF (BUILD_TESTING)
#-----------------------------------------------------------------------------
@@ -698,6 +851,10 @@ ENDIF (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}
IF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
OPTION (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
IF (HDF5_BUILD_CPP_LIB)
+ # check for unsupported options
+ IF (HDF5_ENABLE_PARALLEL)
+ MESSAGE (FATAL " **** Parallel and C++ options are mutually exclusive **** ")
+ ENDIF (HDF5_ENABLE_PARALLEL)
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
ENDIF (HDF5_BUILD_CPP_LIB)
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
@@ -740,56 +897,41 @@ IF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
ENDIF (NOT HDF5_INSTALL_NO_DEVELOPMENT)
#-----------------------------------------------------------------------------
-# Option for external libraries on windows
+# Option for external libraries
#-----------------------------------------------------------------------------
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
IF (HDF5_PACKAGE_EXTLIBS)
IF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
INSTALL (
- FILES ${ZLIB_INCLUDE_DIR_GEN}/zconf.h ${ZLIB_INCLUDE_DIR}/zlib.h
+ FILES ${ZLIB_INCLUDE_DIR}/zlib.h
DESTINATION ${HDF5_INSTALL_INCLUDE_DIR}
COMPONENT headers
)
- INSTALL(
- FILES ${ZLIB_LIBRARY}
- DESTINATION ${HDF5_INSTALL_LIB_DIR}
- COMPONENT libraries
- )
- IF (BUILD_SHARED_LIBS)
- GET_FILENAME_COMPONENT(ZLIB_DLL_NAME ${ZLIB_LIBRARY} NAME_WE)
- # message(STATUS "ZLIB_DLL_NAME: ${ZLIB_DLL_NAME}")
- GET_FILENAME_COMPONENT(ZLIB_BIN_PATH ${ZLIB_LIBRARY} PATH)
- # message(STATUS "ZLIB_BIN_PATH: ${ZLIB_BIN_PATH}")
- INSTALL(
- FILES ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
- DESTINATION ${HDF5_INSTALL_BIN_DIR}
- COMPONENT libraries
- )
- ENDIF (BUILD_SHARED_LIBS)
ENDIF (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
IF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
INSTALL (
- FILES ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h ${SZIP_INCLUDE_DIR}/szlib.h ${SZIP_INCLUDE_DIR}/szip_adpt.h ${SZIP_INCLUDE_DIR}/ricehdf.h
+ FILES ${SZIP_INCLUDE_DIR}/szlib.h ${SZIP_INCLUDE_DIR}/szip_adpt.h ${SZIP_INCLUDE_DIR}/ricehdf.h
DESTINATION ${HDF5_INSTALL_INCLUDE_DIR}
COMPONENT headers
)
+ ENDIF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ INSTALL (
+ FILES ${EXTERNAL_HEADER_LIST}
+ DESTINATION ${HDF5_INSTALL_INCLUDE_DIR}
+ COMPONENT headers
+ )
+ INSTALL(
+ FILES ${EXTERNAL_LIBRARY_LIST}
+ DESTINATION ${HDF5_INSTALL_LIB_DIR}
+ COMPONENT libraries
+ )
+ IF (WIN32 AND BUILD_SHARED_LIBS)
INSTALL(
- FILES ${SZIP_LIBRARY}
- DESTINATION ${HDF5_INSTALL_LIB_DIR}
+ FILES ${EXTERNAL_LIBRARYDLL_LIST}
+ DESTINATION ${HDF5_INSTALL_BIN_DIR}
COMPONENT libraries
)
- IF (BUILD_SHARED_LIBS)
- GET_FILENAME_COMPONENT(SZIP_DLL_NAME ${SZIP_LIBRARY} NAME_WE)
- # message(STATUS "SZIP_DLL_NAME: ${SZIP_DLL_NAME}")
- GET_FILENAME_COMPONENT(SZIP_BIN_PATH ${SZIP_LIBRARY} PATH)
- # message(STATUS "SZIP_BIN_PATH: ${ZLIB_BIN_PATH}")
- INSTALL(
- FILES ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
- DESTINATION ${HDF5_INSTALL_BIN_DIR}
- COMPONENT libraries
- )
- ENDIF (BUILD_SHARED_LIBS)
- ENDIF (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
+ ENDIF (WIN32 AND BUILD_SHARED_LIBS)
ENDIF (HDF5_PACKAGE_EXTLIBS)
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
@@ -799,7 +941,7 @@ ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
INSTALL (
EXPORT ${HDF5_EXPORTED_TARGETS}
- DESTINATION ${HDF5_INSTALL_LIB_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
FILE hdf5-targets.cmake
)
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
@@ -840,7 +982,7 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED)
)
INSTALL (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/hdf5-config.cmake
- DESTINATION ${HDF5_INSTALL_LIB_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
)
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
@@ -854,27 +996,85 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED)
)
INSTALL (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/hdf5-config-version.cmake
- DESTINATION ${HDF5_INSTALL_LIB_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/cmake/hdf5-${HDF5_PACKAGE_VERSION}
+ )
+ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
+
+#-----------------------------------------------------------------------------
+# Add Document File(s) to CMake Install
+#-----------------------------------------------------------------------------
+IF (NOT HDF5_EXTERNALLY_CONFIGURED)
+ INSTALL (
+ FILES
+ ${HDF5_SOURCE_DIR}/ACKNOWLEDGMENTS
+ ${HDF5_SOURCE_DIR}/COPYING
+ ${HDF5_SOURCE_DIR}/README.txt
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}
+ COMPONENT hdfdocuments
)
+ IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
+ SET (release_files
+ ${HDF5_SOURCE_DIR}/release_docs/CMake.txt
+ ${HDF5_SOURCE_DIR}/release_docs/COPYING
+ ${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_9.txt
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL
+ ${HDF5_SOURCE_DIR}/release_docs/RELEASE.txt
+ )
+ IF (WIN32 AND NOT CYGWIN)
+ SET (release_files
+ ${release_files}
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL_Windows.txt
+ )
+ ELSE (WIN32 AND NOT CYGWIN)
+ SET (release_files
+ ${release_files}
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL_cygwin.txt
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL_MinGW.txt
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL_VMS.txt
+ )
+ ENDIF (WIN32 AND NOT CYGWIN)
+ IF (HDF5_ENABLE_PARALLEL)
+ SET (release_files
+ ${release_files}
+ ${HDF5_SOURCE_DIR}/release_docs/INSTALL_parallel.txt
+ )
+ ENDIF (HDF5_ENABLE_PARALLEL)
+ INSTALL (
+ FILES ${release_files}
+ DESTINATION ${HDF5_INSTALL_DATA_DIR}/release_docs
+ COMPONENT hdfdocuments
+ )
+ ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Set the cpack variables
#-----------------------------------------------------------------------------
-IF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
+IF (NOT HDF5_EXTERNALLY_CONFIGURED)
SET (CPACK_PACKAGE_VENDOR "The HDF Group")
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
+ SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${HDF5_PACKAGE_NAME}")
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
SET (CPACK_PACKAGE_VERSION_PATCH "")
- SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
+ IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
+ SET (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
+ SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
+ SET (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
+ ENDIF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
+ SET (CPACK_PACKAGE_RELOCATABLE TRUE)
IF (WIN32)
+ SET (CPACK_NSIS_CONTACT "help@hdfgroup.org")
+ SET (CPACK_NSIS_MODIFY_PATH ON)
SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${HDF5_PACKAGE_VERSION}")
+ ELSE (WIN32)
+ SET (CPACK_RPM_COMPONENT_INSTALL ON)
ENDIF (WIN32)
INCLUDE (CPack)
+ INCLUDE(InstallRequiredSystemLibraries)
#---------------------------------------------------------------------------
# Now list the cpack commands
@@ -893,6 +1093,10 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
DEPENDS libraries
GROUP Development
)
+ CPACK_ADD_COMPONENT (hdfdocuments
+ DISPLAY_NAME "HDF5 Documents"
+ GROUP Documents
+ )
IF (HDF5_BUILD_FORTRAN)
CPACK_ADD_COMPONENT (fortlibraries
@@ -971,4 +1175,4 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
)
ENDIF (HDF5_BUILD_HL_LIB)
-ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
+ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)