mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-02 00:29:04 +02:00
fix: enable bundled openssl for every platform except NE-based ones (#2660)
* fix: enable bundled openssl for every platform except NE-based ones * fix(conan): trigger CI/CD on crutial cmake changes * fix: install dylibs/dlls from conan and use proper RPATH * fix: adjust windows runtime deps
This commit is contained in:
@@ -23,6 +23,9 @@ jobs:
|
|||||||
- 'recipes/**'
|
- 'recipes/**'
|
||||||
- 'conanfile.py'
|
- 'conanfile.py'
|
||||||
- '.github/workflows/deploy.yml'
|
- '.github/workflows/deploy.yml'
|
||||||
|
- 'cmake/conan_provider.cmake'
|
||||||
|
- 'cmake/platform_settings.cmake'
|
||||||
|
- 'cmake/recipes_bootstrap.cmake'
|
||||||
|
|
||||||
Bake-Prebuilts-Linux:
|
Bake-Prebuilts-Linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
+2
-2
@@ -18,9 +18,9 @@ project(${PROJECT} VERSION ${AMNEZIAVPN_VERSION}
|
|||||||
HOMEPAGE_URL "https://amnezia.org/"
|
HOMEPAGE_URL "https://amnezia.org/"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# trigger conan to kick off `conan install` globally
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
if (PREBUILTS_ONLY)
|
if (PREBUILTS_ONLY)
|
||||||
# trigger conan to kick off `conan install`
|
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
+23
-2
@@ -212,11 +212,32 @@ endif()
|
|||||||
|
|
||||||
install(TARGETS ${PROJECT}
|
install(TARGETS ${PROJECT}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
RUNTIME_DEPENDENCY_SET client_deps
|
||||||
COMPONENT AmneziaVPN
|
COMPONENT AmneziaVPN
|
||||||
)
|
)
|
||||||
install(FILES $<TARGET_RUNTIME_DLLS:${PROJECT}>
|
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
if(APPLE)
|
||||||
|
set(RUNTIME_DEPS_DIR ${CMAKE_INSTALL_BINDIR}/AmneziaVPN.app/Contents/Frameworks)
|
||||||
|
else()
|
||||||
|
set(RUNTIME_DEPS_DIR ${CMAKE_INSTALL_BINDIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(RUNTIME_DEPENDENCY_SET client_deps
|
||||||
|
PRE_EXCLUDE_REGEXES
|
||||||
|
[[api-ms-win-.*]]
|
||||||
|
[[ext-ms-.*]]
|
||||||
|
[[kernel32\.dll]]
|
||||||
|
[[hvsifiletrust\.dll]]
|
||||||
|
[[libc\.so\..*]] [[libgcc_s\.so\..*]] [[libm\.so\..*]] [[libstdc\+\+\.so\..*]]
|
||||||
|
[[.*\.framework]]
|
||||||
|
[[^[Qq]t.*]]
|
||||||
|
POST_EXCLUDE_REGEXES
|
||||||
|
[[^.*[\\/]system32[\\/].*\.dll$]]
|
||||||
|
[[^/lib.*]]
|
||||||
|
[[^/usr/lib.*]]
|
||||||
|
DIRECTORIES ${CONAN_RUNTIME_LIB_DIRS}
|
||||||
COMPONENT AmneziaVPN
|
COMPONENT AmneziaVPN
|
||||||
|
DESTINATION "${RUNTIME_DEPS_DIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(deploy_tool_options "")
|
set(deploy_tool_options "")
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|||||||
set(_CONAN_INSTALL_ARGS
|
set(_CONAN_INSTALL_ARGS
|
||||||
"-c=tools.android:cmake_legacy_toolchain=false"
|
"-c=tools.android:cmake_legacy_toolchain=false"
|
||||||
"-c=tools.build:sharedlinkflags=['-Wl,-z,max-page-size=16384']"
|
"-c=tools.build:sharedlinkflags=['-Wl,-z,max-page-size=16384']"
|
||||||
"-c=tools.build:exelinkflags=['-Wl,-z,max-page-size=16384']"
|
"-c=tools.build:exelinkflags=['-Wl,-z,max-page-size=16384']")
|
||||||
"-o=openssl/*:shared=True")
|
|
||||||
set(CMAKE_ANDROID_STL_TYPE "c++_shared" CACHE STRING "")
|
set(CMAKE_ANDROID_STL_TYPE "c++_shared" CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -29,6 +28,12 @@ if (WIN32 OR APPLE)
|
|||||||
set(CMAKE_INSTALL_BINDIR ".")
|
set(CMAKE_INSTALL_BINDIR ".")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Apple NE-based apps do not support any dylibs or variations
|
||||||
|
# So Qt would use the openssl bundled with system, not application
|
||||||
|
if (NOT(CMAKE_SYSTEM_NAME STREQUAL "iOS" OR (APPLE AND MACOS_NE)))
|
||||||
|
list(APPEND _CONAN_INSTALL_ARGS "-o=openssl/*:shared=True")
|
||||||
|
endif()
|
||||||
|
|
||||||
list(PREPEND _CONAN_INSTALL_ARGS "--build=missing")
|
list(PREPEND _CONAN_INSTALL_ARGS "--build=missing")
|
||||||
list(JOIN _CONAN_INSTALL_ARGS ";" _CONAN_INSTALL_ARGS_JOINED)
|
list(JOIN _CONAN_INSTALL_ARGS ";" _CONAN_INSTALL_ARGS_JOINED)
|
||||||
set(CONAN_INSTALL_ARGS ${_CONAN_INSTALL_ARGS_JOINED} CACHE STRING "" FORCE)
|
set(CONAN_INSTALL_ARGS ${_CONAN_INSTALL_ARGS_JOINED} CACHE STRING "" FORCE)
|
||||||
|
|||||||
@@ -316,12 +316,9 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
set_target_properties(${PROJECT} PROPERTIES
|
||||||
set_target_properties(${PROJECT} PROPERTIES
|
INSTALL_RPATH "@executable_path/../Frameworks"
|
||||||
INSTALL_RPATH "@executable_path/../Frameworks"
|
)
|
||||||
BUILD_WITH_INSTALL_RPATH TRUE
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_library(FW_COREFOUNDATION CoreFoundation)
|
find_library(FW_COREFOUNDATION CoreFoundation)
|
||||||
find_library(FW_SYSTEMCONFIG SystemConfiguration)
|
find_library(FW_SYSTEMCONFIG SystemConfiguration)
|
||||||
@@ -428,11 +425,32 @@ endif()
|
|||||||
# install target
|
# install target
|
||||||
install(TARGETS ${PROJECT}
|
install(TARGETS ${PROJECT}
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
RUNTIME_DEPENDENCY_SET service_deps
|
||||||
COMPONENT AmneziaVPN
|
COMPONENT AmneziaVPN
|
||||||
)
|
)
|
||||||
install(FILES $<TARGET_RUNTIME_DLLS:${PROJECT}>
|
|
||||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
if(APPLE)
|
||||||
|
set(RUNTIME_DEPS_DIR ${CMAKE_INSTALL_BINDIR}/../Frameworks)
|
||||||
|
else()
|
||||||
|
set(RUNTIME_DEPS_DIR ${CMAKE_INSTALL_BINDIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(RUNTIME_DEPENDENCY_SET service_deps
|
||||||
|
PRE_EXCLUDE_REGEXES
|
||||||
|
[[api-ms-win-.*]]
|
||||||
|
[[ext-ms-.*]]
|
||||||
|
[[kernel32\.dll]]
|
||||||
|
[[hvsifiletrust\.dll]]
|
||||||
|
[[libc\.so\..*]] [[libgcc_s\.so\..*]] [[libm\.so\..*]] [[libstdc\+\+\.so\..*]]
|
||||||
|
[[.*\.framework]]
|
||||||
|
[[^[Qq]t.*]]
|
||||||
|
POST_EXCLUDE_REGEXES
|
||||||
|
[[^.*[\\/]system32[\\/].*\.dll$]]
|
||||||
|
[[^/lib.*]]
|
||||||
|
[[^/usr/lib.*]]
|
||||||
|
DIRECTORIES ${CONAN_RUNTIME_LIB_DIRS}
|
||||||
COMPONENT AmneziaVPN
|
COMPONENT AmneziaVPN
|
||||||
|
DESTINATION "${RUNTIME_DEPS_DIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
qt_generate_deploy_app_script(
|
qt_generate_deploy_app_script(
|
||||||
|
|||||||
Reference in New Issue
Block a user