default szip to also build static libraries in shared builds

This commit is contained in:
Alexander Neumann 2019-03-14 22:27:05 +01:00
parent bdc5d538a5
commit 9f41fed172
3 changed files with 6 additions and 94 deletions

View File

@ -1,37 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4163a0..4e2a312 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -267,6 +267,14 @@ set (SZIP_VERSION_MAJOR ${SZIP_PACKAGE_VERSION_MAJOR})
set (SZIP_VERSION_MINOR ${SZIP_PACKAGE_VERSION_MINOR})
#-----------------------------------------------------------------------------
+# Set default component
+#-----------------------------------------------------------------------------
+set (SZIP_DEFAULT_COMPONENT static)
+if (BUILD_SHARED_LIBS)
+ set (SZIP_DEFAULT_COMPONENT shared)
+endif ()
+
+#-----------------------------------------------------------------------------
# Configure the szip-config.cmake file for the build directory
#-----------------------------------------------------------------------------
set(INCLUDE_INSTALL_DIR ${SZIP_INSTALL_INCLUDE_DIR} )
diff --git a/config/cmake/szip-config.cmake.in b/config/cmake/szip-config.cmake.in
index 4a7fec7..ad54287 100644
--- a/config/cmake/szip-config.cmake.in
+++ b/config/cmake/szip-config.cmake.in
@@ -37,10 +37,10 @@ if (NOT TARGET "@SZIP_PACKAGE@")
include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
-# Handle default component(static) :
+# Handle default component(@SZIP_DEFAULT_COMPONENT@) :
if (NOT ${SZIP_PACKAGE_NAME}_FIND_COMPONENTS)
- set (${SZIP_PACKAGE_NAME}_FIND_COMPONENTS static)
- set (${SZIP_PACKAGE_NAME}_FIND_REQUIRED_static true)
+ set (${SZIP_PACKAGE_NAME}_FIND_COMPONENTS @SZIP_DEFAULT_COMPONENT@)
+ set (${SZIP_PACKAGE_NAME}_FIND_REQUIRED_@SZIP_DEFAULT_COMPONENT@ true)
endif ()
# Handle requested components:

View File

@ -1,50 +0,0 @@
--- a/src/CMakeLists.txt Fri Feb 03 20:42:43 2017
+++ b/src/CMakeLists.txt Wed Jan 03 11:42:51 2018
@@ -22,20 +22,22 @@
${SZIP_SRC_SOURCE_DIR}/szlib.h
)
-add_library (${SZIP_LIB_TARGET} STATIC ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
-#set_target_properties (${SZIP_LIB_TARGET}
-# PROPERTIES
-# LINK_FLAGS "-version-info 2:0:0"
-#)
-TARGET_C_PROPERTIES (${SZIP_LIB_TARGET} STATIC " " " ")
-target_link_libraries (${SZIP_LIB_TARGET} ${LINK_LIBS})
-set_target_properties(${SZIP_LIB_TARGET} PROPERTIES
- PUBLIC_HEADER "${SZIP_PUBLIC_HEADERS}"
- INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
-)
-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})
+if (NOT BUILD_SHARED_LIBS)
+ add_library (${SZIP_LIB_TARGET} STATIC ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
+ #set_target_properties (${SZIP_LIB_TARGET}
+ # PROPERTIES
+ # LINK_FLAGS "-version-info 2:0:0"
+ #)
+ TARGET_C_PROPERTIES (${SZIP_LIB_TARGET} STATIC " " " ")
+ target_link_libraries (${SZIP_LIB_TARGET} ${LINK_LIBS})
+ set_target_properties(${SZIP_LIB_TARGET} PROPERTIES
+ PUBLIC_HEADER "${SZIP_PUBLIC_HEADERS}"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ )
+ 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()
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)
+ else()
+ INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries)
endif (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries)
install (
TARGETS

View File

@ -1,19 +1,18 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1.1)
#set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-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"
SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd
)
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 szip-2.1.1
PATCHES
${CMAKE_CURRENT_LIST_DIR}/disable-static-lib-in-shared-build.patch
${CMAKE_CURRENT_LIST_DIR}/default-component-shared.patch
${CMAKE_CURRENT_LIST_DIR}/fix-szip-config-to-set-szip-found.patch
fix-szip-config-to-set-szip-found.patch # This patch is required for linux on osx; It does not matter for windows
)
vcpkg_configure_cmake(