Qbs бүтээх хэрэгслүүдийн эцсийн хувилбарыг нийтэллээ

Qt компани Нийтлэгдсэн угсрах хэрэгсэл Qbs 1.13 (Qt Build Suite). Энэ бол Qt компанийн үйлдвэрлэсэн Qbs-ийн хамгийн сүүлийн хувилбар юм. Өмнө нь юу болсныг санацгаая хүлээн зөвшөөрсөн Qbs-ийг хөгжүүлэхээ зогсоох шийдвэр. Qbs-ийг qmake-г орлуулахаар боловсруулсан боловч эцэст нь CMake-ийг Qt-ийн үндсэн бүтээх систем болгон урт хугацаанд ашиглахаар шийдсэн.

Ойрын ирээдүйд олон нийтийн Qbs-ийг үргэлжлүүлэн хөгжүүлэх бие даасан төсөл бий болох төлөвтэй байгаа бөгөөд хувь заяа нь бие даасан хөгжүүлэгчдийн уг угсралтын системийг сонирхож байгаагаас хамаарна. Qbs-ийг сурталчлахад нэмэлт хөрөнгө оруулалт, өндөр зардал шаардагддаг тул Qt компани Qbs дээр ажиллахаа больсон.

Qbs-г бүтээхийн тулд Qt нь хамааралтай байх шаардлагатай гэдгийг санаарай, гэхдээ Qbs нь өөрөө аливаа төслийн угсралтыг зохион байгуулахад зориулагдсан байдаг. Qbs нь төслийн бүтээх скриптүүдийг тодорхойлохын тулд QML хэлний хялбаршуулсан хувилбарыг ашигладаг бөгөөд энэ нь танд гадаад модулиудыг холбох, JavaScript функцуудыг ашиглах, өөрчлөн бүтээх дүрмийг бий болгох боломжтой уян хатан бүтээх дүрмийг тодорхойлох боломжийг олгодог.
Qbs нь makefile үүсгэдэггүй бөгөөд хөрвүүлэгч болон холбогчийг ажиллуулахад бие даан хяналт тавьж, бүх хамаарлын нарийвчилсан график дээр үндэслэн бүтээх процессыг оновчтой болгодог. Төсөл дэх бүтэц, хамаарлын талаархи анхны өгөгдөл байгаа нь хэд хэдэн урсгал дахь үйлдлүүдийн гүйцэтгэлийг үр дүнтэй зэрэгцүүлэх боломжийг олгодог.

Qbs 1.13 дахь гол шинэчлэлүүд:

  • Qbs модулиудад ашигладаг ижил хамаарлыг боловсруулах механизмыг ашиглан pkg-config модулиудыг төслүүдэд ашиглах боломжийг нэмсэн. Жишээлбэл, хэрэв таны системд pkg-config дээр суурилсан OpenSSL-г бүтээх багц байгаа бол үүнийг Qbs төсөлд ашиглахын тулд 'Depends { name: "openssl" }'-г нэмнэ үү;
  • Боломжтой Qt модулиудын автомат илрүүлэлтийг хэрэгжүүлсэн. Хөгжүүлэгчид setup-qt командыг ашиглан модулийн зам бүхий профайл үүсгэх шаардлагагүй болсон; хамааралд заасан бүх Qt модулийг автоматаар тохируулах болно;
  • Тус тусад нь командын түвшинд зэрэгцэн ажиллаж буй угсралтын ажлын тоог хянах хэрэгслүүд нэмэгдсэн. Жишээлбэл, холбох нь их хэмжээний оролт гаралтын ачааллыг бий болгож, ихээхэн хэмжээний RAM зарцуулдаг тул холбогч нь хөрвүүлэгчээс өөр эхлүүлэх тохиргоог шаарддаг. Одоо “qbs —ажлын хязгаарын холбоос:2, эмхэтгэгч:8” командыг ашиглан тусдаа тохиргоог хийж болно;
  • Скриптийн хэлэнд өөрчлөлт орсон. Дүрмүүдийг гаралтын stub файлыг заахгүйгээр тодорхойлж болох ба төслийн файлуудын эхэнд “import qbs” зааврыг ашиглах шаардлагагүй. Гүйцэтгэх боломжтой файлуудыг суулгахад илүү тохиромжтой байхын тулд Програм, DynamicLibrary болон StaticLibrary элементүүдэд шинэ суулгац, суулгалтын шинж чанарууд нэмэгдсэн;
  • Холбогч скриптүүдийг рекурсив сканнердах дэмжлэгийг нэмсэн
    GNU холбогч;

  • C++-ийн хувьд ld.gold, ld.bfd эсвэл lld холбогчийг хүчээр ашиглахын тулд cpp.linkerVariant шинж чанарыг хэрэгжүүлсэн;
  • Qt том Qt нөөцийг бий болгох Qt.core.enableBigResources өмчийг танилцуулж байна
  • Хуучирсан AndroidApk элементийн оронд ерөнхий хэрэглээний төрлийг ашиглахыг санал болгож байна;
  • Автомат тест дээр үндэслэн тест үүсгэх модулийг нэмсэн;
  • qmake дахь QMAKE_SUBSTITUTES-тэй төстэй чадамжтай текст загвар модулийг нэмсэн;
  • C++ болон Objective-C-д зориулсан Protocol Buffers форматын анхны дэмжлэгийг нэмсэн.

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

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