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.

107 lines
2.7KB

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