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.

103 lines
2.7KB

  1. apply plugin: 'com.android.application'
  2. android {
  3. compileSdkVersion 28
  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.juce.networkgraphicsdemo"
  20. minSdkVersion 16
  21. targetSdkVersion 28
  22. externalNativeBuild {
  23. cmake {
  24. 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"
  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"
  47. }
  48. externalNativeBuild {
  49. cmake {
  50. arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-Ofast", "-DCMAKE_C_FLAGS_DEBUG=-Ofast"
  51. }
  52. }
  53. dimension "default"
  54. }
  55. release_ {
  56. externalNativeBuild {
  57. cmake {
  58. arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3"
  59. }
  60. }
  61. dimension "default"
  62. }
  63. }
  64. variantFilter { variant ->
  65. def names = variant.flavors*.name
  66. if (names.contains ("debug_")
  67. && variant.buildType.name != "debug") {
  68. setIgnore(true)
  69. }
  70. if (names.contains ("release_")
  71. && variant.buildType.name != "release") {
  72. setIgnore(true)
  73. }
  74. }
  75. sourceSets {
  76. main.java.srcDirs +=
  77. ["../../../../../modules/juce_core/native/javacore/init",
  78. "../../../../../modules/juce_core/native/javacore/app",
  79. "../../../../../modules/juce_gui_basics/native/javaopt/app"]
  80. main.res.srcDirs +=
  81. []
  82. }
  83. repositories {
  84. }
  85. dependencies {
  86. }
  87. }