将CMake项目包含到AOSP构建中

4

我有一个基于Android NDK的应用程序,使用cmake构建,我希望将该项目集成到AOSP构建中,并将其包含在生成的Android镜像中。然而,在AOSP构建系统中似乎没有直接启动cmake构建的可能性。

例如,在android-7.1.1._r35源树中,zlib-external具有CMakeLists.txt文件,但另外还有一个Android.mk文件,实际上似乎是用于与AOSP一起编译而非使用cmake。这两个文件中都复制了构建说明:

external/zlib/src/CMakeLists.txt
external/zlib/Android.mk

由于该项目有相当多的源文件(约1500个cpp文件),因此我试图避免繁琐的任务,即转换和维护额外的构建系统。

是否可以从基于Android.mk的构建系统中调用cmake构建,还是我必须编写一个Android.mk文件来构建我的应用程序?如果可以调用cmake,如何做到呢?

3个回答

1

0

在AOSP构建系统中无法构建cmake项目。


感谢您的建议。你是否偶然知道将CMake功能整合到构建系统中的未来计划? - andreas-hofmann
没有计划。这通常不是我们在AOSP中采取的方法。如果我们只是用我们自己的构建语言重写构建文件,而不是试图将几种不同的构建系统混合在一起,系统的工作效果会好得多。 - Dan Albert

0
  1. 添加一个shell脚本来运行cmake和make命令
  2. 在Android.mk文件中调用shell脚本,如下所示:
    SHELL_RESULT := $(shell ($(LOCAL_PATH)/run_cmake.sh))
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接