Bir dizi çapraz platform CMake derleme betiğimiz var ve Visual C ++ ve GCC ile oluşturmayı destekliyoruz .
Clang'ı deniyoruz , ancak CMake betiğimizle derleyicinin Clang olup olmadığını nasıl test edeceğimizi anlayamıyorum.
Derleyicinin Clang olup olmadığını görmek için ne test etmeliyim? Şu anda sırasıyla Visual C ++ ve GCC'yi test etmek için MSVC
ve kullanıyoruz CMAKE_COMPILER_IS_GNU<LANG>
.
__GNUC__
ve _MSC_VER
fakat her iki derleyici aynı programlar tüketmek olamaz. LLVM Clang ve Apple Clang'ı algılamak, kodun beklendiği gibi derlenmesini ve yürütülmesini sağlamak için çok önemlidir. Clang BS ile uğraşmaktan çok yoruldum, sadece Windows'daki derlemeyi bozuyoruz . Clang geliştiricilerinin davranışlarını değiştirmesi için kullanıcıların LLVM'ye şikayet etmesine izin verme politikasını kabul ettik. Ayrıca bkz. Clang'a diğer derleyicilermiş gibi davranmayı bırakmasını nasıl söyleyebilirim?