来自 Android Studio 的本地 CMake 配置



在常规项目中使用 CMake 时,可以通过-D选项或使用ccmakecmake-gui来配置某些变量(例如库路径( 这些值保存在缓存中,这提供了特定于代码的每个用户/开发人员的本地配置。

在Android Studio中,CMake可以从Gradle进行配置,但我无法找到与上述选项等效的选项。local.properties文件可以从 gradle 读取,但它会被 AS 覆盖。

有没有办法将CMake变量设置为Android Studio中的本地值?

示例:在常规的 CMake 项目中,我可以向我的 CMakeList 添加一行.txt例如:

set(EIGEN_DIR /usr/local/include/eigen3 CACHE PATH "Eigen path")

然后两个不同的开发人员可能会将这个值设置为他们的特定系统(即。/usr/local/include/eigen3/opt/local/include/eigen3(而不影响项目源代码。但是,在Android Studio中,唯一的方法似乎是来自build.gradle,这是项目的一部分,并将提交到存储库。

我发现这可以通过将具有所需值的变量放在local.properties文件中来实现,然后使用以下答案中的代码读取它们:

Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file('local.properties')))
String conf_value = props['conf.value']

然后

externalNativeBuild{
cmake {
arguments "-DMY_CONF_VALUE="+conf_value
...
}
}

最新更新