Temos um conjunto de scripts de construção CMake de plataforma cruzada e oferecemos suporte à criação com Visual C ++ e GCC .
Estamos testando o Clang , mas não consigo descobrir como testar se o compilador é ou não o Clang com nosso script CMake.
O que devo testar para ver se o compilador é Clang ou não? No momento, estamos usando MSVC
e CMAKE_COMPILER_IS_GNU<LANG>
para testar o Visual C ++ e o GCC, respectivamente.
__GNUC__
e _MSC_VER
, mas não pode consumir os mesmos programas que qualquer compilador. A detecção do LLVM Clang e do Apple Clang é crucial para garantir que o código seja compilado e executado conforme o esperado. Estou tão cansado de lidar com o BS de Clang que acabamos de quebrar a compilação no Windows . Adotamos a política de permitir que os usuários se queixem ao LLVM para que os desenvolvedores do Clang alterem seu comportamento. Veja também Como dizer ao Clang para parar de fingir ser outros compiladores?