У нас є набір сценаріїв побудови міжплатформних CMake , і ми підтримуємо побудову за допомогою Visual C ++ та GCC .
Ми пробуємо Clang , але я не можу зрозуміти, як перевірити, чи є компілятор Clang за допомогою нашого сценарію CMake.
Що слід перевірити, чи є компілятор Clang чи ні? Наразі ми використовуємо MSVC
та CMAKE_COMPILER_IS_GNU<LANG>
тестуємо Visual C ++ та GCC відповідно.
__GNUC__
і _MSC_VER
, але він не може споживати ті самі програми, що і будь-який компілятор. Виявлення LLVM Clang та Apple Clang має вирішальне значення для забезпечення компіляції та виконання коду, як очікувалося. Мені набридло мати справу з BS Кланг, що ми просто порушуємо компіляцію в Windows . Ми прийняли політику дозволу користувачам скаржитися на LLVM, щоб Clang devs змінив свою поведінку. Також див. Як сказати Клангу, щоб він не прикидався іншими компіляторами?