diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 1d86a5edf6..fa8cb70581 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,5 +1,5 @@ Source: hdf5 -Version: 1.10.1-1 +Version: 1.10.5-1 Description: HDF5 is a data model, library, and file format for storing and managing data Build-Depends: zlib, szip diff --git a/ports/hdf5/disable-static-libs.patch b/ports/hdf5/disable-static-libs.patch deleted file mode 100644 index 4d33c5e45c..0000000000 --- a/ports/hdf5/disable-static-libs.patch +++ /dev/null @@ -1,113 +0,0 @@ ---- a/hl/src/CMakeLists.txt Thu Apr 13 18:26:10 2017 -+++ b/hl/src/CMakeLists.txt Wed Jan 03 13:13:06 2018 -@@ -29,16 +29,20 @@ - ${HDF5_HL_SRC_SOURCE_DIR}/hdf5_hl.h - ) - --add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS}) --TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ") --target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) --H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC) --set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES -- FOLDER libraries/hl -- INTERFACE_INCLUDE_DIRECTORIES "$/include>" --) --set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}") --set (install_targets ${HDF5_HL_LIB_TARGET}) -+set (install_targets) -+ -+if (NOT DISABLE_STATIC_LIBS) -+ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS}) -+ TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ") -+ target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) -+ H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC) -+ set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES -+ FOLDER libraries/hl -+ INTERFACE_INCLUDE_DIRECTORIES "$/include>" -+ ) -+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}") -+ set (install_targets ${HDF5_HL_LIB_TARGET}) -+endif () - - if (BUILD_SHARED_LIBS) - add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SOURCES} ${HL_HEADERS}) -@@ -73,8 +77,9 @@ - if (HDF5_EXPORTED_TARGETS) - if (BUILD_SHARED_LIBS) - INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) -+ else () -+ INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) - endif () -- INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) - - install ( - TARGETS ---- a/src/CMakeLists.txt Thu Apr 13 18:26:11 2017 -+++ b/src/CMakeLists.txt Wed Jan 03 13:03:05 2018 -@@ -876,30 +876,33 @@ - #----------------------------------------------------------------------------- - set (gen_SRCS ${HDF5_BINARY_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c) - --add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) --TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ") --target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS}) --if (NOT WIN32) -- target_link_libraries (${HDF5_LIB_TARGET} dl) --endif () --if (H5_HAVE_PARALLEL AND MPI_C_FOUND) -- target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES}) --endif () --set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET}) --H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC) --set_target_properties (${HDF5_LIB_TARGET} PROPERTIES -- FOLDER libraries -- INTERFACE_INCLUDE_DIRECTORIES "$/include>" --) -- --option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF) --if (HDF5_ENABLE_DEBUG_APIS) -+set (install_targets) -+if (NOT DISABLE_STATIC_LIBS) -+ add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) -+ TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ") -+ target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS}) -+ if (NOT WIN32) -+ target_link_libraries (${HDF5_LIB_TARGET} dl) -+ endif () -+ if (H5_HAVE_PARALLEL AND MPI_C_FOUND) -+ target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES}) -+ endif () -+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET}) -+ H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC) - set_target_properties (${HDF5_LIB_TARGET} PROPERTIES -- COMPILE_DEFINITIONS -- "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG" -+ FOLDER libraries -+ INTERFACE_INCLUDE_DIRECTORIES "$/include>" - ) -+ -+ option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF) -+ if (HDF5_ENABLE_DEBUG_APIS) -+ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES -+ COMPILE_DEFINITIONS -+ "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG" -+ ) -+ endif () -+ set (install_targets ${HDF5_LIB_TARGET}) - endif () --set (install_targets ${HDF5_LIB_TARGET}) - - if (BUILD_SHARED_LIBS) - file (MAKE_DIRECTORY "${HDF5_BINARY_DIR}/shared") -@@ -975,8 +978,10 @@ - if (HDF5_EXPORTED_TARGETS) - if (BUILD_SHARED_LIBS) - INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) -+ else () -+ INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) - endif () -- INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) -+ - - install ( - TARGETS diff --git a/ports/hdf5/hdf5_config.patch b/ports/hdf5/hdf5_config.patch new file mode 100644 index 0000000000..012424cf1b --- /dev/null +++ b/ports/hdf5/hdf5_config.patch @@ -0,0 +1,28 @@ +diff --git a/hdf5-config.cmake.in_old b/hdf5-config.cmake.in +index 3bd9e1dc..d95897d3 100644 +--- a/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in ++++ b/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in +@@ -108,11 +108,19 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@) + # project which has already built hdf5 as a subproject + #----------------------------------------------------------------------------- + if (NOT TARGET "@HDF5_PACKAGE@") +- if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib") +- include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) ++ if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND NOT TARGET "zlib") ++ if(${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) ++ #include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) ++ else() ++ #find_package(@ZLIB_PACKAGE_NAME@ REQUIRED) ++ endif() + endif () +- if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip") +- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) ++ if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND NOT TARGET "szip") ++ if(${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) ++ include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) ++ else() ++ find_package(@SZIP_PACKAGE_NAME@ REQUIRED) ++ endif() + endif () + include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) + endif () diff --git a/ports/hdf5/link-libraries-private.patch b/ports/hdf5/link-libraries-private.patch deleted file mode 100644 index df423b8bb7..0000000000 --- a/ports/hdf5/link-libraries-private.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/src/CMakeLists.txt Wed Jan 03 13:16:33 2018 -+++ b/src/CMakeLists.txt Wed Jan 03 13:16:56 2018 -@@ -925,12 +925,12 @@ - set (shared_gen_SRCS ${HDF5_BINARY_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c) - add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) - TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ") -- target_link_libraries (${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS}) -+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE ${LINK_SHARED_LIBS}) - if (NOT WIN32) -- target_link_libraries (${HDF5_LIBSH_TARGET} dl) -+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE dl) - endif () - if (H5_HAVE_PARALLEL AND MPI_C_FOUND) -- target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES}) -+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE ${MPI_C_LIBRARIES}) - endif () - set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}") - H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED ${HDF5_PACKAGE_SOVERSION}) -@@ -945,7 +945,7 @@ - APPEND PROPERTY COMPILE_DEFINITIONS - "H5_HAVE_THREADSAFE" - ) -- target_link_libraries (${HDF5_LIBSH_TARGET} Threads::Threads) -+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE Threads::Threads) - endif () - - if (HDF5_ENABLE_DEBUG_APIS) diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 61235fab1a..6172586c06 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -3,23 +3,22 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.1/hdf5-1.10.1) +#set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.5/hdf5-1.10.5) vcpkg_download_distfile(ARCHIVE - URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/CMake-hdf5-1.10.1.zip" - FILENAME "CMake-hdf5-1.10.1.zip" - SHA512 0045a6301c6e3479be70f025d8690297ff33b9e6e99ec217a33e9b916d9410fb3f7110b7361fbeaec163c35b8e6bd948ac8d5fdace80930c98c6a0b27c6fd5c4 + URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/CMake-hdf5-1.10.5.tar.gz" + FILENAME "CMake-hdf5-1.10.5.tar.gz" + SHA512 a25ea28d7a511f9184d97b5b8cd4c6d52dcdcad2bffd670e24a1c9a6f98b03108014a853553fa2b00d4be7523128b5fd6a4454545e3b17ff8c66fea16a09e962 ) vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF hdf5 PATCHES - ${CMAKE_CURRENT_LIST_DIR}/use-szip-config.patch - ${CMAKE_CURRENT_LIST_DIR}/disable-static-libs.patch - ${CMAKE_CURRENT_LIST_DIR}/link-libraries-private.patch + hdf5_config.patch ) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC_LIBS) +set(SOURCE_PATH ${SOURCE_PATH}/hdf5-1.10.5) if ("parallel" IN_LIST FEATURES) set(ENABLE_PARALLEL ON) @@ -33,21 +32,24 @@ else() set(ENABLE_CPP OFF) endif() +#Note: HDF5 Builds by default static as well as shared libraries set BUILD_SHARED_LIBS to OFF to only get static libraries +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF - -DDISABLE_STATIC_LIBS=${DISABLE_STATIC_LIBS} -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_TOOLS=OFF + -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DHDF5_BUILD_CPP_LIB=${ENABLE_CPP} -DHDF5_ENABLE_PARALLEL=${ENABLE_PARALLEL} -DHDF5_ENABLE_Z_LIB_SUPPORT=ON -DHDF5_ENABLE_SZIP_SUPPORT=ON -DHDF5_ENABLE_SZIP_ENCODING=ON -DHDF5_INSTALL_DATA_DIR=share/hdf5/data - -DHDF5_INSTALL_CMAKE_DIR=share/hdf5 + -DHDF5_INSTALL_CMAKE_DIR=share ) vcpkg_install_cmake() @@ -57,11 +59,10 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/hdf5/data/COPYING ${CURRENT_PACKAGES_D vcpkg_fixup_cmake_targets(CONFIG_PATH share/hdf5) -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/hdf5 - @ONLY -) +#Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/hdf5/use-szip-config.patch b/ports/hdf5/use-szip-config.patch deleted file mode 100644 index d7cd6748b6..0000000000 --- a/ports/hdf5/use-szip-config.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake -index c2b81dc..a86d2d5 100644 ---- a/CMakeFilters.cmake -+++ b/CMakeFilters.cmake -@@ -81,6 +81,16 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - if (NOT SZIP_USE_EXTERNAL) - find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) - if (NOT SZIP_FOUND) -+ find_package (SZIP CONFIG) -+ if (SZIP_FOUND) -+ if (TARGET szip-shared) -+ set(SZIP_LIBRARIES szip-shared) -+ else (TARGET szip-shared) -+ set(SZIP_LIBRARIES szip-static) -+ endif (TARGET szip-shared) -+ endif (SZIP_FOUND) -+ endif (NOT SZIP_FOUND) -+ if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - if (SZIP_FOUND) - set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES}) diff --git a/ports/hdf5/vcpkg-cmake-wrapper.cmake b/ports/hdf5/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 879d2516d4..0000000000 --- a/ports/hdf5/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,29 +0,0 @@ -if (NOT PROJECT_NAME STREQUAL "VTK") - _find_package(${ARGS} CONFIG) - # Fill in missing static/shared targets - foreach(HDF5TARGET hdf5 hdf5_hl hdf5_cpp hdf5_hl_cpp) - if(TARGET hdf5::${HDF5TARGET}-static AND NOT TARGET hdf5::${HDF5TARGET}-shared) - _add_library(hdf5::${HDF5TARGET}-shared INTERFACE IMPORTED) - set_target_properties(hdf5::${HDF5TARGET}-shared PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::${HDF5TARGET}-static") - elseif(TARGET hdf5::${HDF5TARGET}-shared AND NOT TARGET hdf5::${HDF5TARGET}-static) - _add_library(hdf5::${HDF5TARGET}-static INTERFACE IMPORTED) - set_target_properties(hdf5::${HDF5TARGET}-static PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::${HDF5TARGET}-shared") - endif() - endforeach() -else () - _find_package(${ARGS}) -endif() - -if("static" STREQUAL "static") -find_package(SZIP CONFIG REQUIRED) -foreach(HDF5TARGET hdf5 hdf5_hl hdf5_cpp hdf5_hl_cpp) - if(TARGET hdf5::${HDF5TARGET}-static) - if (TARGET szip-shared) - set_property(TARGET hdf5::${HDF5TARGET}-static APPEND PROPERTY INTERFACE_LINK_LIBRARIES szip-shared) - else () - set_property(TARGET hdf5::${HDF5TARGET}-static APPEND PROPERTY INTERFACE_LINK_LIBRARIES szip-static) - endif () - endif() -endforeach() -endif() -