nc-wc-ndk_pub/ccc/build.gradle

76 lines
2.4 KiB
Groovy

apply plugin: 'com.android.library'
android {
compileSdkVersion 28
// a default can be used, but it is good practice to explicitly select build tools
buildToolsVersion '28.0.3'
defaultConfig {
// applicationId 'xyz.nc.android.wc'
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName '1.0'
externalNativeBuild {
cmake {
arguments '-DANDROID_PLATFORM=android-23',
'-DANDROID_TOOLCHAIN=clang'
// Sets optional flags for the C compiler.
// cFlags \
// '-D_POSIX_THREADS', '-DNDEBUG',
// '-DPERSIST_SESSION_CACHE', '-DPERSIST_CERT_CACHE', '-DATOMIC_USER',
// '-DHAVE_PK_CALLBACKS', '-DNO_DSA',
// '-DNO_MD4', '-DNO_HC128', '-DNO_RABBIT',
// '-DHAVE_OCSP', '-DHAVE_CRL', '-DWOLFSSL_JNI', '-DHAVE_DH',
// '-Wall'
// explicitly build libs
//targets 'wolfssl'
}
}
}
// buildTypes {
// release {
// minifyEnabled false
// proguardFiles getDefaultProguardFile('proguard-android.txt'),
// 'proguard-rules.pro'
// }
// }
externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}
}
// Copies files to the dist/ folder, adds a timestamp
// instead of using a bash script I ventured out to try this file copy in Groovy (Gradle)
// ...and yay, I was successful =)
task copyLibs(type: Copy) {
def thisDate = new Date().format('yyyyMMdd_HHmmssSSS')
from('build/intermediates/cmake/debug/obj/') {
include '**/*.so'
into 'debug'
}
from('build/intermediates/cmake/release/obj/') {
include '**/*.so'
into 'release'
}
into "dist/wolfssl-jni_${thisDate}/"
}
dependencies {
// compile fileTree(dir: 'libs', include: ['*.jar'])
// implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
// implementation 'com.android.support:appcompat-v7:28.0.0'
// implementation 'com.android.support.constraint:constraint-layout:1.1.3'
// androidTestImplementation 'com.android.support.test:runner:1.0.2'
// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}