Tenemos un conjunto de scripts de compilación CMake multiplataforma y admitimos la compilación con Visual C ++ y GCC .
Estamos probando Clang , pero no puedo entender cómo probar si el compilador es Clang con nuestro script CMake.
¿Qué debo probar para ver si el compilador es Clang o no? Actualmente estamos usando MSVC
y CMAKE_COMPILER_IS_GNU<LANG>
para probar Visual C ++ y GCC, respectivamente.
__GNUC__
y _MSC_VER
, pero no puede consumir los mismos programas que cualquiera de los compiladores. Detectar LLVM Clang y Apple Clang es crucial para garantizar que el código se compile y se ejecute como se espera. Estoy tan cansado de lidiar con BS de Clang que simplemente rompemos la compilación en Windows . Hemos adoptado la política de permitir que los usuarios se quejen ante LLVM para que los desarrolladores de Clang cambien su comportamiento. También vea ¿Cómo decirle a Clang que deje de fingir ser otros compiladores?