Paglabas ng CMake 3.23 build system

Ang ipinakita ay ang paglabas ng cross-platform open build script generator CMake 3.23, na nagsisilbing alternatibo sa Autotools at ginagamit sa mga proyekto tulad ng KDE, LLVM/Clang, MySQL, MariaDB, ReactOS at Blender. Ang CMake code ay nakasulat sa C++ at ipinamahagi sa ilalim ng lisensya ng BSD.

CMake ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ прСдоставлСниСм простого языка сцСнариСв, срСдствами Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ инструмСнтов для кросс-компиляции, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² сборки для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра систСм сборки ΠΈ компиляторов, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ctest ΠΈ cpack для опрСдСлСния сцСнариСв тСстирования ΠΈ сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ cmake-gui для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сборки.

Mga pangunahing pagpapabuti:

  • Π’ Ρ„Π°ΠΉΠ»Ρ‹ Β«cmake-presetsΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Β«includeΒ», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎ мСсту содСрТимоС Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π’ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сборочных сцСнариСв для Visual Studio 2019 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсий Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° csproj-Ρ„Π°ΠΉΠ»ΠΎΠ² .NET SDK для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° языкС C#.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° компилятора IBM Open XL C/C++, основанного Π½Π° LLVM. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ доступСн ΠΏΠΎΠ΄ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ IBMClang.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° компилятора MCST LCC (развиваСтся для процСссоров Π­Π»ΡŒΠ±Ρ€ΡƒΡ ΠΈ SPARC (МЦБВ-R)). ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ доступСн ΠΏΠΎΠ΄ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ LCC.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«install(TARGETS)Β» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Β«FILE_SETΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для установки Π½Π°Π±ΠΎΡ€Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², связанного с Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«target_sources()Β» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Β«FILE_SETΒ», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ c ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.
  • Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Β«CMAKE_CUDA_ARCHITECTURESΒ» ΠΈ свойство Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Β«CUDA_ARCHITECTURESΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Β«allΒ» ΠΈ Β«all-majorΒ» для CUDA toolkit 7.0+.

Pinagmulan: opennet.ru

Magdagdag ng komento