diff --git a/ports/hdf5/hdf5_config.patch b/ports/hdf5/hdf5_config.patch index 9055a080b2..12ace2b8cb 100644 --- a/ports/hdf5/hdf5_config.patch +++ b/ports/hdf5/hdf5_config.patch @@ -2,7 +2,7 @@ diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake. index 1a3fb7bbf2..79081ce040 100644 --- a/config/cmake/hdf5-config.cmake.in +++ b/config/cmake/hdf5-config.cmake.in -@@ -120,12 +114,17 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@) +@@ -120,12 +114,22 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@) # Don't include targets if this file is being picked up by another # project which has already built hdf5 as a subproject #----------------------------------------------------------------------------- @@ -16,7 +16,12 @@ index 1a3fb7bbf2..79081ce040 100644 if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) include (@PACKAGE_SHARE_INSTALL_DIR@/@LIBAEC_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + elseif (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT) -+ find_dependency(szip) ++ if (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS) ++ set(libaec_USE_STATIC_LIBS ON) ++ else() ++ set(libaec_USE_STATIC_LIBS OFF) ++ endif() ++ find_dependency(libaec) endif () include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) endif () diff --git a/ports/hdf5/pkgconfig-requires.patch b/ports/hdf5/pkgconfig-requires.patch index a1e8470e09..1e92e740c8 100644 --- a/ports/hdf5/pkgconfig-requires.patch +++ b/ports/hdf5/pkgconfig-requires.patch @@ -2,22 +2,14 @@ diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 141ab44..66b7efa 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake -@@ -95,6 +95,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) +@@ -79,6 +79,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR}) set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES}) + set (zlib_PC_LIBS_PRIVATE "${ZLIB_LIBRARIES}") endif () else () - if (BUILD_ZLIB_WITH_FETCHCONTENT) -@@ -148,6 +148,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - if (TARGET szip-shared) - set(SZIP_LIBRARIES szip-shared) - endif() -+ set(szip_PC_LIBS_PRIVATE "${SZIP_LIBRARIES}") - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () + if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") diff --git a/CMakeLists.txt b/CMakeLists.txt index b75fdd2..a2e88fd 100644 --- a/CMakeLists.txt @@ -54,7 +46,7 @@ index b3c2226..ea80d60 100644 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) ++foreach(_module IN ITEMS ompi-c 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}") diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 92110eda85..71811c04fe 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -9,8 +9,8 @@ vcpkg_from_github( HEAD_REF develop PATCHES hdf5_config.patch - szip.patch - add-_Float16-type-on-aarch64.patch + add-_Float16-type-on-aarch64.patch + pkgconfig-requires.patch ) set(ALLOW_UNSUPPORTED OFF) @@ -51,7 +51,10 @@ if("tools" IN_LIST FEATURES AND VCPKG_CRT_LINKAGE STREQUAL "static") list(APPEND FEATURE_OPTIONS -DBUILD_STATIC_EXECS=ON) endif() -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND FEATURE_OPTIONS + -DUSE_LIBAEC_STATIC=ON) +else() list(APPEND FEATURE_OPTIONS -DBUILD_STATIC_LIBS=OFF -DONLY_SHARED_LIBS=ON) @@ -69,7 +72,6 @@ vcpkg_cmake_configure( -DHDF_PACKAGE_NAMESPACE:STRING=hdf5:: -DHDF5_MSVC_NAMING_CONVENTION=OFF -DALLOW_UNSUPPORTED=${ALLOW_UNSUPPORTED} - -DCMAKE_DISABLE_FIND_PACKAGE_libaec=ON OPTIONS_RELEASE -DCMAKE_DEBUG_POSTFIX= # For lib name in pkgconfig files ) diff --git a/ports/hdf5/szip.patch b/ports/hdf5/szip.patch deleted file mode 100644 index 2646ede7ed..0000000000 --- a/ports/hdf5/szip.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake -index d5f801e..141ab44 100644 ---- a/CMakeFilters.cmake -+++ b/CMakeFilters.cmake -@@ -142,7 +142,12 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) - endif () - if (NOT SZIP_FOUND) -- find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) -+ find_package(SZIP NAMES szip REQUIRED) -+ set(SZIP_INCLUDE_DIR "") -+ set(SZIP_LIBRARIES szip-static) -+ if (TARGET szip-shared) -+ set(SZIP_LIBRARIES szip-shared) -+ endif() - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () diff --git a/ports/hdf5/vcpkg.json b/ports/hdf5/vcpkg.json index 0d460a3d7b..ea919e911b 100644 --- a/ports/hdf5/vcpkg.json +++ b/ports/hdf5/vcpkg.json @@ -1,7 +1,7 @@ { "name": "hdf5", "version": "1.14.4.3", - "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/", "license": "BSD-3-Clause", @@ -39,7 +39,7 @@ "szip": { "description": "Build with szip", "dependencies": [ - "szip" + "libaec" ] }, "threadsafe": { diff --git a/ports/libaec/cmake-config.patch b/ports/libaec/cmake-config.patch new file mode 100644 index 0000000000..acc932235c --- /dev/null +++ b/ports/libaec/cmake-config.patch @@ -0,0 +1,206 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 26ccf18..a885024 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ set(CMAKE_C_VISIBILITY_PRESET hidden) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + include(CTest) + ++include(CMakePackageConfigHelpers) ++ + include(TestBigEndian) + test_big_endian(WORDS_BIGENDIAN) + +@@ -67,12 +69,12 @@ endif() + set(libaec_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libaec-config.cmake.in) + set(libaec_CONFIG_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/libaec-config.cmake) + configure_file(${libaec_CONFIG_IN} ${libaec_CONFIG_OUT} @ONLY) +-set(libaec_CONFIG_VERSION_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libaec-config-version.cmake.in) +-set(libaec_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/libaec-config-version.cmake) +-configure_file(${libaec_CONFIG_VERSION_IN} ${libaec_CONFIG_VERSION_OUT} @ONLY) + install(FILES ${libaec_CONFIG_OUT} + DESTINATION cmake) +-install(FILES ${libaec_CONFIG_VERSION_OUT} ++write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ COMPATIBILITY SameMajorVersion) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + DESTINATION cmake) + + # Cpack configuration mainly for Windows installer +diff --git a/cmake/libaec-config-version.cmake.in b/cmake/libaec-config-version.cmake.in +deleted file mode 100644 +index d32ef96..0000000 +--- a/cmake/libaec-config-version.cmake.in ++++ /dev/null +@@ -1,15 +0,0 @@ +-set(PACKAGE_VERSION_MAJOR @PROJECT_VERSION_MAJOR@) +-set(PACKAGE_VERSION_MINOR @PROJECT_VERSION_MINOR@) +-set(PACKAGE_VERSION_PATCH @PROJECT_VERSION_PATCH@) +-set(PACKAGE_VERSION @PROJECT_VERSION@) +- +-# Check whether the requested PACKAGE_FIND_VERSION is compatible +-if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION OR +- PACKAGE_VERSION_MAJOR GREATER PACKAGE_FIND_VERSION_MAJOR) +- set(PACKAGE_VERSION_COMPATIBLE FALSE) +-else() +- set(PACKAGE_VERSION_COMPATIBLE TRUE) +- if(PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION) +- set(PACKAGE_VERSION_EXACT TRUE) +- endif() +-endif() +diff --git a/cmake/libaec-config.cmake.in b/cmake/libaec-config.cmake.in +index ce5d4cc..2fffad9 100644 +--- a/cmake/libaec-config.cmake.in ++++ b/cmake/libaec-config.cmake.in +@@ -38,64 +38,3 @@ else () + find_library(libaec_LIBRARY NAMES aec DOC "AEC library") + find_library(SZIP_LIBRARY NAMES sz szip DOC "SZIP compatible version of the AEC library") + endif () +- +-# Check version here +-if (libaec_INCLUDE_DIR AND libaec_LIBRARY) +- set(libaec_VERSION "@PROJECT_VERSION@") +- set(SZIP_VERSION "2.0.1") +-endif () +- +-include(FindPackageHandleStandardArgs) +-set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") +-find_package_handle_standard_args(libaec +- FOUND_VAR libaec_FOUND +- REQUIRED_VARS libaec_LIBRARY libaec_INCLUDE_DIR SZIP_LIBRARY SZIP_INCLUDE_DIR +- VERSION_VAR libaec_VERSION +- CONFIG_MODE +-) +- +-if (libaec_FOUND) +- if (libaec_USE_STATIC_LIBS) +- add_library(libaec::aec STATIC IMPORTED) +- else () +- add_library(libaec::aec SHARED IMPORTED) +- target_compile_definitions(libaec::aec INTERFACE LIBAEC_SHARED) +- if (MSVC) +- set_target_properties(libaec::aec PROPERTIES +- IMPORTED_IMPLIB "${libaec_LIBRARY}" +- ) +- endif () +- endif () +- set_target_properties(libaec::aec PROPERTIES +- IMPORTED_LOCATION "${libaec_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${libaec_INCLUDE_DIR}" +- ) +- +- # SZIP +- if (libaec_USE_STATIC_LIBS) +- add_library(libaec::sz STATIC IMPORTED) +- else () +- add_library(libaec::sz SHARED IMPORTED) +- target_compile_definitions(libaec::sz INTERFACE LIBAEC_SHARED) +- if (MSVC) +- set_target_properties(libaec::sz PROPERTIES +- IMPORTED_IMPLIB "${SZIP_LIBRARY}" +- ) +- endif () +- endif () +- set_target_properties(libaec::sz PROPERTIES +- IMPORTED_LOCATION "${SZIP_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${SZIP_INCLUDE_DIR}" +- ) +- +- # Set SZIP variables. +- set(SZIP_FOUND TRUE) +- set(SZIP_LIBRARIES "${SZIP_LIBRARY}") +-endif () +- +-mark_as_advanced( +- libaec_LIBRARY +- libaec_INCLUDE_DIR +- SZIP_LIBRARY +- SZIP_INCLUDE_DIR +-) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f9c3031..dea7574 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -11,12 +11,17 @@ target_include_directories(aec + "$" + "$") + ++# Handle visibility of symbols. Compatible with gnulib's gl_VISIBILITY ++include(CheckCCompilerFlag) ++check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) ++ + # Create both static and shared aec library. + add_library(aec_static STATIC "$") + target_link_libraries(aec_static PUBLIC aec) + set_target_properties(aec_static + PROPERTIES + OUTPUT_NAME $,aec-static,aec>) ++target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD) + + add_library(aec_shared SHARED "$") + target_link_libraries(aec_shared PUBLIC aec) +@@ -26,19 +31,19 @@ set_target_properties(aec_shared + SOVERSION 0 + OUTPUT_NAME aec + PUBLIC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h) ++target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) + + # Wrapper for compatibility with szip + add_library(sz OBJECT sz_compat.c) + target_link_libraries(sz PUBLIC aec) + +-set(libaec_COMPILE_DEFINITIONS "LIBAEC_BUILD;LIBAEC_SHARED") +- + # Create both static and shared szip library. + add_library(sz_static STATIC "$" "$") + set_target_properties(sz_static + PROPERTIES + OUTPUT_NAME $,szip-static,sz>) + target_link_libraries(sz_static PUBLIC sz) ++target_compile_definitions(sz_static PRIVATE LIBAEC_BUILD) + + add_library(sz_shared SHARED "$" "$") + target_link_libraries(sz_shared PUBLIC sz) +@@ -48,17 +53,19 @@ set_target_properties(sz_shared + SOVERSION 2 + OUTPUT_NAME $,szip,sz> + PUBLIC_HEADER ../include/szlib.h) ++target_compile_definitions(sz_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(aec_static PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(aec_shared PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(sz_static PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(sz_shared PUBLIC HAVE_VISIBILITY) ++endif() + + # Simple executable for testing and benchmarking. + add_executable(graec graec.c) + target_link_libraries(graec aec) + +-# Handle visibility of symbols. Compatible with gnulib's gl_VISIBILITY +-include(CheckCCompilerFlag) +-check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) +-set(libaec_COMPILE_DEFINITIONS +- "${libaec_COMPILE_DEFINITIONS};HAVE_VISIBILITY=$") +- + include(GNUInstallDirs) + if(UNIX) + # The shell scripts for benchmarking are supported on unix only +@@ -71,8 +78,11 @@ if(UNIX) + DEPENDS graec utime) + endif() + +-set_target_properties(aec sz +- PROPERTIES +- COMPILE_DEFINITIONS "${libaec_COMPILE_DEFINITIONS}") ++install(TARGETS aec aec_static aec_shared sz sz_static sz_shared ++ EXPORT ${PROJECT_NAME}Targets) + +-install(TARGETS aec_static aec_shared sz_static sz_shared) ++install( ++ EXPORT ${PROJECT_NAME}Targets ++ FILE ${PROJECT_NAME}-targets.cmake ++ NAMESPACE ${PROJECT_NAME}:: ++ DESTINATION cmake) diff --git a/ports/libaec/portfile.cmake b/ports/libaec/portfile.cmake new file mode 100644 index 0000000000..b33e008ccd --- /dev/null +++ b/ports/libaec/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.dkrz.de + REPO k202009/libaec + REF v1.1.3 + SHA512 6f317d08ad7d003bc6664da147321eb87c924978f32bd28780a8ebf015e251019046b0cb16b78e776cd1957a7701215667f64686efb8e5c6bae7c08528cede56 + PATCHES + cmake-config.patch + static-shared.patch) + +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" AEC_BUILD_SHARED) +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" AEC_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DAEC_BUILD_SHARED=${AEC_BUILD_SHARED} + -DAEC_BUILD_STATIC=${AEC_BUILD_STATIC} + -DBUILD_TESTING=OFF) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(CONFIG_PATH "cmake") diff --git a/ports/libaec/static-shared.patch b/ports/libaec/static-shared.patch new file mode 100644 index 0000000000..e10d4f7a18 --- /dev/null +++ b/ports/libaec/static-shared.patch @@ -0,0 +1,109 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dea7574..2df037e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,3 +1,6 @@ ++option(AEC_BUILD_SHARED "Enable build of shared library" ON) ++option(AEC_BUILD_STATIC "Enable build of static library" ON) ++ + # Main library aec + add_library(aec OBJECT + encode.c +@@ -15,14 +18,20 @@ target_include_directories(aec + include(CheckCCompilerFlag) + check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) + ++target_compile_definitions(aec PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(aec PUBLIC HAVE_VISIBILITY) ++endif() +-# Create both static and shared aec library. ++if (AEC_BUILD_STATIC) + add_library(aec_static STATIC "$") + target_link_libraries(aec_static PUBLIC aec) + set_target_properties(aec_static + PROPERTIES + OUTPUT_NAME $,aec-static,aec>) + target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD) ++endif() + ++if (AEC_BUILD_SHARED) + add_library(aec_shared SHARED "$") + target_link_libraries(aec_shared PUBLIC aec) + set_target_properties(aec_shared +@@ -29,22 +37,31 @@ set_target_properties(aec_shared + PROPERTIES + VERSION 0.1.3 + SOVERSION 0 +- OUTPUT_NAME aec +- PUBLIC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h) +-target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ OUTPUT_NAME aec) ++target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD PUBLIC LIBAEC_SHARED) ++endif() ++ ++set_target_properties(aec PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h") + + # Wrapper for compatibility with szip + add_library(sz OBJECT sz_compat.c) + target_link_libraries(sz PUBLIC aec) ++target_compile_definitions(sz PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(sz PUBLIC HAVE_VISIBILITY) ++endif() + + # Create both static and shared szip library. ++if (AEC_BUILD_STATIC) + add_library(sz_static STATIC "$" "$") + set_target_properties(sz_static + PROPERTIES + OUTPUT_NAME $,szip-static,sz>) + target_link_libraries(sz_static PUBLIC sz) + target_compile_definitions(sz_static PRIVATE LIBAEC_BUILD) ++endif() + ++if (AEC_BUILD_SHARED) + add_library(sz_shared SHARED "$" "$") + target_link_libraries(sz_shared PUBLIC sz) + set_target_properties(sz_shared +@@ -51,16 +69,11 @@ set_target_properties(sz_shared + PROPERTIES + VERSION 2.0.1 + SOVERSION 2 +- OUTPUT_NAME $,szip,sz> +- PUBLIC_HEADER ../include/szlib.h) +-target_compile_definitions(sz_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ OUTPUT_NAME $,szip,sz>) ++target_compile_definitions(sz_shared PUBLIC LIBAEC_SHARED) +- +-if(COMPILER_HAS_HIDDEN_VISIBILITY) +- target_compile_definitions(aec_static PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(aec_shared PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(sz_static PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(sz_shared PUBLIC HAVE_VISIBILITY) +-endif() ++endif() ++ ++set_target_properties(sz PROPERTIES PUBLIC_HEADER "../include/szlib.h") + + # Simple executable for testing and benchmarking. + add_executable(graec graec.c) +@@ -78,7 +93,16 @@ if(UNIX) + DEPENDS graec utime) + endif() + +-install(TARGETS aec aec_static aec_shared sz sz_static sz_shared ++set(TARGETS_EXPORT) ++if (AEC_BUILD_STATIC) ++ set(TARGETS_EXPORT aec_static sz_static) ++endif() ++if (AEC_BUILD_SHARED) ++ set(TARGETS_EXPORT ${TARGETS_EXPORT} aec_shared sz_shared) ++endif() ++ ++install(TARGETS aec sz ${TARGETS_EXPORT} +- EXPORT ${PROJECT_NAME}Targets) ++ EXPORT ${PROJECT_NAME}Targets ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install( diff --git a/ports/libaec/vcpkg.json b/ports/libaec/vcpkg.json new file mode 100644 index 0000000000..048e23cced --- /dev/null +++ b/ports/libaec/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libaec", + "version": "1.1.3", + "description": "Adaptive Entropy Coding library", + "homepage": "https://gitlab.dkrz.de/k202009/libaec", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/szip/fix-linkage-config.patch b/ports/szip/fix-linkage-config.patch deleted file mode 100644 index 6d862e4187..0000000000 --- a/ports/szip/fix-linkage-config.patch +++ /dev/null @@ -1,47 +0,0 @@ -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/mingw-lib-names.patch b/ports/szip/mingw-lib-names.patch deleted file mode 100644 index c9d2c249fe..0000000000 --- a/ports/szip/mingw-lib-names.patch +++ /dev/null @@ -1,30 +0,0 @@ -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 deleted file mode 100644 index 119825480c..0000000000 --- a/ports/szip/portfile.cmake +++ /dev/null @@ -1,82 +0,0 @@ -set(SZIP_VERSION "2.1.1") -vcpkg_download_distfile(ARCHIVE - 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( - SOURCE_PATH - ARCHIVE "${ARCHIVE}" - SOURCE_BASE "szip-${SZIP_VERSION}" - PATCHES - fix-linkage-config.patch - mingw-lib-names.patch -) - -if (VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_OSX) - # when cross-compiling, try_run will not work. - # LFS "large file support" is keyed on - # 1) 64-bit off_t (https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/64bitPorting/transition/transition.html table 2-1) - # 2) stat works properly, which is true - set(extra_opts - -DTEST_LFS_WORKS_RUN=TRUE - -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT="" - -DHAVE_DEFAULT_SOURCE_RUN=0 - -DHAVE_DEFAULT_SOURCE_RUN__TRYRUN_OUTPUT="" - ) -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSZIP_INSTALL_DATA_DIR=share/szip/data - -DSZIP_INSTALL_CMAKE_DIR=share/szip - ${extra_opts} -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() - -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() - -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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/szip/data") - -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/szip/szip.pc.in b/ports/szip/szip.pc.in deleted file mode 100644 index b89c9a1dde..0000000000 --- a/ports/szip/szip.pc.in +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 46a492bb33..0000000000 --- a/ports/szip/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "szip", - "version": "2.1.1", - "port-version": 12, - "description": "Szip compression software, providing lossless compression of scientific data", - "homepage": "https://support.hdfgroup.org/ftp/lib-external/szip", - "license": null, - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/versions/baseline.json b/versions/baseline.json index 26137211a6..9e61938fba 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3458,7 +3458,7 @@ }, "hdf5": { "baseline": "1.14.4.3", - "port-version": 2 + "port-version": 3 }, "hdr-histogram": { "baseline": "0.11.8", @@ -4280,6 +4280,10 @@ "baseline": "1.3.2", "port-version": 2 }, + "libaec": { + "baseline": "1.1.3", + "port-version": 0 + }, "libaes-siv": { "baseline": "2020-10-15", "port-version": 0 @@ -8784,10 +8788,6 @@ "baseline": "2.3.3", "port-version": 8 }, - "szip": { - "baseline": "2.1.1", - "port-version": 12 - }, "tabulate": { "baseline": "1.5", "port-version": 0 diff --git a/versions/h-/hdf5.json b/versions/h-/hdf5.json index 0a86c02acf..84ff7f5505 100644 --- a/versions/h-/hdf5.json +++ b/versions/h-/hdf5.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "865f6593cb402e937d842ad41cda9e5aa06b0230", + "version": "1.14.4.3", + "port-version": 3 + }, { "git-tree": "f13d0c544b6c489babc70c6aa60414761566feda", "version": "1.14.4.3", diff --git a/versions/l-/libaec.json b/versions/l-/libaec.json new file mode 100644 index 0000000000..3d8a3088cd --- /dev/null +++ b/versions/l-/libaec.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "cd65575e04e977bc93d95a711349279d554d5920", + "version": "1.1.3", + "port-version": 0 + } + ] +}