2017-07-26 22 views
0

私はNDKベースのアプリケーションにAndroid Studio 3.0を使用しています。 C++コードではCMake as the external builderを使用しています。Cmake経由でAndroid Studioのデバッグビルドのコンパイラ最適化を有効にします

これはうまくいく、私はデバッグとリリースのバイナリを作成することができます。

しかし、リリースビルドだけでなく、デバッグビルドのために、C++コードの一部(物理エンジン)のコンパイラ最適化(-O3など)を有効にしたいと思います。

したがって、最適化せずにデバッグビルドの大部分を作成しますが、静的ライブラリターゲットの1つをコンパイラ最適化を有効にしてビルドします。

どうすればこの問題を解決できますか?

私は、最上位レベルのCMakeListsファイルにadd_subdirectory()指示文を使ってインクルードされる静的ライブラリターゲット用のCMakeListを持っています。私はこのように私のアプリのbuild.gradleファイルにトップレベルのCMakeListsを指す

注:

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

答えて

2

それはあなたのような設定の仕様を使用してCMakeLists.txtにtarget_compile_options()マクロを使用することができることが判明これは:

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

このマクロは、既存のコンパイルオプションに追加されます。

関連する問題