ИзданиС Π½Π° систСмата Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ CMake 3.18

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Ρ€Π΅Π»ΠΈΠ· Π½Π° кросплатформСн Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° сцСнарии Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ CMake 3.18, ΠΊΠΎΠΉΡ‚ΠΎ слуТи ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° Autotools ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ΠΈ Blender. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° CMake Π΅ написан Π½Π° C++ ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия BSD.

CMake Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π΅Π½ с простия си сцСнарСн Π΅Π·ΠΈΠΊ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ количСство зависимости (Π±Π΅Π· ΠΏΡ€ΠΈΠ²Ρ€ΡŠΠ·ΠΊΠ° към M4, Perl ΠΈΠ»ΠΈ Python), ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° инструмСнти Π·Π° крос-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ систСми Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° инструмСнти ctest ΠΈ cpack Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° сцСнарии Π·Π° тСстванС ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΈ инструмСнта cmake-gui Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° настройка Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅.

Основни подобрСния:

  • Π—Π° Π΅Π·ΠΈΠΊΠ° CUDA Π΅ осигурСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ с Clang Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Windows. Π Π°Π·Π΄Π΅Π»Π½Π°Ρ‚Π° компилация Π½Π° CUDA всС ΠΎΡ‰Π΅ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½Π° Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° CMake сцСнарии с ΠΎΠΏΡ†ΠΈΠΈ Β«β€”profiling-outputΒ» ΠΈ Β«β€”profiling-formatΒ».
  • ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ add_library() ΠΈ add_executable() сСга ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ†Π΅Π»ΠΈ-псСвдоними (Alias Targets), ΠΊΠΎΠΈΡ‚ΠΎ сС отнасят Π΄ΠΎ нСпряко ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½ΠΈ Ρ†Π΅Π»ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° cmake_language() Π·Π° ΠΌΠ΅Ρ‚Π°-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΡŠΡ€Ρ…Ρƒ скриптовани ΠΈΠ»ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° file(CONFIGURE), Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° configure_file(), Π½ΠΎ с ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π½ΠΈΠ·, Π° Π½Π΅ Π½Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠ° към Ρ„Π°ΠΉΠ».
  • ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ find_program(), find_library(), find_path() ΠΈ find_file() сСга ΠΈΠΌΠ°Ρ‚ опцията REQUIRED, която ΡƒΠΊΠ°Π·Π²Π° Π΄Π° спрС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° с Π³Ρ€Π΅ΡˆΠΊΠ°, Π°ΠΊΠΎ Π½ΠΈΡ‰ΠΎ Π½Π΅ Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Β«CMAKE_CUDA_ARCHITECTURESΒ» Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° CUDA Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° (Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС Π·Π°Π΄Π°Π²Π°, Π°ΠΊΠΎ Β«CMAKE_CUDA_COMPILER_IDΒ» Π΅ Ρ€Π°Π²Π½ΠΎ Π½Π° Β«NVIDIAΒ»).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ свойство Β«UNITY_BUILD_MODEΒ» Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π·Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° (BATCH, GROUP).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠΎΠ΄ΡƒΠ» CheckLinkerFlag Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° корСктността Π½Π° Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅ Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° $, $, $ ΠΈ $.
  • Към инструмСнта ctest Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° CTEST_RESOURCE_SPEC_FILE Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ» със спСцификация Π½Π° рСсурси.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster