URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117967
[ Назад ]

Исходное сообщение
"Релиз системы сборки CMake 3.15"

Отправлено opennews , 20-Июл-19 07:28 
Состоялся (https://blog.kitware.com/cmake-3-15-0-available-for-download/) релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.15 (http://www.cmake.org/), выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код  CMake написан на языке C++  и распространяется под лицензией BSD.

CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, минимальным числом зависимостей (нет привязки к M4, Perl или Python), поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.

Основные улучшения (https://cmake.org/cmake/help/v3.15/release/3.15.html):

-  В генератор сборочных сценариев на базе инструментария Ninja добавлена начальная поддержка языка Swift (https://www.opennet.me/opennews/art.shtml?num=50393), развиваемого компанией Apple;
-  Добавлена поддержка варианта компилятора Clang для Windows, осуществляющего сборку с ABI MSVC, но использующего опции командой строки в стиле GNU;-  Добавлены переменные CMAKE_MSVC_RUNTIME_LIBRARY и MSVC_RUNTIME_LIBRARY для выбора runtime-библиотек, используемых компиляторами на базе ABI MSVC (MS Visual Studio);-  Для компиляторов, подобных MSVC, в CMAKE__FLAGS по умолчанию прекращено перечислений флагов управления выводом предупреждений, таких как "/W3";-  Добавлено выражение генератора "COMPILE_LANG_AND_ID:" для определения опций компилятора для целевых файлов, применяющих переменные CMAKE__COMPILER_ID и LANGUAGE для каждого файла с кодом;
-  В выражения генератора C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID и PLATFORM_ID добавлена поддержка сопоставления одного значения со списком, элементы в котором разделены запятой;-  Добавлена переменная CMAKE_FIND_PACKAGE_PREFER_CONFIG, при которой вызов find_package() будет в первую очередь  выполнять поиск файла конфигурации пакета, даже если доступен модуль поиска;
-  Для интерфейсных библиотек добавлена поддержка установки свойств PUBLIC_HEADER и PRIVATE_HEADER, задаваемых которыми заголовки могут устанавливаться при помощи  команды install(TARGETS) через передачу аргументов PUBLIC_HEADER и PRIVATE_HEADER;-  Добавлена переменная CMAKE_VS_JUST_MY_CODE_DEBUGGING и целевое свойство VS_JUST_MY_CODE_DEBUGGING для включения режима "Just My Code" в отладчике Visual Studio при компиляции с использованием  MSVC cl 19.05 и более новых версий;-  Переработан модуль FindBoost, который теперь более целостно отрабатывает в режимах Config и Module при наличии других модулей поиска;-  В команжу message() добавлена поддержка типов NOTICE, VERBOSE,
    DEBUG и TRACE;-  Команда  "export(PACKAGE)" теперь ничего не делает пока явно не будет включена через переменную CMAKE_EXPORT_PACKAGE_REGISTRY.

URL: https://blog.kitware.com/cmake-3-15-0-available-for-download/
Новость: https://www.opennet.me/opennews/art.shtml?num=51135


Содержание

Сообщения в этом обсуждении
"Релиз системы сборки CMake 3.15"
Отправлено ПерлухаБратуха , 20-Июл-19 07:28 
Годная тулза

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 19:26 
Это ты еще не видел Meson

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 21-Июл-19 02:10 
> Это ты еще не видел Meson

Погоди, он не успевает. Вот закончит переводить свои проекты с autotools на cmake, потом и на мезон можно начать миграцию.


"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 22-Июл-19 15:41 
Как бы к тому времени на замену мезону не придумали очередную стильномодномолодёжную систему сборки. :)

"Релиз системы сборки CMake 3.15"
Отправлено leap42 , 20-Июл-19 09:36 
> CMake примечателен предоставлением простого языка сценариев

проще чем autotools ещё не значит простого...


"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 11:08 
Сам по себе язык там — проще некуда. Проще не вообще autocrap, а любого из используемых в autocrap (m4, shell, make).

"Релиз системы сборки CMake 3.15"
Отправлено Michael Shigorin , 20-Июл-19 16:01 
http://xkcd.com/927/

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 09:41 
Всё лишь бы не фиксить тонну багов, оставленных на официальном GitLab. И это притом, что далеко не каждый будет в этом рекапчном г0вне регистрироваться чтобы оставить баг.

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 11:01 
> добавлена поддержка сопоставления одного значения со списком, элементы в котором разделены запятой

А чего так странно? Вроде ведь в обычных списках в качестве разделителя применяется точка с запятой. Или ошибка в release notes?


"Релиз системы сборки CMake 3.15"
Отправлено Zenitur , 20-Июл-19 12:19 
Мейнтейнер cmake в openSUSE - чудак. Сначала добавил зависимость от пакета rhash. Потом из пакета rhash убрал поддержку SLES 11 (ещё до окончания основной поддержки). Я внёс изменения, чтобы rhash собрался в SLES 11, а следовательно и cmake. Мейнтейнер их принял. Другой мейнтейнер их откатил с комментарием "я не хочу видеть поддержку SLES 11 в своих пакетах"

"Релиз системы сборки CMake 3.15"
Отправлено пох. , 20-Июл-19 14:31 
собственно, то что такие "хотелки" в принципе возможны, и горе-майнтейнер сразу после такого выступления не покидает площадку "при помощи ноги", говорит о том, что на suse можно спокойно ставить крест. На open точно, а на sles...ну, учитывая что без open они нежизнеспособны, и тот патч им даже и прислать некуда, видимо, тоже.

жаль, хорошая была система, пока ее делали пять чехов и полтора немца на деньги novell.


"Релиз системы сборки CMake 3.15"
Отправлено IRASoldier_registered , 20-Июл-19 18:53 
>на suse можно спокойно ставить крест

https://www.dedoimedo.com/computers/opensuse-leap-15-1.html

А ведь Leap по идее должна быть избавлена от шероховатостей Tumbleweed. И это, по идее, SUSE. Но увы, уже не _та самая_.


"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 15:40 
Форкни и собери на OBS, делов-то.

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 20-Июл-19 13:55 
Что ни придумают лишь бы Cargo не использовать.

"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 22-Июл-19 01:53 
Не все хотят учвствовать в культе карго.

"Релиз системы сборки CMake 3.15"
Отправлено Andrey Mitrofanov_N0 , 22-Июл-19 10:17 
> Не все хотят учвствовать в культе карго.

Ога, многомиллионы беженцев, пострадавших от культа...
...табуляции в Makefile, отрабатывают похлёбку в лагерях cmake, рассказывая про свои неимоверные страдания под игом белым каскам,  --  в ожидании политубежища в...
...Свободном Мире  meson.  <///>


"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 21-Июл-19 09:27 
Для меня самое значительное изменение из всех это:

The file(REMOVE) and file(REMOVE_RECURSE) commands were changed to ignore empty arguments with a warning instead of treating them as a relative path and removing the contents of the current directory.

Как же дико это бесило при отладке скриптов.


"Релиз системы сборки CMake 3.15"
Отправлено Аноним , 22-Июл-19 09:52 
Ни разу этим не пользовался. Зачем что-то удалять во время сборки?

"Релиз системы сборки CMake 3.15"
Отправлено Andrey Mitrofanov_N0 , 22-Июл-19 10:19 
> Ни разу этим не пользовался. Зачем что-то удалять во время сборки?

Чтобы наказать неверных,...  не перешедших на Наилучшую Наиновейшую v$( x + -.00001) !