في هذا الدليل، نستكشف طرقًا للكشف تلقائيًا عما إذا كان المترجم يدعم C 11 في الداخل CMake، يوفر تحليلاً شاملاً لكل من إصدارات CMake الأحدث والسابقة.
قدم الإصدار 3.1.0 من CMake ميزة قوية: الكشف عن ميزات C التي يدعمها مترجم. يتم تحقيق ذلك من خلال الأمر cmake_minimum_required:
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
من خلال تحديد الحد الأدنى لإصدار CMake، يمكنك الوصول إلى المتغير CMAKE_CXX_COMPILE_FEATURES، الذي يسرد كافة الميزات المدعومة ميزات ج. يمكّنك هذا من تحديد معيار C لاستخدامه في مشروعك.
يتيح لك CMake تعيين معيار C بشكل صريح لهدف باستخدام الخاصيتين CXX_STANDARD وCXX_STANDARD_REQUIRED. على سبيل المثال:
set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)
يضمن هذا استدعاء المترجم باستخدام العلامات الصحيحة، مثل -std=c 11.
وبدلاً من ذلك، يمكنك تحديد ميزات C المطلوبة باستخدام الأمر target_compile_features. من هذه القائمة، يمكن لـ CMake استنتاج معيار C المناسب.
target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)
احصل على قائمة ميزات C المدعومة باستخدام CMAKE_CXX_KNOWN_FEATURES.
يوفر CMake طرقًا متعددة لاكتشاف دعم مترجم C 11 وتحديد معيار C. تتيح هذه المرونة تكوينات مخصصة لمشروع C، مما يضمن التوافق والتجميع السلس.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3