summarylogtreecommitdiffstats
path: root/shared-libarchive.patch
diff options
context:
space:
mode:
Diffstat (limited to 'shared-libarchive.patch')
-rw-r--r--shared-libarchive.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/shared-libarchive.patch b/shared-libarchive.patch
new file mode 100644
index 000000000000..481ff374175a
--- /dev/null
+++ b/shared-libarchive.patch
@@ -0,0 +1,74 @@
+From cf84155eb143d821963e8fdf18781dfa164eac9b Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Fri, 9 Oct 2020 02:18:36 +0300
+Subject: [PATCH] Make LibArchive as shared library dependency
+
+---
+ CMakeLists.txt | 11 +++++++++++
+ src/app/CMakeLists.txt | 2 +-
+ third_party/CMakeLists.txt | 22 ++++++++++++----------
+ 3 files changed, 24 insertions(+), 11 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9cb5a2cdfb..9d95936f36 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,6 +60,7 @@ option(USE_SHARED_CURL "Use your installed copy of curl" off)
+ option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
+ option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
++option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+ option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
+@@ -200,6 +201,16 @@ else()
+ endif()
+ include_directories(${ZLIB_INCLUDE_DIRS})
+
++# libarchive
++if(USE_SHARED_LIBARCHIVE)
++ find_package(LibArchive REQUIRED)
++else()
++ set(LibArchive_FOUND)
++ set(LibArchive_LIBRARIES archive_static)
++ set(LibArchive_INCLUDE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
++include_directories(${LibArchive_INCLUDE_DIRS})
++
+ # libpng
+ if(USE_SHARED_LIBPNG)
+ find_package(PNG REQUIRED)
+diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
+index e1e3bc1ae3..4a37838e95 100644
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -651,8 +651,8 @@ target_link_libraries(app-lib
+ ${ZLIB_LIBRARIES}
+ ${FREETYPE_LIBRARIES}
+ ${HARFBUZZ_LIBRARIES}
++ ${LibArchive_LIBRARIES}
+ json11
+- archive_static
+ fmt
+ tinyexpr)
+
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index ffd1c0cfcd..4839d4097c 100644
+--- a/third_party/CMakeLists.txt.orig
++++ b/third_party/CMakeLists.txt
+@@ -110,6 +110,7 @@ endif()
+ add_subdirectory(json11)
+
+ # libarchive
++if(NOT USE_SHARED_LIBARCHIVE)
+ set(ENABLE_WERROR OFF CACHE BOOL "Treat warnings as errors - default is ON for Debug, OFF otherwise.")
+ set(ENABLE_TEST OFF CACHE BOOL "Enable unit and regression tests")
+ set(ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)")
+@@ -123,6 +124,7 @@ set(ENABLE_CPIO OFF CACHE BOOL "Enable cpio building")
+ add_subdirectory(libarchive)
+ target_include_directories(archive_static INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
+
+ # benchmark
+ if(ENABLE_BENCHMARKS)