Wie für die verschiedenen compiler-Optionen für die verschiedenen Compiler in cmake?

Derzeit arbeite ich auf mit cmake bauen einige Projekte, mit den wichtigsten Plattformen werden der Visual-C++, MinGW GCC und Linux-GCC. Wenn Gebäude mit GCC, muss ich angeben, die -Wno-invalid-offsetof compiler-option.

Mein Aktuelles Update ist wie folgt...

if (   "${CMAKE_GENERATOR}" MATCHES "^Visual Studio"
    OR "${CMAKE_GENERATOR}" MATCHES "^NMake"
   )
    set (CPPLIB_COMPILER_OPTS "")
else ()
    set (CPPLIB_COMPILER_OPTS "-Wno-invalid-offsetof")
endif ()

...

set_target_properties(sh_core PROPERTIES COMPILE_FLAGS "${CPPLIB_COMPILER_OPTS}")
# repeated for all targets

Dies funktioniert, aber unter der Annahme, dass alle Generatoren, die andere als der visual studio lieben build mit gcc ist natürlich unsicher. Für einen start, es gibt IIRC Generatoren für Borland-Compiler. Noch wichtiger ist, mit zu machen bedeutet nicht immer mit dem gcc Compiler.

Anderen Compilern ich bin wahrscheinlich zu verwenden sind llvm-gcc und clang. Zum Glück, glaube ich, auch clang unterstützt gcc-kompatiblen Optionen. Aber diese Logik ist nur gut, solange der entsprechende code nie freigegeben.

Cmake erscheint, überprüfen Sie die verfügbaren Compiler und ein makefile erzeugen, speziell für diesen compiler (was die Frage aufwirft - warum nicht zumindest die Möglichkeit haben, bauen Sie das Projekt direkt, ohne die Notwendigkeit für ein Mitte-Mann, wie machen?).

Wenn das der Fall ist, ich hatte gehofft, um testen zu können, direkt für den gcc in meinem CMakeLists.txt -Dateien. So weit, obwohl, ich kann nicht finden, eine geeignete variable, um zu testen, oder andere offensichtliche Lösung.

Ist das möglich?

InformationsquelleAutor Steve314 | 2010-06-28
Schreibe einen Kommentar