mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-23 23:59:00 +08:00
[libaec] Add new port (#38107)
This commit is contained in:
parent
81482edd5b
commit
e36fe7110d
@ -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 ()
|
||||
|
@ -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}")
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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 ()
|
@ -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": {
|
||||
|
206
ports/libaec/cmake-config.patch
Normal file
206
ports/libaec/cmake-config.patch
Normal file
@ -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
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../include>"
|
||||
"$<INSTALL_INTERFACE:include>")
|
||||
|
||||
+# 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_OBJECTS:aec>")
|
||||
target_link_libraries(aec_static PUBLIC aec)
|
||||
set_target_properties(aec_static
|
||||
PROPERTIES
|
||||
OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,aec-static,aec>)
|
||||
+target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD)
|
||||
|
||||
add_library(aec_shared SHARED "$<TARGET_OBJECTS:aec>")
|
||||
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 "$<TARGET_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>")
|
||||
set_target_properties(sz_static
|
||||
PROPERTIES
|
||||
OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,szip-static,sz>)
|
||||
target_link_libraries(sz_static PUBLIC sz)
|
||||
+target_compile_definitions(sz_static PRIVATE LIBAEC_BUILD)
|
||||
|
||||
add_library(sz_shared SHARED "$<TARGET_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>")
|
||||
target_link_libraries(sz_shared PUBLIC sz)
|
||||
@@ -48,17 +53,19 @@ set_target_properties(sz_shared
|
||||
SOVERSION 2
|
||||
OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,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=$<BOOL:${COMPILER_HAS_HIDDEN_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)
|
28
ports/libaec/portfile.cmake
Normal file
28
ports/libaec/portfile.cmake
Normal file
@ -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")
|
109
ports/libaec/static-shared.patch
Normal file
109
ports/libaec/static-shared.patch
Normal file
@ -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_OBJECTS:aec>")
|
||||
target_link_libraries(aec_static PUBLIC aec)
|
||||
set_target_properties(aec_static
|
||||
PROPERTIES
|
||||
OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,aec-static,aec>)
|
||||
target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD)
|
||||
+endif()
|
||||
|
||||
+if (AEC_BUILD_SHARED)
|
||||
add_library(aec_shared SHARED "$<TARGET_OBJECTS:aec>")
|
||||
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 "$<TARGET_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>")
|
||||
set_target_properties(sz_static
|
||||
PROPERTIES
|
||||
OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,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_OBJECTS:sz>" "$<TARGET_OBJECTS:aec>")
|
||||
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 $<IF:$<BOOL:${MSVC}>,szip,sz>
|
||||
- PUBLIC_HEADER ../include/szlib.h)
|
||||
-target_compile_definitions(sz_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED)
|
||||
+ OUTPUT_NAME $<IF:$<BOOL:${MSVC}>,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(
|
17
ports/libaec/vcpkg.json
Normal file
17
ports/libaec/vcpkg.json
Normal file
@ -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
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
@ -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"
|
@ -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)
|
@ -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@
|
||||
|
@ -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
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "865f6593cb402e937d842ad41cda9e5aa06b0230",
|
||||
"version": "1.14.4.3",
|
||||
"port-version": 3
|
||||
},
|
||||
{
|
||||
"git-tree": "f13d0c544b6c489babc70c6aa60414761566feda",
|
||||
"version": "1.14.4.3",
|
||||
|
9
versions/l-/libaec.json
Normal file
9
versions/l-/libaec.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cd65575e04e977bc93d95a711349279d554d5920",
|
||||
"version": "1.1.3",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user