我正在使用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>"
)
此宏添加到现有的编译选项中。