From c3180334e0af1150812f903dd5df34d392259072 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:15:46 -0600 Subject: CMake compression and directory includes from develop (#3933) * Merge CMake dir props and compression changes from develop * Remove unused include --- CMakeFilters.cmake | 4 ++-- CMakeLists.txt | 3 ++- HDF5Examples/CMakeLists.txt | 8 +++----- HDF5Examples/FORTRAN/H5D/CMakeLists.txt | 6 ++---- HDF5Examples/FORTRAN/H5G/CMakeLists.txt | 6 ++---- HDF5Examples/FORTRAN/H5PAR/CMakeLists.txt | 7 ++----- HDF5Examples/FORTRAN/H5T/CMakeLists.txt | 6 ++---- HDF5Examples/JAVA/CMakeLists.txt | 4 ++++ HDF5Examples/JAVA/H5D/CMakeLists.txt | 5 ----- HDF5Examples/JAVA/H5G/CMakeLists.txt | 5 ----- HDF5Examples/JAVA/H5J/CMakeLists.txt | 5 ----- HDF5Examples/JAVA/H5T/CMakeLists.txt | 5 ----- config/cmake/LIBAEC/CMakeLists.txt | 4 +++- config/cmake/ZLIB/CMakeLists.txt | 4 +++- config/cmake/mccacheinit.cmake | 11 +++++++++-- src/CMakeLists.txt | 4 ++-- test/dsets.c | 3 --- 17 files changed, 36 insertions(+), 54 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index a9cba8f..b9c0e11 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -104,7 +104,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) if (H5_HAVE_FILTER_DEFLATE) set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE") endif () - INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS}) + set (HDF5_COMP_INCLUDE_DIRECTORIES "${HDF5_COMP_INCLUDE_DIRECTORIES};${ZLIB_INCLUDE_DIRS}") message (VERBOSE "Filter HDF5_ZLIB is ON") else () set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) @@ -148,7 +148,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) set (H5_HAVE_FILTER_SZIP 1) set (H5_HAVE_SZLIB_H 1) set (H5_HAVE_LIBSZ 1) - INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS}) + set (HDF5_COMP_INCLUDE_DIRECTORIES "${HDF5_COMP_INCLUDE_DIRECTORIES};${SZIP_INCLUDE_DIRS}") message (VERBOSE "Filter SZIP is ON") if (H5_HAVE_FILTER_SZIP) set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE") diff --git a/CMakeLists.txt b/CMakeLists.txt index 6107063..1994458 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -462,7 +462,8 @@ 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) +set (CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON) +set (HDF5_COMP_INCLUDE_DIRECTORIES) #----------------------------------------------------------------------------- # Mac OS X Options diff --git a/HDF5Examples/CMakeLists.txt b/HDF5Examples/CMakeLists.txt index 63adad6..d8e02d5 100644 --- a/HDF5Examples/CMakeLists.txt +++ b/HDF5Examples/CMakeLists.txt @@ -36,10 +36,6 @@ message (STATUS "HDF5 H5_LIBVER_DIR: ${H5_LIBVER_DIR} HDF5_VERSION_MAJOR: ${HDF5 option (HDF_BUILD_JAVA "Build JAVA support" OFF) if (HDF_BUILD_JAVA) find_package (Java) - INCLUDE_DIRECTORIES ( - ${JAVA_INCLUDE_PATH} - ${JAVA_INCLUDE_PATH2} - ) include (${H5EX_RESOURCES_DIR}/UseJava.cmake) endif () @@ -120,7 +116,9 @@ if (HDF_ENABLE_THREADSAFE) set (H5EX_HDF5_LINK_LIBS ${H5EX_HDF5_LINK_LIBS} Threads::Threads) endif () -INCLUDE_DIRECTORIES (${H5EX_HDF5_INCLUDE_DIRS}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${H5EX_HDF5_INCLUDE_DIRS}" +) #----------------------------------------------------------------------------- # Dashboard and Testing Settings diff --git a/HDF5Examples/FORTRAN/H5D/CMakeLists.txt b/HDF5Examples/FORTRAN/H5D/CMakeLists.txt index 0d7f5b5..a929ac3 100644 --- a/HDF5Examples/FORTRAN/H5D/CMakeLists.txt +++ b/HDF5Examples/FORTRAN/H5D/CMakeLists.txt @@ -9,10 +9,8 @@ project (HDF5Examples_FORTRAN_H5D Fortran) #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${HDF5_F90_BINARY_DIR};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- diff --git a/HDF5Examples/FORTRAN/H5G/CMakeLists.txt b/HDF5Examples/FORTRAN/H5G/CMakeLists.txt index dc8888a..835eb04 100644 --- a/HDF5Examples/FORTRAN/H5G/CMakeLists.txt +++ b/HDF5Examples/FORTRAN/H5G/CMakeLists.txt @@ -9,10 +9,8 @@ project (HDF5Examples_FORTRAN_H5G Fortran) #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${HDF5_F90_BINARY_DIR};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- diff --git a/HDF5Examples/FORTRAN/H5PAR/CMakeLists.txt b/HDF5Examples/FORTRAN/H5PAR/CMakeLists.txt index 866f3ef..87fe8ab 100644 --- a/HDF5Examples/FORTRAN/H5PAR/CMakeLists.txt +++ b/HDF5Examples/FORTRAN/H5PAR/CMakeLists.txt @@ -9,11 +9,8 @@ project (HDF5Examples_FORTRAN_H5PAR Fortran) #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${HDF5_F90_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${HDF5_F90_BINARY_DIR};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- diff --git a/HDF5Examples/FORTRAN/H5T/CMakeLists.txt b/HDF5Examples/FORTRAN/H5T/CMakeLists.txt index 8462bbf..4ef2256 100644 --- a/HDF5Examples/FORTRAN/H5T/CMakeLists.txt +++ b/HDF5Examples/FORTRAN/H5T/CMakeLists.txt @@ -4,10 +4,8 @@ project (HDF5Examples_FORTRAN_H5T Fortran) #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${HDF5_F90_BINARY_DIR};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- diff --git a/HDF5Examples/JAVA/CMakeLists.txt b/HDF5Examples/JAVA/CMakeLists.txt index 5063e5b..080e505 100644 --- a/HDF5Examples/JAVA/CMakeLists.txt +++ b/HDF5Examples/JAVA/CMakeLists.txt @@ -1,6 +1,10 @@ cmake_minimum_required (VERSION 3.18) project (HDFJAVA_EXAMPLES Java) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" +) + add_subdirectory (H5D) add_subdirectory (H5T) add_subdirectory (H5G) diff --git a/HDF5Examples/JAVA/H5D/CMakeLists.txt b/HDF5Examples/JAVA/H5D/CMakeLists.txt index 017830b..d5b3b85 100644 --- a/HDF5Examples/JAVA/H5D/CMakeLists.txt +++ b/HDF5Examples/JAVA/H5D/CMakeLists.txt @@ -3,11 +3,6 @@ project (HDF5Examples_JAVA_H5D Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- diff --git a/HDF5Examples/JAVA/H5G/CMakeLists.txt b/HDF5Examples/JAVA/H5G/CMakeLists.txt index bd43f2a..ac35a3a 100644 --- a/HDF5Examples/JAVA/H5G/CMakeLists.txt +++ b/HDF5Examples/JAVA/H5G/CMakeLists.txt @@ -3,11 +3,6 @@ project (HDF5Examples_JAVA_GROUPS Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- diff --git a/HDF5Examples/JAVA/H5J/CMakeLists.txt b/HDF5Examples/JAVA/H5J/CMakeLists.txt index 1bd28a1..6d15565 100644 --- a/HDF5Examples/JAVA/H5J/CMakeLists.txt +++ b/HDF5Examples/JAVA/H5J/CMakeLists.txt @@ -3,11 +3,6 @@ project (HDF5Examples_JAVA_INTRO Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- diff --git a/HDF5Examples/JAVA/H5T/CMakeLists.txt b/HDF5Examples/JAVA/H5T/CMakeLists.txt index 1c06804..d8c8220 100644 --- a/HDF5Examples/JAVA/H5T/CMakeLists.txt +++ b/HDF5Examples/JAVA/H5T/CMakeLists.txt @@ -3,11 +3,6 @@ project (HDF5Examples_JAVA_H5T Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- diff --git a/config/cmake/LIBAEC/CMakeLists.txt b/config/cmake/LIBAEC/CMakeLists.txt index a819587..e118438 100644 --- a/config/cmake/LIBAEC/CMakeLists.txt +++ b/config/cmake/LIBAEC/CMakeLists.txt @@ -146,7 +146,9 @@ configure_file (${LIBAEC_RESOURCES_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/ #----------------------------------------------------------------------------- # All libs/tests/examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${LIBAEC_BINARY_DIR} ${LIBAEC_SOURCE_DIR}/src ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${LIBAEC_BINARY_DIR};${LIBAEC_SOURCE_DIR}/src;${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) #----------------------------------------------------------------------------- # Define LIBAEC Library diff --git a/config/cmake/ZLIB/CMakeLists.txt b/config/cmake/ZLIB/CMakeLists.txt index d4b3924..09f67b0 100644 --- a/config/cmake/ZLIB/CMakeLists.txt +++ b/config/cmake/ZLIB/CMakeLists.txt @@ -146,7 +146,9 @@ endif () #----------------------------------------------------------------------------- # All libs/tests/examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${ZLIB_BINARY_DIR} ${ZLIB_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${ZLIB_BINARY_DIR};${ZLIB_SOURCE_DIR};${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) #============================================================================ # zlib diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index 2fe3b6b..5b41167 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -50,11 +50,18 @@ set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE) set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) +######################## +# compression options +######################## set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) -set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) +set (ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use HDF5_ZLib from compressed file" FORCE) +set (ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use ZLIB from original location" FORCE) +set (ZLIB_USE_LOCALCONTENT ON CACHE BOOL "Use local file for ZLIB FetchContent" FORCE) set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE) -set (LIBAEC_TGZ_NAME "LIBAEC.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE) +set (LIBAEC_TGZ_NAME "libaec-1.0.6.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE) +set (LIBAEC_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE) +set (LIBAEC_USE_LOCALCONTENT ON CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE) set (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build Debug" FORCE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a0a67df..c0e5e67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1058,7 +1058,7 @@ endif () if (BUILD_STATIC_LIBS) add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} H5build_settings.c ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS} ${H5_MODULE_HEADERS}) target_include_directories (${HDF5_LIB_TARGET} - PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>" + PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};${HDF5_COMP_INCLUDE_DIRECTORIES};$<$:${MPI_C_INCLUDE_DIRS}>" INTERFACE "$/include>;$" ) target_compile_options(${HDF5_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}") @@ -1091,7 +1091,7 @@ endif () if (BUILD_SHARED_LIBS) add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} H5build_settings.c ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS} ${H5_MODULE_HEADERS}) target_include_directories (${HDF5_LIBSH_TARGET} - PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$:${MPI_C_INCLUDE_DIRS}>" + PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};${HDF5_COMP_INCLUDE_DIRECTORIES};$<$:${MPI_C_INCLUDE_DIRS}>" PUBLIC "$<$:${HDFS_INCLUDE_DIR}>" INTERFACE "$/include>;$" ) diff --git a/test/dsets.c b/test/dsets.c index 9bebbb8..aba1f1e 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -48,9 +48,6 @@ #include "H5FDpkg.h" #include "H5VMprivate.h" #include "H5Zpkg.h" -#ifdef H5_HAVE_SZLIB_H -#include "szlib.h" -#endif static const char *FILENAME[] = {"dataset", /* 0 */ "compact_dataset", /* 1 */ -- cgit v0.12