通过 Cmake 为 Android Studio 调试构建启用编译器优化



我正在使用Android Studio 3.0来开发基于NDK的应用程序。 对于C++代码,我使用 CMake 作为外部构建器。

这很好用,我可以创建调试和发布二进制文件。

但是,我想为C++代码的一部分(物理引擎(打开编译器优化(例如 -O3(,不仅针对发布版本,还针对调试版本。

因此,在不进行优化的情况下按原样创建大部分调试版本,但是,我希望在启用编译器优化的情况下构建静态库目标之一。

我该怎么做?

我有一个静态库目标的 CMakeLists,它使用 add_subdirectory(( 指令包含在顶级 CMakeLists 文件中。

请注意,我指向应用程序的 build.gradle 文件中的顶级 CMakeLists,如下所示:

externalNativeBuild {
cmake {
path '../../Android/jni/CMakeLists.txt'
}
}

事实证明,您可以在 CMakeList 中使用 target_compile_options(( 宏.txt配置规范如下:

target_compile_options(opende PRIVATE
"$<$<CONFIG:RELEASE>:-O3>"
"$<$<CONFIG:DEBUG>:-O3>"
)

此宏添加到现有的编译选项中。

最新更新