Chúng tôi có một bộ các kịch bản xây dựng CMake đa nền tảng và chúng tôi hỗ trợ xây dựng với Visual C ++ và GCC .
Chúng tôi đang thử Clang , nhưng tôi không thể tìm ra cách kiểm tra xem trình biên dịch có phải là Clang với tập lệnh CMake của chúng tôi hay không.
Tôi nên kiểm tra xem trình biên dịch có phải là Clang hay không? Chúng tôi hiện đang sử dụng MSVC
và CMAKE_COMPILER_IS_GNU<LANG>
để kiểm tra Visual C ++ và GCC, tương ứng.
__GNUC__
và _MSC_VER
, nhưng nó không thể tiêu thụ các chương trình tương tự như một trong hai trình biên dịch. Phát hiện LLVM Clang và Apple Clang là rất quan trọng để đảm bảo mã biên dịch và thực thi như mong đợi. Tôi rất mệt mỏi khi phải làm việc với BS của Clang, chúng tôi chỉ phá vỡ phần biên dịch trên Windows . Chúng tôi đã áp dụng chính sách cho phép người dùng khiếu nại với LLVM để các nhà phát triển Clang thay đổi hành vi của họ. Xem thêm Làm thế nào để nói với Clang ngừng giả vờ là trình biên dịch khác?