2023-08-18 22:25:12 +03:00
|
|
|
message("Client android ${CMAKE_ANDROID_ARCH_ABI} build")
|
2023-11-14 22:58:47 +03:00
|
|
|
|
2025-11-04 11:43:36 +08:00
|
|
|
set(APP_ANDROID_MIN_SDK 28)
|
2023-11-14 22:58:47 +03:00
|
|
|
set(ANDROID_PLATFORM "android-${APP_ANDROID_MIN_SDK}" CACHE STRING
|
|
|
|
|
"The minimum API level supported by the application or library" FORCE)
|
|
|
|
|
|
2023-11-16 19:49:36 +03:00
|
|
|
# set QTP0002 policy: target properties that specify Android-specific paths may contain generator expressions
|
|
|
|
|
qt_policy(SET QTP0002 NEW)
|
|
|
|
|
|
2023-11-14 22:58:47 +03:00
|
|
|
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}
|
2025-11-04 11:43:36 +08:00
|
|
|
QT_ANDROID_TARGET_SDK_VERSION 36
|
|
|
|
|
QT_ANDROID_SDK_BUILD_TOOLS_REVISION 36.0.0
|
2023-11-14 22:58:47 +03:00
|
|
|
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")
|
|
|
|
|
|
2023-08-18 22:25:12 +03:00
|
|
|
# We need to include qtprivate api's
|
|
|
|
|
# As QAndroidBinder is not yet implemented with a public api
|
2025-12-15 16:56:36 +03:00
|
|
|
# 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)
|
2023-08-18 22:25:12 +03:00
|
|
|
|
|
|
|
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/platforms/android)
|
|
|
|
|
|
|
|
|
|
set(HEADERS ${HEADERS}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_controller.h
|
2023-12-26 17:00:06 +03:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_utils.h
|
2023-08-18 22:25:12 +03:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.h
|
2024-04-01 18:45:00 +07:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/core/installedAppsImageProvider.h
|
2023-08-18 22:25:12 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(SOURCES ${SOURCES}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_controller.cpp
|
2023-12-26 17:00:06 +03:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_utils.cpp
|
2023-08-18 22:25:12 +03:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.cpp
|
2024-04-01 18:45:00 +07:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/core/installedAppsImageProvider.cpp
|
2023-08-18 22:25:12 +03:00
|
|
|
)
|
|
|
|
|
|
2026-03-03 01:29:03 +01:00
|
|
|
|
|
|
|
|
find_package(awg-android REQUIRED)
|
|
|
|
|
set(LIBS ${LIBS} amnezia::awg-android)
|
2026-03-09 14:02:47 +01:00
|
|
|
set_property(TARGET ${PROJECT} APPEND PROPERTY QT_ANDROID_EXTRA_LIBS ${AMNEZIA_ANDROID_LIBWG_PATH} ${AMNEZIA_ANDROID_LIBWG_QUICK_PATH})
|
2026-03-03 01:29:03 +01:00
|
|
|
|
|
|
|
|
find_package(amnezia-libxray REQUIRED)
|
|
|
|
|
file(COPY ${AMNEZIA_LIBXRAY_PATH} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/android/xray/libXray)
|
2026-03-09 22:55:05 +03:00
|
|
|
|
|
|
|
|
find_package(openvpn-pt-android REQUIRED)
|
|
|
|
|
set_property(TARGET ${PROJECT} APPEND PROPERTY QT_ANDROID_EXTRA_LIBS
|
|
|
|
|
${AMNEZIA_ANDROID_CK_OVPN_PLUGIN_PATH}
|
|
|
|
|
${AMNEZIA_ANDROID_OVPN3_PATH}
|
|
|
|
|
${AMNEZIA_ANDROID_OVPNUTIL_PATH}
|
|
|
|
|
${AMNEZIA_ANDROID_RSAPSS_PATH}
|
|
|
|
|
)
|