vol*_*ond 6 android cmake gradle android-ndk
我有一个带有基于cmake的构建脚本的跨平台库.由于现在可以使用cmake对android的支持(https://developer.android.com/studio/projects/add-native-code.html),我计划将ndk-build makefile移到垃圾箱.
我已经测试过find_package(ZLIB REQUIRED)
并且运行良好,因为zlib头文件库本身可用于NDK sysroot中的所有ABI.所以,我可以为每个flavor或build类型的cmake cmdline添加任何自定义参数:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
externalNativeBuild {
cmake {
arguments "-DMYLIB_ENABLE_PROGUARD=ON"
}
}
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
externalNativeBuild {
cmake {
arguments "-DMYLIB_ENABLE_PROGUARD=OFF"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是能够设置CMAKE_PREFIX_PATH每个ABI以通过FindPackage查找外部静态/共享库.
一般来说,我可以find_library和cmake脚本本身include_directories一起使用${ANDROID_ABI},但是我已经有了多平台支持的工作脚本,我不想添加脏代码,因为有干净的方式(find_package + CMAKE_PREFIX_PATH).
谢谢大家的时间!
| 归档时间: |
|
| 查看次数: |
1666 次 |
| 最近记录: |