mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
55 lines
2.2 KiB
CMake
55 lines
2.2 KiB
CMake
message("Client android ${CMAKE_ANDROID_ARCH_ABI} build")
|
|
|
|
set(APP_ANDROID_MIN_SDK 28)
|
|
set(ANDROID_PLATFORM "android-${APP_ANDROID_MIN_SDK}" CACHE STRING
|
|
"The minimum API level supported by the application or library" FORCE)
|
|
|
|
# set QTP0002 policy: target properties that specify Android-specific paths may contain generator expressions
|
|
qt_policy(SET QTP0002 NEW)
|
|
|
|
set_target_properties(${PROJECT} PROPERTIES
|
|
QT_ANDROID_VERSION_NAME ${CMAKE_PROJECT_VERSION}
|
|
QT_ANDROID_VERSION_CODE ${APP_ANDROID_VERSION_CODE}
|
|
QT_ANDROID_MIN_SDK_VERSION ${APP_ANDROID_MIN_SDK}
|
|
QT_ANDROID_TARGET_SDK_VERSION 36
|
|
QT_ANDROID_SDK_BUILD_TOOLS_REVISION 36.0.0
|
|
QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android
|
|
)
|
|
|
|
set(QT_ANDROID_MULTI_ABI_FORWARD_VARS "QT_NO_GLOBAL_APK_TARGET_PART_OF_ALL;CMAKE_BUILD_TYPE")
|
|
|
|
# We need to include qtprivate api's
|
|
# As QAndroidBinder is not yet implemented with a public api
|
|
# Check if Qt6::CorePrivate is available (may not be in all Qt versions/configurations)
|
|
if(TARGET Qt6::CorePrivate)
|
|
set(LIBS ${LIBS} Qt6::CorePrivate)
|
|
endif()
|
|
set(LIBS ${LIBS} -ljnigraphics)
|
|
|
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/platforms/android)
|
|
|
|
set(HEADERS ${HEADERS}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_controller.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_utils.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/core/installedAppsImageProvider.h
|
|
)
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_controller.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_utils.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/core/installedAppsImageProvider.cpp
|
|
)
|
|
|
|
|
|
find_package(awg-android REQUIRED)
|
|
set(LIBS ${LIBS} amnezia::awg-android)
|
|
set_property(TARGET ${PROJECT} APPEND PROPERTY QT_ANDROID_EXTRA_LIBS ${AMNEZIA_ANDROID_LIBWG_PATH} ${AMNEZIA_ANDROID_LIBWG_QUICK_PATH})
|
|
|
|
find_package(amnezia-libxray REQUIRED)
|
|
file(COPY ${AMNEZIA_LIBXRAY_PATH} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/android/xray/libXray)
|
|
|
|
find_package(openvpn-pt-android REQUIRED)
|
|
set(LIBS ${LIBS} amnezia::openvpn-pt-android)
|