Mamy zestaw wieloplatformowych skryptów kompilacji CMake i wspieramy budowanie za pomocą Visual C ++ i GCC .
Próbujemy Clang , ale nie mogę dowiedzieć się, jak sprawdzić, czy kompilator jest Clang z naszym skryptem CMake.
Co powinienem przetestować, aby sprawdzić, czy kompilator jest Clang, czy nie? Obecnie używamy MSVC
i CMAKE_COMPILER_IS_GNU<LANG>
do testowania odpowiednio dla Visual C ++ i GCC.
__GNUC__
i _MSC_VER
, ale nie może używać tych samych programów co żaden z kompilatorów. Wykrywanie LLVM Clang i Apple Clang ma kluczowe znaczenie dla zapewnienia, że kod kompiluje się i uruchamia zgodnie z oczekiwaniami. Jestem tak zmęczony radzeniem sobie z BS Clanga, że po prostu przerywamy kompilację w systemie Windows . Przyjęliśmy zasadę pozwalającą użytkownikom na składanie skarg do LLVM, aby deweloperzy Clang zmienili swoje zachowanie. Zobacz także Jak powiedzieć Clangowi, aby przestał udawać inne kompilatory?