CMake 3.15 бүтээх системийн хувилбар

болсон платформ хоорондын нээлттэй скрипт үүсгэгчийг гаргах CMake 3.15, энэ нь Autotools-ийн өөр хувилбар болж, KDE, LLVM/Clang, MySQL, MariaDB, ReactOS болон Blender зэрэг төслүүдэд ашиглагддаг. CMake код нь C++ хэл дээр бичигдсэн бөгөөд BSD лицензийн дагуу түгээгддэг.

CMake нь энгийн скрипт хэл, модулиар дамжуулан функцийг өргөтгөх хэрэгсэл, хамгийн бага тооны хамаарал (M4, Perl эсвэл Python-д холбогдоогүй), кэшийн дэмжлэг, хөндлөн эмхэтгэл хийх хэрэгслүүд, бүтэц үүсгэх дэмжлэг зэргээрээ онцлог юм. өргөн хүрээний бүтээх систем болон хөрвүүлэгчийн файлууд, тестийн скриптүүд болон бүтээх багцуудыг тодорхойлоход зориулагдсан ctest болон cpack хэрэгслүүд, бүтээх параметрүүдийг интерактив байдлаар тохируулах cmake-gui хэрэгсэл.

Үндсэн сайжруулалт:

  • Нинжа дээр суурилсан бүтээх скрипт үүсгэгч дээр хэлний анхны дэмжлэг нэмэгдсэн Swift, Apple-ийн боловсруулсан;
  • MSVC ABI-ээр бүтээгдсэн Windows-д зориулсан Clang хөрвүүлэгчийн хувилбарт дэмжлэг нэмсэн боловч GNU загварын командын мөрийн сонголтуудыг ашигладаг;
  • MSVC ABI (MS Visual Studio) дээр суурилсан хөрвүүлэгчдийн ашигладаг ажиллах цагийн санг сонгохын тулд CMAKE_MSVC_RUNTIME_LIBRARY болон MSVC_RUNTIME_LIBRARY хувьсагчдыг нэмсэн;
  • MSVC зэрэг хөрвүүлэгчийн хувьд CMAKE__FLAGS анхдагч байдлаар "/W3" гэх мэт анхааруулах хяналтын тугуудыг жагсаахыг зогсоодог;
  • Кодын файл бүрийн CMAKE__COMPILER_ID болон LANGUAGE хувьсагчдыг ашиглан зорилтот файлуудын хөрвүүлэгчийн сонголтыг тодорхойлохын тулд "COMPILE_LANG_AND_ID:" үүсгэгч илэрхийллийг нэмсэн;
  • Генераторын илэрхийлэлд C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID болон PLATFORM_ID нь элементүүд нь таслалаар тусгаарлагдсан жагсаалтад нэг утгыг тааруулах дэмжлэгийг нэмсэн;

  • CMAKE_FIND_PACKAGE_PREFER_CONFIG хувьсагчийг нэмсэн тул find_package()-г дуудах нь тухайн багцын тохиргооны файлыг хайж олох боломжтой байсан ч гэсэн эхлээд хайх болно;
  • Интерфейсийн номын сангийн хувьд PUBLIC_HEADER болон PRIVATE_HEADER аргументуудыг дамжуулж install(TARGETS) командыг ашиглан толгой хэсгийг тохируулах боломжтой PUBLIC_HEADER болон PRIVATE_HEADER шинж чанаруудыг тохируулах дэмжлэг нэмэгдсэн;
  • MSVC cl 19.05 болон түүнээс дээш хувилбаруудыг ашиглан хөрвүүлэх үед Visual Studio дибаг хийгчийн "Зүгээр л миний код" горимыг идэвхжүүлэхийн тулд CMAKE_VS_JUST_MY_CODE_DEBUGGING хувьсагч болон зорилтот шинж чанарыг VS_JUST_MY_CODE_DEBUGGING нэмсэн;
  • FindBoost модулийг дахин зохион бүтээсэн бөгөөд энэ нь одоо бусад хайлтын модулиудад Тохиргоо болон Модуль горимд илүү цогцоор ажилладаг;
  • message() тушаал нь одоо NOTICE, VERBOSE,
    DEBUG болон MRACE;

  • CMAKE_EXPORT_PACKAGE_REGISTRY хувьсагчаар дамжуулан тодорхой идэвхжүүлээгүй тохиолдолд "export(PACKAGE)" команд нь одоо юу ч хийхгүй.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх