From 81050542cfe7f7beadc93be58b46bd2ec9d7a741 Mon Sep 17 00:00:00 2001 From: NickVs2015 Date: Wed, 18 Mar 2026 00:39:03 +0300 Subject: [PATCH] fix: add openvpn like hybrid linking --- client/cmake/android.cmake | 1 + recipes/openvpn-pt-android/conanfile.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/client/cmake/android.cmake b/client/cmake/android.cmake index 5987eb55b..c08cad190 100644 --- a/client/cmake/android.cmake +++ b/client/cmake/android.cmake @@ -52,3 +52,4 @@ file(COPY ${AMNEZIA_LIBXRAY_PATH} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/androi find_package(openvpn-pt-android REQUIRED) set(LIBS ${LIBS} amnezia::openvpn-pt-android) +set_property(TARGET ${PROJECT} APPEND PROPERTY QT_ANDROID_EXTRA_LIBS ${OPENVPN_PT_ANDROID_LIBCK_OVPN_PLUGIN_PATH}) diff --git a/recipes/openvpn-pt-android/conanfile.py b/recipes/openvpn-pt-android/conanfile.py index db513503d..824536b66 100644 --- a/recipes/openvpn-pt-android/conanfile.py +++ b/recipes/openvpn-pt-android/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, collect_libs +from conan.tools.files import copy from conan.tools.scm import Git from conan.errors import ConanInvalidConfiguration @@ -40,9 +40,9 @@ class OpenvpnPtAndroid(ConanFile): tc.variables["ANDROID_PACKAGE_NAME"] = "org.amnezia.vpn" tc.variables["ANDROID_PLATFORM"] = 24 if self.options.page_16k: - tc.extra_ldflags = ["-Wl,-z,max-page-size=16384"] - tc.cache_variables["CMAKE_SHARED_LINKER_FLAGS"] = "-Wl,-z,max-page-size=16384" - tc.cache_variables["CMAKE_EXE_LINKER_FLAGS"] = "-Wl,-z,max-page-size=16384" + page_flag = "-Wl,-z,max-page-size=16384" + tc.cache_variables["CMAKE_SHARED_LINKER_FLAGS"] = page_flag + tc.cache_variables["CMAKE_EXE_LINKER_FLAGS"] = page_flag tc.generate() vbe = VirtualBuildEnv(self) @@ -61,4 +61,7 @@ class OpenvpnPtAndroid(ConanFile): def package_info(self): self.cpp_info.set_property("cmake_target_name", "amnezia::openvpn-pt-android") - self.cpp_info.libs = collect_libs(self) + self.cpp_info.libs = ["ovpn3", "ovpnutil", "rsapss"] + self.cpp_info.set_property("cmake_extra_variables", { + "OPENVPN_PT_ANDROID_LIBCK_OVPN_PLUGIN_PATH": os.path.join(self.package_folder, "lib", "libck-ovpn-plugin.so"), + })