Ich versuche meine bestehenden CMake-Skripte in Android Studio/Gradle zu integrieren. Ich habe es mit CMake generieren und bauen, aber aus welchem Grund auch immer, die CPP-Flags, die ich in meinen CMake-Skripten angeben, werden nicht verwendet, wenn Gradle ausgeführt wird. Ich möchte, dass meine CMake-Skripte die volle Kontrolle über Einstellungen wie -std=c++14
, -fexceptions
usw. haben. Alles was ich wirklich brauche, um Gradle zu erledigen, ist eine Toolchain-Datei zur Angabe der Toolset-Informationen (Compiler, Pfad zu Includes usw.). Ich nehme an, Gradle versucht, mehr Kontrolle über CMake zu erlangen als nötig (zumindest soweit ich das beurteilen kann).Wie kann ich verhindern, dass Gradle/Android Studio die von CMake bereitgestellten C++ - Compilereinstellungen überschreibt?
Gibt es eine Möglichkeit, dass Gradle diese CMake-Einstellungen nicht überschreibt? Es wird mühsam sein, diese Einstellungen zwischen Gradle und CMake-Skripten selbst zu pflegen und zu duplizieren. Bisher bin ich wirklich kein Fan der Gradle-Integration von CMake, sie scheinen ihre eigene, von Hand erstellte Version mit benutzerdefinierten Patches zu verwenden.
Nein, wenn ich direkt mit CMake erzeuge und direkt auf die NDK-Toolchain-Datei zeige, werden meine Compiler-Flags NICHT überschrieben. Es ist definitiv Android Studio/Gradle, das etwas Besonderes macht. Sieht so aus, als ob sie eine separate Toolchain-Datei anstelle der von NDK bereitgestellten verwenden. R12 –
Könnten Sie eine Repro erstellen? –