diff --git a/app/src/main/cpp/0001-Hide-symbols.patch b/app/src/main/cpp/0001-Hide-symbols.patch new file mode 100644 index 000000000..3918a7001 --- /dev/null +++ b/app/src/main/cpp/0001-Hide-symbols.patch @@ -0,0 +1,29 @@ +From 2fa97f75b64c05da506968fa9a1711716f2d45a0 Mon Sep 17 00:00:00 2001 +From: FooIbar <118464521+FooIbar@users.noreply.github.com> +Date: Tue, 26 Sep 2023 00:08:03 +0800 +Subject: [PATCH 1/2] Hide symbols + +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec97e4c7..4d859341 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2129,10 +2129,10 @@ SET(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") + SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fvisibility=hidden -Werror") + CHECK_C_SOURCE_COMPILES("void __attribute__((visibility(\"default\"))) foo(void); + int main() { return 0; }" HAVE_VISIBILITY_ATTR) +-IF (HAVE_VISIBILITY_ATTR) ++IF (0) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") + ADD_DEFINITIONS(-D__LIBARCHIVE_ENABLE_VISIBILITY) +-ENDIF(HAVE_VISIBILITY_ATTR) ++ENDIF(0) + SET(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}") + + # Generate "config.h" from "build/cmake/config.h.in" +-- +2.34.1 + diff --git a/app/src/main/cpp/0002-Insert-link-libs.patch b/app/src/main/cpp/0002-Insert-link-libs.patch new file mode 100644 index 000000000..c44a8b3e8 --- /dev/null +++ b/app/src/main/cpp/0002-Insert-link-libs.patch @@ -0,0 +1,25 @@ +From 2dcc8be937499022c37678eb6bf4bd026b6fcbb0 Mon Sep 17 00:00:00 2001 +From: FooIbar <118464521+FooIbar@users.noreply.github.com> +Date: Tue, 26 Sep 2023 00:09:25 +0800 +Subject: [PATCH 2/2] Insert link libs + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4d859341..1cd1cd47 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -438,7 +438,7 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + # # endif + ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + +-SET(ADDITIONAL_LIBS "") ++SET(ADDITIONAL_LIBS ${LIBARCHIVE_CUSTOM_LIBS}) + # + # Find ZLIB + # +-- +2.34.1 + diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index c28f540e8..89fa5096e 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -63,15 +63,15 @@ option(ENABLE_CPIO OFF) option(ENABLE_CAT OFF) option(ENABLE_UNZIP OFF) option(ENABLE_TEST OFF) -option(ENABLE_WERROR OFF) # Configure libarchive link's static lib SET(LIBARCHIVE_CUSTOM_LIBS "nettle" "liblzma") FetchContent_Declare( libarchive - GIT_REPOSITORY https://github.com/FooIbar/libarchive.git - GIT_TAG v3.7.3 + GIT_REPOSITORY https://github.com/libarchive/libarchive.git + GIT_TAG v3.7.4 + PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0001-Hide-symbols.patch ${CMAKE_CURRENT_LIST_DIR}/0002-Insert-link-libs.patch || cd . ) FetchContent_MakeAvailable(libarchive)