diff options
| author | Kai Pastor <dg0yt@darc.de> | 2021-06-10 00:17:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-09 15:17:07 -0700 |
| commit | c867e68ca880feb5fd01f65c39657b64084b2c2a (patch) | |
| tree | ae2d4ce2d04207b883c92bc82a24f8837e9cf308 | |
| parent | 58ce192f0fdd6721d89e248713d44fade6d38768 (diff) | |
| download | vcpkg-c867e68ca880feb5fd01f65c39657b64084b2c2a.tar.gz vcpkg-c867e68ca880feb5fd01f65c39657b64084b2c2a.zip | |
[szip, hdf5] Fix mingw import lib names, control linkage (#17941)
* Format manifest, make port version explicit
* Use standard mingw import lib names
* Choose either static or shared binaries
* Insert macro for dynamic linkage
* Add szip pc file
* Quote path expressions
* Port away from deprecated cmake functions
* x-add-version
* Begin of hdf5 changes
* Remove obsolete variables (complements 23eadeae)
* Fix indentation and quoting expressions
* Handle single-linkage szip configuration
* Use mingw import lib names for hdf5
* Move dependencies to Requires in pc file
* Port away from deprecated cmake functions
* x-add-version hdf5
* Apply szip review comments
* Update version
* Improve pkgconfig patch to handle lists
* Update git-tree
| -rw-r--r-- | ports/hdf5/mingw-import-libs.patch | 30 | ||||
| -rw-r--r-- | ports/hdf5/pkgconfig-requires.patch | 51 | ||||
| -rw-r--r-- | ports/hdf5/portfile.cmake | 52 | ||||
| -rw-r--r-- | ports/hdf5/szip.patch | 25 | ||||
| -rw-r--r-- | ports/hdf5/vcpkg.json | 12 | ||||
| -rw-r--r-- | ports/szip/CONTROL | 4 | ||||
| -rw-r--r-- | ports/szip/fix-linkage-config.patch | 47 | ||||
| -rw-r--r-- | ports/szip/fix-szip-config-to-set-szip-found.patch | 11 | ||||
| -rw-r--r-- | ports/szip/mingw-lib-names.patch | 30 | ||||
| -rw-r--r-- | ports/szip/portfile.cmake | 62 | ||||
| -rw-r--r-- | ports/szip/szip.pc.in | 16 | ||||
| -rw-r--r-- | ports/szip/vcpkg.json | 17 | ||||
| -rw-r--r-- | triplets/community/arm-mingw-dynamic.cmake | 3 | ||||
| -rw-r--r-- | triplets/community/arm64-mingw-dynamic.cmake | 3 | ||||
| -rw-r--r-- | triplets/community/x64-mingw-dynamic.cmake | 3 | ||||
| -rw-r--r-- | triplets/community/x86-mingw-dynamic.cmake | 3 | ||||
| -rw-r--r-- | versions/baseline.json | 6 | ||||
| -rw-r--r-- | versions/h-/hdf5.json | 5 | ||||
| -rw-r--r-- | versions/s-/szip.json | 5 |
19 files changed, 298 insertions, 87 deletions
diff --git a/ports/hdf5/mingw-import-libs.patch b/ports/hdf5/mingw-import-libs.patch new file mode 100644 index 000000000..f328fa1d2 --- /dev/null +++ b/ports/hdf5/mingw-import-libs.patch @@ -0,0 +1,30 @@ +diff -urw a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake +--- a/config/cmake_ext_mod/HDFMacros.cmake 2020-03-03 00:03:12.000000000 +0100 ++++ b/config/cmake_ext_mod/HDFMacros.cmake 2021-05-12 07:56:13.703041807 +0200 +@@ -144,7 +144,7 @@ + endif () + + #----- Use MSVC Naming conventions for Shared Libraries +- if (MINGW AND ${libtype} MATCHES "SHARED") ++ if (FALSE AND MINGW AND ${libtype} MATCHES "SHARED") + set_target_properties (${libtarget} PROPERTIES + IMPORT_SUFFIX ".lib" + IMPORT_PREFIX "" +@@ -168,7 +168,7 @@ + + if (${libtype} MATCHES "SHARED") + if (WIN32) +- if (MINGW) ++ if (FALSE AND MINGW) + set_target_properties (${libtarget} PROPERTIES + IMPORTED_IMPLIB "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}.lib" + IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}" +@@ -180,7 +180,7 @@ + ) + endif () + else () +- if (MINGW) ++ if (FALSE AND MINGW) + set_target_properties (${libtarget} PROPERTIES + IMPORTED_IMPLIB "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}.lib" + IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}" diff --git a/ports/hdf5/pkgconfig-requires.patch b/ports/hdf5/pkgconfig-requires.patch new file mode 100644 index 000000000..5c670b422 --- /dev/null +++ b/ports/hdf5/pkgconfig-requires.patch @@ -0,0 +1,51 @@ +diff -urN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2020-03-03 00:03:12.000000000 +0100 ++++ b/CMakeLists.txt 2021-05-15 15:02:03.496210691 +0200 +@@ -682,6 +682,9 @@ + if (MPI_C_LINK_FLAGS) + set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") + endif () ++ if(UNIX) ++ set(ompi-c_PC_LIBS_PRIVATE ${MPI_C_LIBRARIES}) ++ endif() + endif () + + #option (DEFAULT_API_VERSION "Enable v1.12 API (v16, v18, v110, v112)" "v112") +diff -urN a/CMakeFilters.cmake b/CMakeFilters.cmake +--- a/CMakeFilters.cmake 2020-03-03 00:03:12.000000000 +0100 ++++ b/CMakeFilters.cmake 2021-05-15 12:35:58.453641554 +0200 +@@ -55,6 +55,7 @@ + if (ZLIB_FOUND) + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES}) + set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_LIBRARIES}) ++ set (zlib_PC_LIBS_PRIVATE "${ZLIB_LIBRARIES}") + endif () + endif () + endif () +@@ -130,6 +131,7 @@ + set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_SHARED_LIBRARY}) + endif () + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY}) ++ set (szip_PC_LIBS_PRIVATE "${SZIP_STATIC_LIBRARY}") + INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS}) + message (STATUS "Filter SZIP is ON") + if (H5_HAVE_FILTER_SZIP) +diff -urN a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2020-03-03 00:03:12.000000000 +0100 ++++ b/src/CMakeLists.txt 2021-05-15 12:41:34.762354040 +0200 +@@ -1259,6 +1259,15 @@ + + set (_PKG_CONFIG_REQUIRES) + set (_PKG_CONFIG_REQUIRES_PRIVATE) ++set(_PKG_CONFIG_LIBS_PRIVATE " ${_PKG_CONFIG_LIBS_PRIVATE} ") ++foreach(_module IN ITEMS ompi-c szip zlib) ++ if(${_module}_PC_LIBS_PRIVATE) ++ foreach(_lib IN LISTS ${_module}_PC_LIBS_PRIVATE) ++ string(REPLACE " -l${_lib} " " " _PKG_CONFIG_LIBS_PRIVATE "${_PKG_CONFIG_LIBS_PRIVATE}") ++ endforeach() ++ string(APPEND _PKG_CONFIG_REQUIRES_PRIVATE " ${_module}") ++ endif() ++endforeach() + + configure_file ( + ${HDF_RESOURCES_DIR}/libhdf5.pc.in diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 48d4489ad..0cd1cb52c 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -9,8 +9,10 @@ vcpkg_from_github( SHA512 d84df1ea72dc6fa038440a370e1b1ff523364474e7f214b967edc26d3191b2ef4fe1d9273c4a086a5945f1ad1ab6aa8dbcda495898e7967b2b73fd93dd5071e0 HEAD_REF develop PATCHES - hdf5_config.patch - szip.patch + hdf5_config.patch + szip.patch + mingw-import-libs.patch + pkgconfig-requires.patch ) if ("parallel" IN_LIST FEATURES AND "cpp" IN_LIST FEATURES) @@ -22,15 +24,15 @@ if ("fortran" IN_LIST FEATURE) endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used - parallel HDF5_ENABLE_PARALLEL - tools HDF5_BUILD_TOOLS - cpp HDF5_BUILD_CPP_LIB - szip HDF5_ENABLE_SZIP_SUPPORT - szip HDF5_ENABLE_SZIP_ENCODING - zlib HDF5_ENABLE_Z_LIB_SUPPORT - fortran HDF5_BUILD_FORTRAN - threadsafe HDF5_ENABLE_THREADSAFE + FEATURES + parallel HDF5_ENABLE_PARALLEL + tools HDF5_BUILD_TOOLS + cpp HDF5_BUILD_CPP_LIB + szip HDF5_ENABLE_SZIP_SUPPORT + szip HDF5_ENABLE_SZIP_ENCODING + zlib HDF5_ENABLE_Z_LIB_SUPPORT + fortran HDF5_BUILD_FORTRAN + threadsafe HDF5_ENABLE_THREADSAFE ) file(REMOVE "${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake")#Outdated; does not find debug szip @@ -45,11 +47,9 @@ if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") -DONLY_SHARED_LIBS=ON) endif() -find_library(SZIP_RELEASE NAMES libsz libszip szip sz PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(SZIP_DEBUG NAMES libsz libszip szip sz libsz_D libszip_D szip_D sz_D szip_debug PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS @@ -61,10 +61,10 @@ vcpkg_configure_cmake( -DHDF_PACKAGE_NAMESPACE:STRING=hdf5:: ) -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() + set(debug_suffix debug) if(VCPKG_TARGET_IS_WINDOWS) set(debug_suffix D) @@ -119,20 +119,6 @@ foreach(PC_FILE IN LISTS PKG_FILES) endforeach() endforeach() vcpkg_fixup_pkgconfig() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/hdf5.pc") - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/hdf5.pc" - "-loptimized -l\"\${prefix}/lib/zlib.lib\" -ldebug -l\"\${prefix}/debug/lib/zlibd.lib\"" - "-lzlib" - ) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5.pc") - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5.pc" - "-loptimized -l\"\${prefix}/lib/zlib.lib\" -ldebug -l\"\${prefix}/lib/zlibd.lib\"" - "-lzlibd" - ) -endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") @@ -155,7 +141,7 @@ if(FEATURES MATCHES "tools") endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}") file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}") endif() endforeach() diff --git a/ports/hdf5/szip.patch b/ports/hdf5/szip.patch index df0618098..9dede4247 100644 --- a/ports/hdf5/szip.patch +++ b/ports/hdf5/szip.patch @@ -1,13 +1,16 @@ -diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake -index 5a8956456..997bb8e81 100644 ---- a/CMakeFilters.cmake -+++ b/CMakeFilters.cmake -@@ -100,7 +100,7 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF) - if (HDF5_ENABLE_SZIP_SUPPORT) - option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF) - if (NOT SZIP_USE_EXTERNAL) -- find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) -+ find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}) +diff -urN a/CMakeFilters.cmake b/CMakeFilters.cmake +--- a/CMakeFilters.cmake 2021-05-15 19:07:48.160044927 +0200 ++++ b/CMakeFilters.cmake 2021-05-15 19:22:56.993970332 +0200 +@@ -104,7 +104,11 @@ + find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT SZIP_FOUND) find_package (SZIP) # Legacy find - if (SZIP_FOUND) +- if (SZIP_FOUND) ++ if (DEFINED SZIP_SHARED_LIBRARY AND NOT DEFINED SZIP_STATIC_LIBRARY) ++ set (SZIP_STATIC_LIBRARY "${SZIP_SHARED_LIBRARY}") ++ elseif (DEFINED SZIP_STATIC_LIBRARY AND NOT DEFINED SZIP_SHARED_LIBRARY) ++ set (SZIP_SHARED_LIBRARY "${SZIP_STATIC_LIBRARY}") ++ elseif (SZIP_FOUND) + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) + set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_LIBRARIES}) + endif () diff --git a/ports/hdf5/vcpkg.json b/ports/hdf5/vcpkg.json index bb8cc7bdc..1cb6985d5 100644 --- a/ports/hdf5/vcpkg.json +++ b/ports/hdf5/vcpkg.json @@ -1,10 +1,20 @@ { "name": "hdf5", "version": "1.12.0", - "port-version": 2, + "port-version": 3, "description": "HDF5 is a data model, library, and file format for storing and managing data", "homepage": "https://www.hdfgroup.org/downloads/hdf5/", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "szip", "zlib" diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL deleted file mode 100644 index 54ebf9b7b..000000000 --- a/ports/szip/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: szip -Version: 2.1.1-6 -Homepage: https://support.hdfgroup.org/ftp/lib-external/szip -Description: Szip compression software, providing lossless compression of scientific data diff --git a/ports/szip/fix-linkage-config.patch b/ports/szip/fix-linkage-config.patch new file mode 100644 index 000000000..6d862e418 --- /dev/null +++ b/ports/szip/fix-linkage-config.patch @@ -0,0 +1,47 @@ +diff -urN a/config/cmake/szip-config.cmake.in b/config/cmake/szip-config.cmake.in +--- a/config/cmake/szip-config.cmake.in 2017-01-09 16:14:35.000000000 +0100 ++++ b/config/cmake/szip-config.cmake.in 2021-05-14 21:26:09.490134839 +0200 +@@ -39,8 +39,13 @@ + + # Handle default component(static) : + if (NOT ${SZIP_PACKAGE_NAME}_FIND_COMPONENTS) ++ if(@BUILD_SHARED_LIBS@) ++ set (${SZIP_PACKAGE_NAME}_FIND_COMPONENTS shared) ++ set (${SZIP_PACKAGE_NAME}_FIND_REQUIRED_shared true) ++ else() + set (${SZIP_PACKAGE_NAME}_FIND_COMPONENTS static) + set (${SZIP_PACKAGE_NAME}_FIND_REQUIRED_static true) ++ endif() + endif () + + # Handle requested components: +diff -urN a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2017-02-03 20:42:43.000000000 +0100 ++++ b/src/CMakeLists.txt 2021-05-14 22:20:28.237632925 +0200 +@@ -22,6 +22,7 @@ + ${SZIP_SRC_SOURCE_DIR}/szlib.h + ) + ++if(NOT BUILD_SHARED_LIBS) + add_library (${SZIP_LIB_TARGET} STATIC ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS}) + #set_target_properties (${SZIP_LIB_TARGET} + # PROPERTIES +@@ -36,6 +37,7 @@ + set_global_variable (SZIP_LIBRARIES_TO_EXPORT ${SZIP_LIB_TARGET}) + SZIP_SET_LIB_OPTIONS (${SZIP_LIB_TARGET} ${SZIP_LIB_NAME} STATIC) + set (install_targets ${SZIP_LIB_TARGET}) ++endif(NOT BUILD_SHARED_LIBS) + + if (BUILD_SHARED_LIBS) + add_library (${SZIP_LIBSH_TARGET} SHARED ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS}) +@@ -62,8 +64,9 @@ + if (SZIP_EXPORTED_TARGETS) + if (BUILD_SHARED_LIBS) + INSTALL_TARGET_PDB (${SZIP_LIBSH_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries) +- endif (BUILD_SHARED_LIBS) ++ else() + INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries) ++ endif() + + install ( + TARGETS diff --git a/ports/szip/fix-szip-config-to-set-szip-found.patch b/ports/szip/fix-szip-config-to-set-szip-found.patch deleted file mode 100644 index f662916f9..000000000 --- a/ports/szip/fix-szip-config-to-set-szip-found.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urN szip-2.1.1-a/config/cmake/szip-config.cmake.in szip-2.1.1-b/config/cmake/szip-config.cmake.in ---- szip-2.1.1-a/config/cmake/szip-config.cmake.in 2018-02-10 11:06:46.890685077 +0900 -+++ szip-2.1.1-b/config/cmake/szip-config.cmake.in 2018-02-10 11:11:25.369274127 +0900 -@@ -51,6 +51,7 @@ - set (${SZIP_PACKAGE_NAME}_${comp}_FOUND 0) - else () - set (${SZIP_PACKAGE_NAME}_${comp}_FOUND 1) -+ set (${SZIP_PACKAGE_NAME}_FOUND 1) - string(TOUPPER ${SZIP_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY) - set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @SZIP_LIB_CORENAME@-${comp}) - endif () diff --git a/ports/szip/mingw-lib-names.patch b/ports/szip/mingw-lib-names.patch new file mode 100644 index 000000000..c9d2c249f --- /dev/null +++ b/ports/szip/mingw-lib-names.patch @@ -0,0 +1,30 @@ +diff -urN a/config/cmake/SZIPMacros.cmake b/config/cmake/SZIPMacros.cmake +--- a/config/cmake/SZIPMacros.cmake 2021-05-15 09:06:50.546455249 +0200 ++++ b/config/cmake/SZIPMacros.cmake 2021-05-15 09:01:24.933765423 +0200 +@@ -126,7 +126,7 @@ + macro (SZIP_SET_BASE_OPTIONS libtarget libname libtype) + # message (STATUS "${libname} libtype: ${libtype}") + if (${libtype} MATCHES "SHARED") +- if (WIN32) ++ if (WIN32 AND NOT MINGW) + set (LIB_RELEASE_NAME "${libname}") + set (LIB_DEBUG_NAME "${libname}_D") + else () +@@ -134,7 +134,7 @@ + set (LIB_DEBUG_NAME "${libname}_debug") + endif () + else () +- if (WIN32) ++ if (WIN32 AND NOT MINGW) + set (LIB_RELEASE_NAME "lib${libname}") + set (LIB_DEBUG_NAME "lib${libname}_D") + else () +@@ -164,7 +164,7 @@ + endif () + + #----- Use MSVC Naming conventions for Shared Libraries +- if (MINGW AND ${libtype} MATCHES "SHARED") ++ if (FALSE AND MINGW AND ${libtype} MATCHES "SHARED") + set_target_properties (${libtarget} + PROPERTIES + IMPORT_SUFFIX ".lib" diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake index f62e72bd7..038736e7a 100644 --- a/ports/szip/portfile.cmake +++ b/ports/szip/portfile.cmake @@ -1,30 +1,68 @@ +set(SZIP_VERSION "2.1.1") vcpkg_download_distfile(ARCHIVE - URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz" - FILENAME "szip-2.1.1.tar.gz" + URLS "https://support.hdfgroup.org/ftp/lib-external/szip/${SZIP_VERSION}/src/szip-${SZIP_VERSION}.tar.gz" + FILENAME "szip-${SZIP_VERSION}.tar.gz" SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF szip-2.1.1 + ARCHIVE "${ARCHIVE}" + REF szip-${SZIP_VERSION} PATCHES - fix-szip-config-to-set-szip-found.patch # This patch is required for linux on osx; It does not matter for windows + fix-linkage-config.patch + mingw-lib-names.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" PREFER_NINJA OPTIONS -DSZIP_INSTALL_DATA_DIR=share/szip/data -DSZIP_INSTALL_CMAKE_DIR=share/szip ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(RENAME ${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING ${CURRENT_PACKAGES_DIR}/share/szip/copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/szip_adpt.h" + "\n#ifdef SZ_BUILT_AS_DYNAMIC_LIB" + "\n#if 1 // SZ_BUILT_AS_DYNAMIC_LIB") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + set(SZIP_LIB_RELEASE "-lszip") + set(SZIP_LIB_DEBUG "-lszip_debug") + set(SZIP_LIBS_PRIVATE "-lm") +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(SZIP_LIB_RELEASE "-llibszip") + set(SZIP_LIB_DEBUG "-llibszip_D") + set(SZIP_LIBS_PRIVATE "") +else() + set(SZIP_LIB_RELEASE "-lszip") + set(SZIP_LIB_DEBUG "-lszip_D") + set(SZIP_LIBS_PRIVATE "") +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(SZIP_LINKAGE_FLAGS "-DSZ_BUILT_AS_DYNAMIC_LIB=1") +else() + set(SZIP_LINKAGE_FLAGS "") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib") + set(SZIP_LIB "${SZIP_LIB_RELEASE}") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + configure_file("${CMAKE_CURRENT_LIST_DIR}/szip.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/szip.pc" @ONLY) +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib") + set(SZIP_LIB "${SZIP_LIB_DEBUG}") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + configure_file("${CMAKE_CURRENT_LIST_DIR}/szip.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/szip.pc" @ONLY) +endif() +vcpkg_fixup_pkgconfig() + +file(RENAME "${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING" "${CURRENT_PACKAGES_DIR}/share/szip/copyright") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/szip/szip.pc.in b/ports/szip/szip.pc.in new file mode 100644 index 000000000..b89c9a1dd --- /dev/null +++ b/ports/szip/szip.pc.in @@ -0,0 +1,16 @@ +prefix=${pcfiledir}/../.. + +exec_prefix=${prefix} +libdir=${prefix}/lib +sharedlibdir=${prefix}/lib +includedir=${prefix}/include + +Name: szip +Description: Szip compression software +Version: @SZIP_VERSION@ + +Requires: +Cflags: -I"${includedir}" @SZIP_LINKAGE_FLAGS@ +Libs: -L"${libdir}" @SZIP_LIB@ +Libs.private: @SZIP_LIBS_PRIVATE@ + diff --git a/ports/szip/vcpkg.json b/ports/szip/vcpkg.json new file mode 100644 index 000000000..7c83b1a15 --- /dev/null +++ b/ports/szip/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "szip", + "version": "2.1.1", + "port-version": 7, + "description": "Szip compression software, providing lossless compression of scientific data", + "homepage": "https://support.hdfgroup.org/ftp/lib-external/szip", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/triplets/community/arm-mingw-dynamic.cmake b/triplets/community/arm-mingw-dynamic.cmake index f38a7cfc0..b23870c11 100644 --- a/triplets/community/arm-mingw-dynamic.cmake +++ b/triplets/community/arm-mingw-dynamic.cmake @@ -5,6 +5,3 @@ set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-if(PORT STREQUAL "szip") - set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled) -endif() diff --git a/triplets/community/arm64-mingw-dynamic.cmake b/triplets/community/arm64-mingw-dynamic.cmake index a90b4f241..30ed204ed 100644 --- a/triplets/community/arm64-mingw-dynamic.cmake +++ b/triplets/community/arm64-mingw-dynamic.cmake @@ -5,6 +5,3 @@ set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -if(PORT STREQUAL "szip") - set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled) -endif() diff --git a/triplets/community/x64-mingw-dynamic.cmake b/triplets/community/x64-mingw-dynamic.cmake index ff4845c33..1f132cfe1 100644 --- a/triplets/community/x64-mingw-dynamic.cmake +++ b/triplets/community/x64-mingw-dynamic.cmake @@ -5,6 +5,3 @@ set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-if(PORT STREQUAL "szip") - set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled) -endif() diff --git a/triplets/community/x86-mingw-dynamic.cmake b/triplets/community/x86-mingw-dynamic.cmake index b27397187..000b36d96 100644 --- a/triplets/community/x86-mingw-dynamic.cmake +++ b/triplets/community/x86-mingw-dynamic.cmake @@ -5,6 +5,3 @@ set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-if(PORT STREQUAL "szip") - set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled) -endif() diff --git a/versions/baseline.json b/versions/baseline.json index 024d2dfa4..d6c4bb086 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2470,7 +2470,7 @@ }, "hdf5": { "baseline": "1.12.0", - "port-version": 2 + "port-version": 3 }, "healpix": { "baseline": "1.12.10", @@ -6041,8 +6041,8 @@ "port-version": 0 }, "szip": { - "baseline": "2.1.1-6", - "port-version": 0 + "baseline": "2.1.1", + "port-version": 7 }, "tabulate": { "baseline": "2019-01-06", diff --git a/versions/h-/hdf5.json b/versions/h-/hdf5.json index 2bbc3d737..72096684e 100644 --- a/versions/h-/hdf5.json +++ b/versions/h-/hdf5.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "0a7e8bbf885fa0b111c3041102cb2c9adb45f5c3", + "version": "1.12.0", + "port-version": 3 + }, + { "git-tree": "6b0acb92d47724ab485e478e8f9e83067eea77be", "version": "1.12.0", "port-version": 2 diff --git a/versions/s-/szip.json b/versions/s-/szip.json index 5bb734831..83945853f 100644 --- a/versions/s-/szip.json +++ b/versions/s-/szip.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "6f810fcedf9469940a80e5c343d983a55134332b", + "version": "2.1.1", + "port-version": 7 + }, + { "git-tree": "bcd8fca84e0acd4d6be162e857379ef3b74fe213", "version-string": "2.1.1-6", "port-version": 0 |
