ការចេញផ្សាយប្រព័ន្ធស្ថាបនា CMake 3.17.0

ណែនាំ ការចេញផ្សាយកម្មវិធីបង្កើតស្គ្រីបប្រភពបើកចំហឆ្លងវេទិកា CMake ៣.១៧ដែលដើរតួជាជម្រើសមួយសម្រាប់ Autotools និងត្រូវបានប្រើនៅក្នុងគម្រោងដូចជា KDE, LLVM/Clang, MySQL, MariaDB, ReactOS និង Blender ។ កូដ CMake ត្រូវបានសរសេរជា C ++ និងចែកចាយក្រោមអាជ្ញាប័ណ្ណ BSD ។

CMake គឺគួរឱ្យកត់សម្គាល់សម្រាប់ការផ្តល់នូវភាសាស្គ្រីបសាមញ្ញ មធ្យោបាយនៃការពង្រីកមុខងារតាមរយៈម៉ូឌុល ចំនួនអប្បបរមានៃភាពអាស្រ័យ (គ្មានការភ្ជាប់ជាមួយ M4, Perl ឬ Python) ការគាំទ្រឃ្លាំងសម្ងាត់ ឧបករណ៍ចងក្រងឆ្លងកាត់ ការគាំទ្រសម្រាប់ការបង្កើតឯកសារស្ថាបនាសម្រាប់ជួរដ៏ធំទូលាយមួយ។ នៃប្រព័ន្ធស្ថាបនា និងអ្នកចងក្រង ឧបករណ៍ប្រើប្រាស់ ctest វត្តមាន និង cpack ដើម្បីកំណត់ស្គ្រីបសាកល្បង និងការបង្កើតកញ្ចប់ ឧបករណ៍ប្រើប្រាស់ cmake-gui ដើម្បីកំណត់រចនាសម្ព័ន្ធជម្រើសស្ថាបនាអន្តរកម្ម។

សំខាន់ ការកែលម្អ:

  • Добавлен новый генератор сборочных сценариев на базе инструментария Ninja — «Ninja Multi-Config», отличающийся от старого генератора возможностью обработки за раз сразу нескольких сборочных конфигураций.
  • В генераторе сборочных сценариев для Visual Studio បានបង្ហាញខ្លួន возможность определения файлов с исходными текстами, привязанных к каждой конфигурации (per-config sources).
  • В средства для настройки параметров компилятора (Compile Features) добавлена возможность задания мета-параметров для CUDA («cuda_std_03», «cuda_std_14» и т.п).
  • Добавлены переменные «CMAKE_CUDA_RUNTIME_LIBRARY» и «CUDA_RUNTIME_LIBRARY» для выбора типа runtime-библиотек при использовании CUDA.
  • Добавлен модуль «FindCUDAToolkit» для определения доступного в системе инструментария CUDA без включения языка CUDA.
  • В утилиту cmake добавлена команда «—debug-find» для вывода дополнительной читаемой диагностики при выполнении операций поиска. Для аналогичных целей добавлена переменная CMAKE_FIND_DEBUG_MODE.
  • В модуль «FindCURL» добавлена поддержка поиска инструментария CURL при помощи генерируемых cmake файлов конфигурации «CURLConfig.cmake». Для отключения указанного поведения предусмотрена переменная CURL_NO_CURL_CMAKE.
  • В модуль FindPython добавлена возможность поиска компонентов Python в виртуальных окружениях, управляемых при помощи «conda».
  • В утилиту ctest добавлены опции «—no-tests=[error|ignore]» для определения поведения в случае отсутствия тестов и «—repeat» для задания условий повторного запуска тестов (until-pass, after-timeout).
  • Обеспечен перенос свойств сборочной цели INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES и INTERFACE_LINK_DEPENDS в числе внутренних зависимостей статически собираемых библиотек.
  • При использовании инструментария MinGW по умолчанию отключён поиск DLL-файлов командой find_library (вместо этого по умолчанию осуществляется попытка импортирования библиотек «.dll.a»).
  • Логика выбора утилиты ninja в генераторе Ninja теперь не зависит от названия исполняемого файла — используется первая попавшаяся утилита ninja-build, ninja или samu, найденная в путях, определённых через переменную окружения PATH.
  • В утилиту cmake добавлена команда «-E rm», которую можно использовать для удаления файлов и каталогов вместо раздельных команд «-E remove» и «-E remove_directory».

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់