Pagpagawas sa CMake 3.18 nga sistema sa pagtukod

Gipasa ni pagpagawas sa usa ka cross-platform open build script generator CMmake 3.18, nga naglihok isip alternatibo sa Autotools ug gigamit sa mga proyekto sama sa KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ug Blender. Ang code sa CMake gisulat sa C++ ug giapod-apod ubos sa lisensya sa BSD.

Nailhan ang CMake sa paghatag ug yano nga sinultian nga scripting, usa ka paagi sa pagpalapad sa pagpaandar pinaagi sa mga module, gamay nga gidaghanon sa mga dependency (walay pagbugkos sa M4, Perl o Python), suporta sa pag-cache, ang presensya sa mga himan alang sa cross-compilation, suporta alang sa paghimo sa pagtukod mga file alang sa usa ka halapad nga mga sistema sa pagtukod ug mga compiler, ang presensya nga ctest ug cpack nga mga gamit alang sa pagtino sa mga script sa pagsulay ug mga pakete sa pagtukod, gamit sa cmake-gui alang sa interactive nga pagpahimutang sa mga parameter sa pagtukod.

nag-unang mga kalamboan:

  • Для языка 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 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности Ρ„Π»Π°Π³ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ выраТСния Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° $<DEVICE_LINK:…>, $<HOST_LINK:…>, $<LINK_LANGUAGE:…> ΠΈ $<LINK_LANG_AND_ID:…>.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ctest Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° пСрСмСнная CTEST_RESOURCE_SPEC_FILE для указания Ρ„Π°ΠΉΠ»Π° со спСцификациСй рСсурсов.

Source: opennet.ru

Idugang sa usa ka comment