
Move to gradle kotlin DSL Use gradle version catalog All android build parameters are set via cmake files Use gradle abi split to build APKs Improve local development in the android project folder
56 lines
3 KiB
CMake
56 lines
3 KiB
CMake
message("Client android ${CMAKE_ANDROID_ARCH_ABI} build")
|
|
|
|
set(APP_ANDROID_MIN_SDK 24)
|
|
set(ANDROID_PLATFORM "android-${APP_ANDROID_MIN_SDK}" CACHE STRING
|
|
"The minimum API level supported by the application or library" FORCE)
|
|
|
|
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 34
|
|
QT_ANDROID_SDK_BUILD_TOOLS_REVISION 34.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
|
|
set(LIBS ${LIBS} Qt6::CorePrivate)
|
|
|
|
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_notificationhandler.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/androidutils.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/androidvpnactivity.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/authResultReceiver.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.h
|
|
)
|
|
|
|
set(SOURCES ${SOURCES}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_controller.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/android_notificationhandler.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/androidutils.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/androidvpnactivity.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/platforms/android/authResultReceiver.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/protocols/android_vpnprotocol.cpp
|
|
)
|
|
|
|
foreach(abi IN ITEMS ${QT_ANDROID_ABIS})
|
|
set_property(TARGET ${PROJECT} PROPERTY QT_ANDROID_EXTRA_LIBS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/wireguard/android/${abi}/libwg.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/wireguard/android/${abi}/libwg-go.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/wireguard/android/${abi}/libwg-quick.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/shadowsocks/android/${abi}/libredsocks.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/shadowsocks/android/${abi}/libsslocal.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/shadowsocks/android/${abi}/libtun2socks.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/openvpn/android/${abi}/libck-ovpn-plugin.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/openvpn/android/${abi}/libovpn3.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/openvpn/android/${abi}/libovpnutil.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/openvpn/android/${abi}/librsapss.so
|
|
${CMAKE_CURRENT_SOURCE_DIR}/3rd-prebuilt/3rd-prebuilt/libssh/android/${abi}/libssh.so
|
|
)
|
|
endforeach()
|