From a72cf874b580ace7e762f5d9bec036f5db55f607 Mon Sep 17 00:00:00 2001 From: Dean Ellis Date: Mon, 13 Jan 2020 12:55:38 +0000 Subject: [PATCH] Use static libraries for libzip.so. --- azure-pipelines.yml | 3 +++ build_native | 2 +- build_windows | 4 ++-- libzip-static.patch | 13 +++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 libzip-static.patch diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 468b9dcd..d2006d14 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -22,6 +22,9 @@ stages: sudo apt -f -u install ninja-build gcc-multilib lib32z1-dev zlib1g-dev libssl-dev libssl1.1:i386 libssl-dev:i386 libc-dev:i386 libc6-dev-i386 -y git submodule update --init --recursive displayName: 'Install Tools' + - bash: | + patch --verbose -d external/libzip -p1 -l < libzip-static.patch + displayName: 'Apply Patch' - bash: | ./build_native displayName: 'Build Linux x64' diff --git a/build_native b/build_native index 5c71a852..6e832a83 100755 --- a/build_native +++ b/build_native @@ -8,6 +8,6 @@ cd build/$HOSTOS/$ARCH if [ -e "$TOOLCHAIN_FILE" ]; then ARGS=-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE fi -cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DBUILD_SHARED_LIBS=ON $ARGS ../../../external/libzip +cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DBUILD_SHARED_LIBS=ON -DOPENSSL_USE_STATIC_LIBS=ON -DENABLE_BZIP2=OFF -DENABLE_LZMA=OFF $ARGS ../../../external/libzip ninja -v cd ../../.. \ No newline at end of file diff --git a/build_windows b/build_windows index 387c0fd2..36f9eed4 100755 --- a/build_windows +++ b/build_windows @@ -1,12 +1,12 @@ #!/bin/bash -e install -d -m 755 build/Windows/64 cd build/Windows/64 -cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_TOOLCHAIN_FILE=../../../mingw-64.cmake -DCMAKE_POLICY_DEFAULT_CMP0074=NEW -DZLIB_ROOT=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32 -DZLIB_LIBRARY=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32/lib/libz.a -DZLIB_INCLUDE_DIR=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32/include ../../../external/libzip +cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DENABLE_BZIP2=OFF -DENABLE_LZMA=OFF -DCMAKE_TOOLCHAIN_FILE=../../../mingw-64.cmake -DCMAKE_POLICY_DEFAULT_CMP0074=NEW -DZLIB_ROOT=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32 -DZLIB_LIBRARY=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32/lib/libz.a -DZLIB_INCLUDE_DIR=/usr/local/opt/mingw-zlib/usr/x86_64-w64-mingw32/include ../../../external/libzip ninja cd ../../.. install -d -m 755 build/Windows/32 cd build/Windows/32 -cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_TOOLCHAIN_FILE=../../../mingw-32.cmake -DCMAKE_POLICY_DEFAULT_CMP0074=NEW -DZLIB_ROOT=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32 -DZLIB_LIBRARY=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32/lib/libz.a -DZLIB_INCLUDE_DIR=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32/include ../../../external/libzip +cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja -DENABLE_BZIP2=OFF -DENABLE_LZMA=OFF -DCMAKE_TOOLCHAIN_FILE=../../../mingw-32.cmake -DCMAKE_POLICY_DEFAULT_CMP0074=NEW -DZLIB_ROOT=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32 -DZLIB_LIBRARY=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32/lib/libz.a -DZLIB_INCLUDE_DIR=/usr/local/opt/mingw-zlib/usr/i686-w64-mingw32/include ../../../external/libzip ninja cd ../../.. \ No newline at end of file diff --git a/libzip-static.patch b/libzip-static.patch new file mode 100644 index 00000000..3a6513e5 --- /dev/null +++ b/libzip-static.patch @@ -0,0 +1,13 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 92c4becc..e58b7db3 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -211,7 +211,7 @@ ENDIF() + + ADD_LIBRARY(zip ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES} ${LIBZIP_OPTIONAL_FILES} ${LIBZIP_OPSYS_FILES}) + SET_TARGET_PROPERTIES(zip PROPERTIES VERSION 5.0 SOVERSION 5) +-TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARY} ${OPTIONAL_LIBRARY}) ++TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARY} ${OPTIONAL_LIBRARY} OpenSSL::Crypto -ldl -pthread) + INSTALL(TARGETS zip + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}