From ba792708347b4532430a04db073bfba0f2338417 Mon Sep 17 00:00:00 2001 From: Skrywerbeer Date: Thu, 7 Jan 2021 12:53:58 +0200 Subject: [PATCH] Added CMakeLists.txt. --- QtAndroidTools/CMakeLists.txt | 196 ++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 QtAndroidTools/CMakeLists.txt diff --git a/QtAndroidTools/CMakeLists.txt b/QtAndroidTools/CMakeLists.txt new file mode 100644 index 0000000..e3eaeda --- /dev/null +++ b/QtAndroidTools/CMakeLists.txt @@ -0,0 +1,196 @@ +cmake_minimum_required(VERSION 3.14) + +project(QtAndroidTools + VERSION 1.4 + LANGUAGES CXX) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(QT NAMES Qt6 Qt5 COMPONENTS + Core + Quick + AndroidExtras + REQUIRED) + +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS + Core + Quick + AndroidExtras + REQUIRED) + +set(QTAT_JAVA_DIR src/com/falsinsoft/qtandroidtools) +set(QTAT_SOURCE_FILES QtAndroidTools.cpp) +set(QTAT_HEADER_FILES QtAndroidTools.h) +set(QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidTools.java) + +option(QTAT_APP_PERMISSIONS "Enable QtAndroidTools App permissions.") +if(QTAT_APP_PERMISSIONS) + add_compile_definitions(QTAT_APP_PERMISSIONS) + list(APPEND QTAT_SOURCE_FILES QAndroidAppPermissions.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidAppPermissions.h) +endif() + +option(QTAT_APK_INFO "Enable QtAndroidTools Apk info.") +if(QTAT_APK_INFO) + add_compile_definitions(QTAT_APK_INFO) + list(APPEND QTAT_SOURCE_FILES QAndroidApkInfo.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidApkInfo.h) +endif() + +option(QTAT_SCREEN "Enable QtAndroidTools Screen") +if(QTAT_SCREEN) + add_compile_definitions(QTAT_SCREEN) + list(APPEND QTAT_SOURCE_FILES QAndroidScreen.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidScreen.h) +endif() + +option(QTAT_SYSTEM "Enable QtAndroidTools System") +if(QTAT_SYSTEM) + add_compile_definitions(QTAT_SYSTEM) + list(APPEND QTAT_SOURCE_FILES QAndroidSystem.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidSystem.h) +endif() + +option(QTAT_APK_EXPANSION_FILES "Enable QtAndroidTools Apk Expansion.") +if(QTAT_APK_EXPANSION_FILES) + add_compile_definitions(QTAT_APK_EXPANSION_FILES) + list(APPEND QTAT_SOURCE_FILES QAndroidApkExpansionFiles.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidApkExpansionFiles.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidApkExpansionFiles.java) + file(COPY src/com/google DESTINATION ${ANDROID_PACKAGE_SOURCE_DIR}/src/com/) + file(COPY aidl DESTINATION ${ANDROID_PACKAGE_SOURCE_DIR}/) +endif() + +option(QTAT_BATTERY_STATE "Enable QtAndroidTools Battery State.") +if(QTAT_BATTERY_STATE) + add_compile_definitions(QTAT_BATTERY_STATE) + list(APPEND QTAT_SOURCE_FILES QAndroidBatteryState.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidBatteryState.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidBatteryState.java) +endif() + +option(QTAT_SIGNAL_STRENGTH "Enable QtAndroidTools Signal Strength.") +if(QTAT_SIGNAL_STRENGTH) + add_compile_definitions(QTAT_SIGNAL_STRENGTH) + list(APPEND QTAT_SOURCE_FILES QAndroidSignalStrength.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidSignalStrength.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidSignalStrength.java) +endif() + +option(QTAT_ADMOB_BANNER "Enable QtAndroidTools AdMob banner.") +if(QTAT_ADMOB_BANNER) + add_compile_definitions(QTAT_ADMOB_BANNER) + list(APPEND QTAT_SOURCE_FILES QAndroidAdMobBanner.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidAdMobBanner.h) + list(APPEND QTAT_JAVA_FILES + ${QTAT_JAVA_DIR}/AndroidAdMob.java + ${QTAT_JAVA_DIR}/AndroidAdMobBanner.java + ${QTAT_JAVA_DIR}/SyncRunOnUiThread.java) +endif() + +option(QTAT_ADMOB_INTERSTITIAL "Enable QtAndroidTools AdMob Interstitial.") +if(QTAT_ADMOB_INTERSTITIAL) + add_compile_definitions(QTAT_ADMOB_INTERSTITIAL) + list(APPEND QTAT_SOURCE_FILES QAndroidAdMobInterstitial.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidAdMobInterstitial.h) + list(APPEND QTAT_JAVA_FILES + ${QTAT_JAVA_DIR}/AndroidAdMob.java + ${QTAT_JAVA_DIR}/AndroidAdMobInterstitial.java + ${QTAT_JAVA_DIR}/SyncRunOnUiThread.java) +endif() + +option(QTAT_ADMOB_REWAREDED_VIDEO "Enable QtAndroidTools AdMob Rewareded Video.") +if(QTAT_ADMOB_INTERSTITIAL) + add_compile_definitions(QTAT_ADMOB_REWAREDED_VIDEO) + list(APPEND QTAT_SOURCE_FILES QAndroidAdMobRewardedVideo.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidAdMobRewardedVideo.h) + list(APPEND QTAT_JAVA_FILES + ${QTAT_JAVA_DIR}/AndroidAdMob.java + ${QTAT_JAVA_DIR}/AndroidAdMobRewardedVideo.java + ${QTAT_JAVA_DIR}/SyncRunOnUiThread.java) +endif() + +option(QTAT_IMAGES "Enable QtAndroidTools Images.") +if(QTAT_IMAGES) + add_compile_definitions(QTAT_IMAGES) + list(APPEND QTAT_SOURCE_FILES QAndroidImages.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidImages.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidImages.java) +endif() + +option(QTAT_NOTIFICATION "Enable QtAndroidTools Notifications.") +if(QTAT_NOTIFICATION) + add_compile_definitions(QTAT_NOTIFICATION) + list(APPEND QTAT_SOURCE_FILES QAndroidNotification.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidNotification.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidNotification.java) +endif() + +option(QTAT_PLAY_STORE "Enable QtAndroidTools Play Store.") +if(QTAT_PLAY_STORE) + add_compile_definitions(QTAT_PLAY_STORE) + list(APPEND QTAT_SOURCE_FILES QAndroidPlayStore.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidPlayStore.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidPlayStore.java) +endif() + +option(QTAT_GOOGLE_ACCOUNT "Enable QtAndroidTools Google Account.") +if(QTAT_GOOGLE_ACCOUNT) + add_compile_definitions(QTAT_GOOGLE_ACCOUNT) + list(APPEND QTAT_SOURCE_FILES QAndroidGoogleAccount.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidGoogleAccount.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidGoogleAccount.java) +endif() + +option(QTAT_GOOGLE_DRIVE "Enable QtAndroidTools Google Drive.") +if(QTAT_GOOGLE_DRIVE) + add_compile_definitions(QTAT_GOOGLE_DRIVE) + list(APPEND QTAT_SOURCE_FILES QAndroidGoogleDrive.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidGoogleDrive.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidGoogleDrive.java) +endif() + +option(QTAT_SHARING "Enable QtAndroidTools Sharing.") +if(QTAT_SHARING) + add_compile_definitions(QTAT_SHARING) + list(APPEND QTAT_SOURCE_FILES QAndroidSharing.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidSharing.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidSharing.java) +endif() + +option(QTAT_USER_MESSAGING_PLATFORM "Enable QtAndroidTools User Messaging Platform.") +if(QTAT_USER_MESSAGING_PLATFORM) + add_compile_definitions(QTAT_USER_MESSAGING_PLATFORM) + list(APPEND QTAT_SOURCE_FILES QAndroidUserMessagingPlatform.cpp) + list(APPEND QTAT_HEADER_FILES QAndroidUserMessagingPlatform.h) + list(APPEND QTAT_JAVA_FILES ${QTAT_JAVA_DIR}/AndroidUserMessagingPlatform.java) +endif() + +add_library(QtAndroidTools STATIC + ${QTAT_SOURCE_FILES} + ${QTAT_HEADER_FILES}) + +if(QTAT_NOTIFICATION) + target_link_libraries(QtAndroidTools jnigraphics) +endif() + +target_include_directories(QtAndroidTools PRIVATE ${Qt5Core_INCLUDE_DIRS}) +target_include_directories(QtAndroidTools PRIVATE ${Qt5Quick_INCLUDE_DIRS}) +target_include_directories(QtAndroidTools PRIVATE ${Qt5AndroidExtras_INCLUDE_DIRS}) + +file(MAKE_DIRECTORY ${ANDROID_PACKAGE_SOURCE_DIR}/${QTAT_JAVA_DIR}/) +foreach(JAVA_FILE ${QTAT_JAVA_FILES}) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/${JAVA_FILE} + ${ANDROID_PACKAGE_SOURCE_DIR}/${QTAT_JAVA_DIR}/ + COPYONLY) +endforeach(JAVA_FILE) + +source_group("Source" FILES ${QTAT_SOURCE_FILES}) +source_group("Headers" FILES ${QTAT_HEADER_FILES}) +source_group("QTAT_JAVA" FILES ${QTAT_JAVA_FILES})