Nous avons un ensemble de scripts de construction CMake multiplateformes et nous prenons en charge la construction avec Visual C ++ et GCC .
Nous essayons Clang , mais je ne peux pas comprendre comment tester si le compilateur est ou non Clang avec notre script CMake.
Que dois-je tester pour voir si le compilateur est Clang ou non? Nous utilisons actuellement MSVC
et CMAKE_COMPILER_IS_GNU<LANG>
pour tester respectivement Visual C ++ et GCC.
__GNUC__
et _MSC_VER
, mais il ne peut pas consommer les mêmes programmes que l'un ou l'autre des compilateurs. La détection de LLVM Clang et Apple Clang est cruciale pour garantir que le code se compile et s'exécute comme prévu. Je suis tellement fatigué de traiter avec BS de Clang que nous cassons la compilation sous Windows . Nous avons adopté la politique de laisser les utilisateurs se plaindre à LLVM afin que les développeurs de Clang changent de comportement. Voir aussi Comment dire à Clang d'arrêter de se faire passer pour d'autres compilateurs?