Выпуск сборочного инструмСнтария Qbs 1.16

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск сборочного инструмСнтария Qbs 1.16. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ выпуск послС ΡƒΡ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Qt Company ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ силами сообщСства, заинтСрСсованного Π² ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Qbs. Для сборки Qbs Π² числС зависимостСй трСбуСтся Qt, хотя сам Qbs рассчитан Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ сборки Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Qbs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка QML для опрСдСлСния сцСнариСв сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ достаточно Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° сборки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ внСшниС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° JavaScript ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° сборки.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Qbs язык сцСнариСв Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π° сцСнариСв сборки ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Qbs Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ make-Ρ„Π°ΠΉΠ»Ρ‹, Π° сам, Π±Π΅Π· посрСдников, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° make, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ запуск компиляторов ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ², оптимизируя процСсс сборки Π½Π° основС Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° всСх зависимостСй. НаличиС ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ структурС ΠΈ зависимостях Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ позволяСт эффСктивно Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², состоящих ΠΈΠ· большого числа Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ пСрСсборки с использованиСм Qbs ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Ρ‚ΡŒ make Π² Ρ€Π°Π·Ρ‹ — пСрСсборка выполняСтся ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ Π½Π΅ заставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.

Напомним, Ρ‡Ρ‚ΠΎ Π² 2018 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Qt Company Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Qbs. Qbs развивался ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° qmake, Π½ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CMake Π² качСствС основной сборочной систСмы для Qt Π² долгосрочной пСрспСктивС. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Qbs Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ нСзависимого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ силами сообщСства ΠΈ заинтСрСсованными Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инфраструктура Qt Company.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Qbs 1.16:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ слияниС списочных свойств Π² модулях, связанных Π²Π·Π°ΠΈΠΌΠ½Ρ‹ΠΌΠΈ зависимостями, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π»Π°Π³ΠΎΠ², ΠΊΠ°ΠΊ cpp.staticLibraries;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ GCC ΠΈ IAR для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Renesas;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Xcode 11.4 Π² macOS;
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности модуля ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ clang-cl;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ MSVC, clang-cl ΠΈ MinGW Π² профилях, Π³Π΄Π΅ явно Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ мСстополоТСниС инструмСнтария;
  • Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ настройка ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ устанавливаСмой ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (cpp.separateDebugInformation) Ρ‡Π΅Ρ€Π΅Π· сСкции Application ΠΈ DynamicLibrary Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Qt 5.14 для Android ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° qbs-setup-android;
  • Π’ настройки Qt.core.generateMetaTypesFile ΠΈ Qt.core.metaTypesInstallDir Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JSON-Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ moc (Qt >= 5.15);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прСдставлСнного Π² Qt 5.15 Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° дСкларирования Ρ‚ΠΈΠΏΠΎΠ² для QML;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка ConanfileProbe для упрощСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Qbs с ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Conan (для C/C++).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru