-
-
Notifications
You must be signed in to change notification settings - Fork 265
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge CMake updates from 1.12 development branch (#3821)
- Loading branch information
Showing
15 changed files
with
258 additions
and
494 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,46 +9,35 @@ | |
# If you do not have access to either file, you may request a copy from | ||
# [email protected]. | ||
# | ||
option (USE_LIBAEC "Use AEC library as SZip Filter" ON) | ||
option (USE_LIBAEC_STATIC "Use static AEC library " OFF) | ||
option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0) | ||
option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0) | ||
option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF) | ||
option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF) | ||
|
||
option (BUILD_ZLIB_WITH_FETCHCONTENT "Use FetchContent to use original source files" OFF) | ||
if (BUILD_ZLIB_WITH_FETCHCONTENT) | ||
set (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1) | ||
if (NOT ZLIB_USE_LOCALCONTENT) | ||
set (ZLIB_URL ${ZLIB_TGZ_ORIGPATH}/${ZLIB_TGZ_ORIGNAME}) | ||
else () | ||
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_ORIGNAME}) | ||
endif () | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter ZLIB file is ${ZLIB_URL}") | ||
endif () | ||
if (NOT ZLIB_USE_LOCALCONTENT) | ||
set (ZLIB_URL ${ZLIB_TGZ_ORIGPATH}/${ZLIB_TGZ_NAME}) | ||
else () | ||
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME}) | ||
endif () | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter ZLIB file is ${ZLIB_URL}") | ||
endif () | ||
|
||
option (BUILD_SZIP_WITH_FETCHCONTENT "Use FetchContent to use original source files" OFF) | ||
if (BUILD_SZIP_WITH_FETCHCONTENT) | ||
# Only libaec library is usable | ||
set (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE) | ||
set (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1) | ||
if (NOT LIBAEC_USE_LOCALCONTENT) | ||
set (SZIP_URL ${LIBAEC_TGZ_ORIGPATH}/${LIBAEC_TGZ_ORIGNAME}) | ||
else () | ||
set (SZIP_URL ${TGZPATH}/${LIBAEC_TGZ_ORIGNAME}) | ||
endif () | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter SZIP file is ${SZIP_URL}") | ||
endif () | ||
if (NOT LIBAEC_USE_LOCALCONTENT) | ||
set (SZIP_URL ${LIBAEC_TGZ_ORIGPATH}/${LIBAEC_TGZ_NAME}) | ||
else () | ||
set (SZIP_URL ${TGZPATH}/${LIBAEC_TGZ_NAME}) | ||
endif () | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter SZIP file is ${SZIP_URL}") | ||
endif () | ||
|
||
include (ExternalProject) | ||
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO") | ||
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)") | ||
set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
set (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1) | ||
set (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1) | ||
set (ZLIB_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ZLIB" FORCE) | ||
set (SZIP_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for SZIP" FORCE) | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT") | ||
set (ZLIB_URL ${ZLIB_GIT_URL} CACHE STRING "Path to zlib git repository") | ||
set (ZLIB_BRANCH ${ZLIB_GIT_BRANCH}) | ||
|
@@ -58,9 +47,6 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT | |
if (NOT TGZPATH) | ||
set (TGZPATH ${HDF5_SOURCE_DIR}) | ||
endif () | ||
if (NOT BUILD_ZLIB_WITH_FETCHCONTENT) | ||
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME}) | ||
endif () | ||
if (ZLIB_USE_LOCALCONTENT) | ||
if (NOT EXISTS "${ZLIB_URL}") | ||
set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) | ||
|
@@ -69,12 +55,6 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT | |
endif () | ||
endif () | ||
endif () | ||
if (NOT BUILD_SZIP_WITH_FETCHCONTENT) | ||
set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME}) | ||
if (USE_LIBAEC) | ||
set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME}) | ||
endif () | ||
endif () | ||
if (LIBAEC_USE_LOCALCONTENT) | ||
if (NOT EXISTS "${SZIP_URL}") | ||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) | ||
|
@@ -84,8 +64,10 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT | |
endif () | ||
endif () | ||
else () | ||
set (ZLIB_USE_EXTERNAL 0) | ||
set (SZIP_USE_EXTERNAL 0) | ||
set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) | ||
set (ZLIB_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for ZLIB") | ||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) | ||
set (SZIP_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for SZIP") | ||
endif () | ||
endif () | ||
|
||
|
@@ -107,14 +89,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) | |
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES}) | ||
endif () | ||
else () | ||
if (BUILD_ZLIB_WITH_FETCHCONTENT) | ||
# Only tgz files available | ||
ORIGINAL_ZLIB_LIBRARY ("TGZ") | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "HDF5_ZLIB is built from fetch content") | ||
endif () | ||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY}) | ||
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT}) | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter HDF5_ZLIB is built") | ||
|
@@ -140,6 +115,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) | |
message (VERBOSE "Filter HDF5_ZLIB is ON") | ||
endif () | ||
else () | ||
set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) | ||
message (WARNING " ZLib support in HDF5 was enabled but not found") | ||
endif () | ||
endif () | ||
|
@@ -152,15 +128,13 @@ if (HDF5_ENABLE_SZIP_SUPPORT) | |
option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON) | ||
if (NOT SZIP_USE_EXTERNAL) | ||
set(SZIP_FOUND FALSE) | ||
if (USE_LIBAEC) | ||
set(libaec_USE_STATIC_LIBS ${USE_LIBAEC_STATIC}) | ||
find_package (libaec 1.0.5 CONFIG) | ||
if (SZIP_FOUND) | ||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) | ||
endif () | ||
set(libaec_USE_STATIC_LIBS ${USE_LIBAEC_STATIC}) | ||
find_package (libaec 1.0.5 CONFIG) | ||
if (SZIP_FOUND) | ||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) | ||
endif () | ||
if (NOT SZIP_FOUND) | ||
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) | ||
find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) | ||
if (NOT SZIP_FOUND) | ||
find_package (SZIP) # Legacy find | ||
endif () | ||
|
@@ -171,33 +145,11 @@ if (HDF5_ENABLE_SZIP_SUPPORT) | |
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) | ||
endif () | ||
else () | ||
if (BUILD_SZIP_WITH_FETCHCONTENT) | ||
# Only tgz files available | ||
ORIGINAL_SZIP_LIBRARY ("TGZ" ${HDF5_ENABLE_SZIP_ENCODING}) | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "SZIP is built from fetch content") | ||
endif () | ||
if (USE_LIBAEC) | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "... with library AEC") | ||
endif () | ||
set (SZIP_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME}) | ||
else () | ||
set (SZIP_PACKAGE_NAME ${SZIP_PACKAGE_NAME}) | ||
endif () | ||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY}) | ||
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING}) | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "Filter SZIP is built") | ||
endif () | ||
if (USE_LIBAEC) | ||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") | ||
message (VERBOSE "... with library AEC") | ||
endif () | ||
set (SZIP_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME}) | ||
else () | ||
set (SZIP_PACKAGE_NAME ${SZIP_PACKAGE_NAME}) | ||
message (VERBOSE "... with library AEC") | ||
endif () | ||
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY}) | ||
endif () | ||
|
@@ -218,6 +170,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) | |
set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} ENCODE") | ||
endif () | ||
else () | ||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) | ||
message (WARNING "SZIP support in HDF5 was enabled but not found") | ||
endif () | ||
endif () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -437,6 +437,13 @@ set (HDF5_PACKAGE_TARNAME "${HDF5_PACKAGE}${HDF_PACKAGE_EXT}") | |
set (HDF5_PACKAGE_URL "http://www.hdfgroup.org") | ||
set (HDF5_PACKAGE_BUGREPORT "[email protected]") | ||
|
||
#----------------------------------------------------------------------------- | ||
# Set variables needed for installation | ||
#----------------------------------------------------------------------------- | ||
set (HDF5_VERSION_STRING ${HDF5_PACKAGE_VERSION}) | ||
set (HDF5_VERSION_MAJOR ${HDF5_PACKAGE_VERSION_MAJOR}) | ||
set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR}) | ||
|
||
#----------------------------------------------------------------------------- | ||
# Include some macros for reusable code | ||
#----------------------------------------------------------------------------- | ||
|
@@ -475,6 +482,12 @@ include (${HDF_RESOURCES_DIR}/ConfigureChecks.cmake) | |
|
||
set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) | ||
|
||
#----------------------------------------------------------------------------- | ||
# Include directories in the source or build tree should come before other | ||
# directories to prioritize headers in the sources over installed ones. | ||
#----------------------------------------------------------------------------- | ||
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON) | ||
|
||
#----------------------------------------------------------------------------- | ||
# Mac OS X Options | ||
#----------------------------------------------------------------------------- | ||
|
@@ -803,13 +816,6 @@ option (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF) | |
if (NOT HDF5_EXTERNALLY_CONFIGURED) | ||
if (HDF5_PACKAGE_EXTLIBS) | ||
set (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE) | ||
if (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND AND NOT BUILD_ZLIB_WITH_FETCHCONTENT) | ||
PACKAGE_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT}) | ||
endif () | ||
|
||
if (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND AND NOT BUILD_SZIP_WITH_FETCHCONTENT) | ||
PACKAGE_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT}) | ||
endif () | ||
endif () | ||
endif () | ||
|
||
|
@@ -821,7 +827,7 @@ if (HDF5_ENABLE_THREADSAFE) | |
# check for unsupported options | ||
if (WIN32) | ||
if (BUILD_STATIC_LIBS) | ||
message (FATAL_ERROR " **** thread-safety option not supported with static library **** ") | ||
message (FATAL_ERROR " **** thread-safety option not supported with static library **** ") | ||
endif () | ||
endif () | ||
if (HDF5_ENABLE_PARALLEL) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,27 +9,40 @@ | |
# If you do not have access to either file, you may request a copy from | ||
# [email protected]. | ||
# | ||
option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN" OFF) | ||
|
||
if (NOT PLUGIN_USE_LOCALCONTENT) | ||
set (PLUGIN_URL ${PLUGIN_TGZ_ORIGPATH}/${PLUGIN_TGZ_NAME}) | ||
else () | ||
if (NOT H5PL_TGZPATH) | ||
set (H5PL_TGZPATH ${TGZPATH}) | ||
endif () | ||
set (PLUGIN_URL ${H5PL_TGZPATH}/${PLUGIN_TGZ_NAME}) | ||
endif () | ||
message (STATUS "Filter PLUGIN file is ${PLUGIN_URL}") | ||
|
||
include (ExternalProject) | ||
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO") | ||
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)") | ||
set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN" 1) | ||
set (PLUGIN_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for PLUGIN" FORCE) | ||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT") | ||
set (PLUGIN_URL ${PLUGIN_GIT_URL} CACHE STRING "Path to PLUGIN git repository") | ||
set (PLUGIN_BRANCH ${PLUGIN_GIT_BRANCH}) | ||
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") | ||
if (NOT TGZPATH) | ||
set (TGZPATH ${HDF5_SOURCE_DIR}) | ||
if (NOT H5PL_TGZPATH) | ||
set (H5PL_TGZPATH ${TGZPATH}) | ||
endif () | ||
set (PLUGIN_URL ${TGZPATH}/${PLUGIN_TGZ_NAME}) | ||
if (NOT EXISTS "${PLUGIN_URL}") | ||
set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE) | ||
message (STATUS "Filter PLUGIN file ${PLUGIN_URL} not found") | ||
if (PLUGIN_USE_LOCALCONTENT) | ||
if (NOT EXISTS "${PLUGIN_URL}") | ||
set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE) | ||
message (VERBOSE "Filter PLUGIN file ${PLUGIN_URL} not found") | ||
endif () | ||
endif () | ||
else () | ||
set (PLUGIN_USE_EXTERNAL 0) | ||
set (PLUGIN_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for PLUGIN") | ||
message (VERBOSE "Filter PLUGIN not built") | ||
endif () | ||
endif () | ||
|
||
|
Oops, something went wrong.