The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.8KB

  1. apply plugin: 'com.android.application'
  2. android {
  3. compileSdkVersion 33
  4. ndkVersion "25.2.9519653"
  5. namespace "com.rmsl.jucedemorunner"
  6. externalNativeBuild {
  7. cmake {
  8. path "CMakeLists.txt"
  9. version "3.22.1"
  10. }
  11. }
  12. signingConfigs {
  13. juceSigning {
  14. storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore")
  15. storePassword "android"
  16. keyAlias "androiddebugkey"
  17. keyPassword "android"
  18. storeType "jks"
  19. }
  20. }
  21. defaultConfig {
  22. applicationId "com.rmsl.jucedemorunner"
  23. minSdkVersion 23
  24. targetSdkVersion 33
  25. externalNativeBuild {
  26. cmake {
  27. 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=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
  28. }
  29. }
  30. }
  31. buildTypes {
  32. debug {
  33. initWith debug
  34. debuggable true
  35. jniDebuggable true
  36. signingConfig signingConfigs.juceSigning
  37. }
  38. release {
  39. initWith release
  40. debuggable false
  41. jniDebuggable false
  42. signingConfig signingConfigs.juceSigning
  43. }
  44. }
  45. flavorDimensions "default"
  46. productFlavors {
  47. debug_ {
  48. ndk {
  49. abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
  50. }
  51. externalNativeBuild {
  52. cmake {
  53. cFlags "-O0"
  54. cppFlags "-O0"
  55. arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG"
  56. }
  57. }
  58. dimension "default"
  59. }
  60. release_ {
  61. externalNativeBuild {
  62. cmake {
  63. cFlags "-O3"
  64. cppFlags "-O3"
  65. arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE"
  66. }
  67. }
  68. dimension "default"
  69. }
  70. }
  71. variantFilter { variant ->
  72. def names = variant.flavors*.name
  73. if (names.contains ("debug_")
  74. && variant.buildType.name != "debug") {
  75. setIgnore(true)
  76. }
  77. if (names.contains ("release_")
  78. && variant.buildType.name != "release") {
  79. setIgnore(true)
  80. }
  81. }
  82. sourceSets {
  83. main.java.srcDirs +=
  84. ["../../../../../modules/juce_core/native/javacore/init",
  85. "../../../../../modules/juce_core/native/javacore/app",
  86. "../../../../../modules/juce_gui_basics/native/javaopt/app"]
  87. main.res.srcDirs +=
  88. []
  89. }
  90. repositories {
  91. }
  92. dependencies {
  93. }
  94. }