From 1975bb7479403eb1433488aa64ca1a9aad5a2692 Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 31 Aug 2022 14:21:10 +0100 Subject: [PATCH] Projucer: Update default Android SDK, adjust CMake flag specification --- .../Builds/Android/app/CMakeLists.txt | 4 +- .../Builds/Android/app/build.gradle | 16 ++++--- .../DemoRunner/Builds/Android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/DemoRunner/DemoRunner.jucer | 3 +- .../Builds/Android/app/CMakeLists.txt | 4 +- .../Builds/Android/app/build.gradle | 16 ++++--- .../Builds/Android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Builds/Android/app/CMakeLists.txt | 4 +- .../Builds/Android/app/build.gradle | 16 ++++--- .../Builds/Android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Builds/Android/app/CMakeLists.txt | 4 +- .../Builds/Android/app/build.gradle | 16 ++++--- .../Builds/Android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../jucer_ProjectExport_Android.h | 47 +++++++++---------- 18 files changed, 82 insertions(+), 64 deletions(-) diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt index 585547ffb8..a85f2c0461 100644 --- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt +++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt @@ -1,8 +1,10 @@ -# Automatically generated makefile, created by the Projucer +# Automatically generated CMakeLists, created by the Projucer # Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! cmake_minimum_required(VERSION 3.4.1) +project(juce_jni_project) + set(BINARY_NAME "juce_jni") set(OBOE_DIR "../../../../../modules/juce_audio_devices/native/oboe") diff --git a/examples/DemoRunner/Builds/Android/app/build.gradle b/examples/DemoRunner/Builds/Android/app/build.gradle index 6b3be277d4..925777b4c1 100644 --- a/examples/DemoRunner/Builds/Android/app/build.gradle +++ b/examples/DemoRunner/Builds/Android/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 31 + compileSdkVersion 33 externalNativeBuild { cmake { path "CMakeLists.txt" @@ -20,7 +20,7 @@ android { defaultConfig { applicationId "com.rmsl.jucedemorunner" minSdkVersion 23 - targetSdkVersion 31 + targetSdkVersion 33 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" @@ -51,21 +51,25 @@ android { } externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + cFlags "-O0" + cppFlags "-O0" + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG" } } dimension "default" - } + } release_ { externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + cFlags "-O3" + cppFlags "-O3" + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE" } } dimension "default" - } + } } variantFilter { variant -> diff --git a/examples/DemoRunner/Builds/Android/build.gradle b/examples/DemoRunner/Builds/Android/build.gradle index ee98c09688..cf1fe6961b 100644 --- a/examples/DemoRunner/Builds/Android/build.gradle +++ b/examples/DemoRunner/Builds/Android/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } diff --git a/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties index 80082ba57b..702c227cd3 100644 --- a/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip \ No newline at end of file diff --git a/examples/DemoRunner/DemoRunner.jucer b/examples/DemoRunner/DemoRunner.jucer index 7bb3ab6c47..fbb5a5007e 100644 --- a/examples/DemoRunner/DemoRunner.jucer +++ b/examples/DemoRunner/DemoRunner.jucer @@ -91,8 +91,7 @@ + smallIcon="YyqWd2" bigIcon="YyqWd2" cameraPermissionNeeded="1"> diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt index b2721c9cd5..9bfc8451e8 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt @@ -1,8 +1,10 @@ -# Automatically generated makefile, created by the Projucer +# Automatically generated CMakeLists, created by the Projucer # Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! cmake_minimum_required(VERSION 3.4.1) +project(juce_jni_project) + set(BINARY_NAME "juce_jni") set(OBOE_DIR "../../../../../modules/juce_audio_devices/native/oboe") diff --git a/extras/AudioPerformanceTest/Builds/Android/app/build.gradle b/extras/AudioPerformanceTest/Builds/Android/app/build.gradle index 74166841d8..1a18c34b70 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/build.gradle +++ b/extras/AudioPerformanceTest/Builds/Android/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 30 + compileSdkVersion 33 externalNativeBuild { cmake { path "CMakeLists.txt" @@ -20,7 +20,7 @@ android { defaultConfig { applicationId "com.juce.audioperformancetest" minSdkVersion 23 - targetSdkVersion 30 + targetSdkVersion 33 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" @@ -51,21 +51,25 @@ android { } externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + cFlags "-O0" + cppFlags "-O0" + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG" } } dimension "default" - } + } release_ { externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-Ofast", "-DCMAKE_C_FLAGS_RELEASE=-Ofast" + cFlags "-Ofast" + cppFlags "-Ofast" + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE" } } dimension "default" - } + } } variantFilter { variant -> diff --git a/extras/AudioPerformanceTest/Builds/Android/build.gradle b/extras/AudioPerformanceTest/Builds/Android/build.gradle index ee98c09688..cf1fe6961b 100644 --- a/extras/AudioPerformanceTest/Builds/Android/build.gradle +++ b/extras/AudioPerformanceTest/Builds/Android/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } diff --git a/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties index 80082ba57b..702c227cd3 100644 --- a/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip \ No newline at end of file diff --git a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt index ced1756654..7ddbdf1967 100644 --- a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt @@ -1,8 +1,10 @@ -# Automatically generated makefile, created by the Projucer +# Automatically generated CMakeLists, created by the Projucer # Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! cmake_minimum_required(VERSION 3.4.1) +project(juce_jni_project) + set(BINARY_NAME "juce_jni") set(OBOE_DIR "../../../../../modules/juce_audio_devices/native/oboe") diff --git a/extras/AudioPluginHost/Builds/Android/app/build.gradle b/extras/AudioPluginHost/Builds/Android/app/build.gradle index 9904208084..9d5176c6db 100644 --- a/extras/AudioPluginHost/Builds/Android/app/build.gradle +++ b/extras/AudioPluginHost/Builds/Android/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 30 + compileSdkVersion 33 externalNativeBuild { cmake { path "CMakeLists.txt" @@ -20,7 +20,7 @@ android { defaultConfig { applicationId "com.juce.pluginhost" minSdkVersion 23 - targetSdkVersion 30 + targetSdkVersion 33 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" @@ -51,21 +51,25 @@ android { } externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + cFlags "-O0" + cppFlags "-O0" + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG" } } dimension "default" - } + } release_ { externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + cFlags "-O3" + cppFlags "-O3" + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE" } } dimension "default" - } + } } variantFilter { variant -> diff --git a/extras/AudioPluginHost/Builds/Android/build.gradle b/extras/AudioPluginHost/Builds/Android/build.gradle index ee98c09688..cf1fe6961b 100644 --- a/extras/AudioPluginHost/Builds/Android/build.gradle +++ b/extras/AudioPluginHost/Builds/Android/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } diff --git a/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties index 80082ba57b..702c227cd3 100644 --- a/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip \ No newline at end of file diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt index e75d8c2162..db927282f5 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt @@ -1,8 +1,10 @@ -# Automatically generated makefile, created by the Projucer +# Automatically generated CMakeLists, created by the Projucer # Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! cmake_minimum_required(VERSION 3.4.1) +project(juce_jni_project) + set(BINARY_NAME "juce_jni") set(OBOE_DIR "../../../../../modules/juce_audio_devices/native/oboe") diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle b/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle index fd520d3003..d7e1cada88 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 30 + compileSdkVersion 33 externalNativeBuild { cmake { path "CMakeLists.txt" @@ -20,7 +20,7 @@ android { defaultConfig { applicationId "com.juce.networkgraphicsdemo" minSdkVersion 16 - targetSdkVersion 30 + targetSdkVersion 33 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-16", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" @@ -51,21 +51,25 @@ android { } externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-Ofast", "-DCMAKE_C_FLAGS_DEBUG=-Ofast" + cFlags "-Ofast" + cppFlags "-Ofast" + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG" } } dimension "default" - } + } release_ { externalNativeBuild { cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + cFlags "-O3" + cppFlags "-O3" + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE" } } dimension "default" - } + } } variantFilter { variant -> diff --git a/extras/NetworkGraphicsDemo/Builds/Android/build.gradle b/extras/NetworkGraphicsDemo/Builds/Android/build.gradle index ee98c09688..cf1fe6961b 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/build.gradle +++ b/extras/NetworkGraphicsDemo/Builds/Android/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } diff --git a/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties index 80082ba57b..702c227cd3 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip \ No newline at end of file diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h index 9021db21f5..62d2fb86eb 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h @@ -116,7 +116,7 @@ public: androidGradleSettingsContent (settings, Ids::androidGradleSettingsContent, getUndoManager()), androidVersionCode (settings, Ids::androidVersionCode, getUndoManager(), "1"), androidMinimumSDK (settings, Ids::androidMinimumSDK, getUndoManager(), "16"), - androidTargetSDK (settings, Ids::androidTargetSDK, getUndoManager(), "30"), + androidTargetSDK (settings, Ids::androidTargetSDK, getUndoManager(), "33"), androidTheme (settings, Ids::androidTheme, getUndoManager()), androidExtraAssetsFolder (settings, Ids::androidExtraAssetsFolder, getUndoManager()), androidOboeRepositoryPath (settings, Ids::androidOboeRepositoryPath, getUndoManager()), @@ -137,9 +137,9 @@ public: androidKeyStorePass (settings, Ids::androidKeyStorePass, getUndoManager(), "android"), androidKeyAlias (settings, Ids::androidKeyAlias, getUndoManager(), "androiddebugkey"), androidKeyAliasPass (settings, Ids::androidKeyAliasPass, getUndoManager(), "android"), - gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "7.0.2"), + gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "7.5.1"), gradleToolchain (settings, Ids::gradleToolchain, getUndoManager(), "clang"), - androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "7.0.0"), + androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "7.2.2"), AndroidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) { name = getDisplayName(); @@ -348,12 +348,14 @@ private: { mo.setNewLineString (getNewLineString()); - mo << "# Automatically generated makefile, created by the Projucer" << newLine + mo << "# Automatically generated CMakeLists, created by the Projucer" << newLine << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine + << newLine + << "cmake_minimum_required(VERSION 3.4.1)" << newLine + << newLine + << "project(juce_jni_project)" << newLine << newLine; - mo << "cmake_minimum_required(VERSION 3.4.1)" << newLine << newLine; - if (! isLibrary()) mo << "set(BINARY_NAME \"juce_jni\")" << newLine << newLine; @@ -677,32 +679,25 @@ private: if (cfg.getArchitectures().isNotEmpty()) { - mo << " ndk {" << newLine; - mo << " abiFilters " << toGradleList (StringArray::fromTokens (cfg.getArchitectures(), " ", "")) << newLine; - mo << " }" << newLine; + mo << " ndk {" << newLine + << " abiFilters " << toGradleList (StringArray::fromTokens (cfg.getArchitectures(), " ", "")) << newLine + << " }" << newLine; } - mo << " externalNativeBuild {" << newLine; - mo << " cmake {" << newLine; + mo << " externalNativeBuild {" << newLine + << " cmake {" << newLine; if (getProject().getProjectType().isStaticLibrary()) mo << " targets \"" << getNativeModuleBinaryName (cfg) << "\"" << newLine; - mo << " arguments " - << "\"-DJUCE_BUILD_CONFIGURATION=" << cfg.getProductFlavourCMakeIdentifier() << "\""; - - mo << ", \"-DCMAKE_CXX_FLAGS_" << (cfg.isDebug() ? "DEBUG" : "RELEASE") - << "=-O" << cfg.getGCCOptimisationFlag(); - - mo << "\"" - << ", \"-DCMAKE_C_FLAGS_" << (cfg.isDebug() ? "DEBUG" : "RELEASE") - << "=-O" << cfg.getGCCOptimisationFlag() - << "\"" << newLine; - - mo << " }" << newLine; - mo << " }" << newLine << newLine; - mo << " dimension \"default\"" << newLine; - mo << " }" << newLine; + mo << " cFlags \"-O" << cfg.getGCCOptimisationFlag() << "\"" << newLine + << " cppFlags \"-O" << cfg.getGCCOptimisationFlag() << "\"" << newLine + << " arguments \"-DJUCE_BUILD_CONFIGURATION=" << cfg.getProductFlavourCMakeIdentifier() << "\"" << newLine + << " }" << newLine + << " }" << newLine + << newLine + << " dimension \"default\"" << newLine + << " }" << newLine; } mo << " }" << newLine;