เรามีชุดสคริปต์สร้างข้ามแพลตฟอร์ม CMakeและเราสนับสนุนการสร้างด้วยVisual C ++และ GCC
เรากำลังลองเสียงดังกราวแต่ฉันไม่สามารถหาวิธีทดสอบได้ว่า Compiler นั้นเป็น Clang กับสคริปต์ CMake ของเราหรือไม่
สิ่งที่ฉันควรทดสอบเพื่อดูว่าคอมไพเลอร์เป็นเสียงดังกราวหรือไม่? ขณะนี้เรากำลังใช้MSVC
และCMAKE_COMPILER_IS_GNU<LANG>
ทดสอบ Visual C ++ และ GCC ตามลำดับ
__GNUC__
และ_MSC_VER
แต่มันไม่สามารถใช้โปรแกรมเดียวกันกับคอมไพเลอร์ตัวใดตัวหนึ่งได้ การตรวจจับ LLVM Clang และ Apple Clang นั้นมีความสำคัญอย่างยิ่งในการตรวจสอบให้แน่ใจว่าโค้ดรวบรวมและดำเนินการตามที่คาดไว้ ฉันเหนื่อยมากในการจัดการกับเสียงดังกราวของ BS เราก็ทำลายรวบรวมบนวินโดวส์ เราได้นำนโยบายการอนุญาตให้ผู้ใช้ร้องเรียนไปยัง LLVM ดังนั้น Clang devs จึงเปลี่ยนพฤติกรรมของพวกเขา ดูวิธีการบอก Clang ให้หยุดแกล้งทำเป็นคอมไพเลอร์คนอื่น ๆ ด้วย?