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.

108 lines
2.8KB

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