The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск сборочной системы Meson 0.52

09.10.2019 10:18

Опубликован релиз сборочной системы Meson 0.52, которая используется для сборки таких проектов, как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK+. Код Meson написан на языке Python и поставляется под лицензией Apache 2.0.

Ключевой целью развития Meson является обеспечение высокой скорости сборочного процесса в сочетании с удобством и простотой использования. Вместо утилиты make при сборке по умолчанию применяется инструментарий Ninja, но возможно применение и других бэкендов, таких как xcode и VisualStudio. В систему встроен многоплатформенный обработчик зависимостей, позволяющий использовать Meson для сборки пакетов для дистрибутивов. Правила сборки задаются на упрощённом предметно-ориентированном языке, отличаются хорошей читаемостью и понятны пользователю (по задумке авторов разработчик должен тратить минимум времени на написание правил).

Поддерживается кросс-компиляция и сборка в Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

Основные новшества Meson 0.52:

  • Добавлена экспериментальная поддержка Webassembly с использованием в качестве компилятора Emscripten;
  • Существенно улучшена и доведена до рабочего состояния поддержка платформ Illumos и Solaris;
  • Обеспечено игнорирование сценариев интернационализации на базе gettext в случае отсутствия в системе установленного инструментария gettext (ранее при использовании модуля i18n на системах без gettext выводилась ошибка);
  • Улучшена поддержка статических библиотек. Решены многие проблемы при использовании деинсталлированных статических библиотек;
  • Добавлена возможность использования словарей для назначения переменных окружения. При вызове environment() в качестве первого элемента теперь можно указать словарь, в котором переменные окружения определены в форме ключ/значение. Данные переменные будут перенесены в environment_object как если бы они по отдельности устанавливались через метод set(). Словари также теперь могут передаваться в различные функции, поддерживающие аргумент "env";
  • Добавлена функция "runtarget alias_target(target_name, dep1, ...)", создающая новую сборочную цель первого уровня, которую можно вызывать с выбранным сборочным бэкендом (например, "ninja target_name"). Данная сборочная цель не запускает никакие команды, но обеспечивает сборку всех зависимостей;
  • Обеспечена автоматическая установка переменной окружения PKG_CONFIG_SYSROOT_DIR при кросс-компиляции при наличии настройки sys_root в секции "[properties]";
  • Добавлена опция "--gdb-path" для определения пути к отладчику GDB при указании опции "--gdb testname" для запуска GDB с указанным тестовым сценарием;
  • Добавлено автоматическое определение сборочной цели clang-tidy для запуска этого linter-а со всеми исходными файлами. Цель создаётся при наличии в системе clang-tidy и определении в корне проекта файла ".clang-tidy" (или "_clang-tidy");
  • Добавлена зависимость dependency('blocks') для использования в Clang расширения Blocks;
  • Разделены представления компоновщика и компилятора, что позволяет использовать разные сочетания компиляторов и компоновщиков;
  • В объекты SourceSet добавлен метод all_dependencies() в дополнение к методу all_sources();
  • В run_project_tests.py появилась опция "--only" для выборочного запуска тестов (например, "python run_project_tests.py --only fortran python3");
  • В функции find_program() добавлена возможность поиска только требуемых версий программы (версия определяется через запуск программы с опцией "--version");
  • Для управления экспортом символов в функцию shared_module() по аналогии с shared_library() добавлена опция vs_module_defs;
  • Расширены возможности модуля kconfig, который теперь поддерживает configure_file() для определения входного файла;
  • В configure_file() добавлена возможность указания нескольких входных файлов для обработчиков "command:";
  • Команда "dist" для создания архива переведена в разряд команд первого уровня (ранее команда была привязана к ninja). Добавлена опция "--formats" для определения типов создаваемых архивов (например, "meson dist --formats=xztar,zip").


  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: Выпуск сборочной системы Meson 0.51
  3. OpenNews: Доступна система сборки Meson 0.42, на которую переходят systemd, GTK+ и GNOME
  4. OpenNews: Разработчик языка XL опубликовал новую сборочную систему build
  5. OpenNews: Проект Qt прекращает разработку сборочной системы Qbs в пользу CMake
  6. OpenNews: Релиз системы сборки CMake 3.15
Лицензия: CC-BY
Тип: Программы
Ключевые слова: meson, build
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (71) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:31, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Когда уже можно будет сделать Deb пакет и загрузить на сервер прямо из Meson?
     
     
  • 2.2, Аноним (2), 10:37, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Сегодня можно, вроде бы никто не против.
     
     
  • 3.3, Аноним (3), 10:55, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вот уж нет я не разрешал делать такого. Такое можно будет делать только после выхода systemd-mesond, а до этого я буду считать это нарушением лицензионного соглашения.
     
     
  • 4.44, Аноним (44), 21:49, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты опшшять выпшшшодишшшь на пшшшвязь?
     
  • 3.8, Аноним (8), 12:29, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мейнтейнеры Debian против.
     
     
  • 4.15, anonymous (??), 14:07, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не мешает иметь сопровождать свой репозиторий.
     
  • 4.48, Аноним (44), 22:30, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    шли бы они со своим NIH-синдромом. их дебхелпер неюзабебен чуть более, чем полностью.
     
  • 3.36, Аноним (36), 18:55, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так не реализовано же? Смотрим по ссылке https://mesonbuild.com/Creating-Linux-binaries.html и видим только .tar.gz можно сделать с исходниками или установить в систему и то не ясно в DIST_DIR?
     
     
  • 4.49, Аноним (44), 22:31, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У меня есть имплементация. Но я её ещё не релизнул.
     

  • 1.4, Аноним (3), 10:57, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Только CMake только хардкор.
     
     
  • 2.7, Аноним (8), 12:26, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ну если хардкор, то Automake
     
     
  • 3.9, заминированный тапок (?), 12:34, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +12 +/
    руками, самописными shell-скриптами
    готовую систему автосборки им видете ли подавайте
     
  • 2.58, Корец (?), 08:21, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если хардкор, то ручками команды, как в LFS :)
     
     
  • 3.72, Аноним (72), 09:07, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    LFS на 99% состоит из команд запуска готовых сборочных систем в пакетах, вы о чём вообще?
     

  • 1.5, user90 (?), 11:02, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На мезон уже достаточно говна вылили, повторяться не стану. Но вот это:

    > позволяющий использовать Meson для сборки пакетов для дистрибутивов
    > Правила сборки задаются на упрощённом предметно-ориентированном языке

    - вот точно упоротые. Та же rpmbuild собирает пакет по банальному спеку.  Для фигак фигак и в продакшн все уже давно есть! :) И без всяких нетрадиционно-ориентированных йазыков.

     
     
  • 2.19, Ан (??), 15:10, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если они сами делают спек и/или debhelper, то это много упрошает, много стандартизирует.

    Самому всю эту скуку расписывать скушно.

     
  • 2.22, Аноним (22), 15:23, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Та же rpmbuild собирает пакет по банальному спеку.

    А та же dpkg-buildpackage — по банальному rules. Вот только когда надо собирать и deb, и rpm, приходится писать и то, и другое. А ещё бывают слаковские, фряшные, соляровские и прочие пакеты. Поэтому и существуют всякие обёртки, чтобы собирать пакеты разных форматов по одному определению (epm, cpack, fpm…). Да, они либо не позволяют использовать все фичи пакета, либо не дают полной абстракции от конкретного формата, но всё же иногда упрощают жизнь. Нет, не майнтейнерам дистрибутивов.

     
     
  • 3.31, user90 (?), 17:33, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот только когда надо собирать и deb, и rpm

    checkinstall например.
    Конечно, годилось не в 100% случаев, но зато процесс шел автоматически.

    > А ещё бывают слаковские, фряшные, соляровские и прочие пакеты.

    И даже те, о которых ты скорее всего никогда не слышал ;) Но охватить все в рамках одной тулзы все равно не выйдет.

     
     
  • 4.40, Аноним (22), 19:55, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > checkinstall например

    Он умеет примерно ничего, к тому же его ломают частенько. И автоматизации поддаётся с трудом.

    > охватить все в рамках одной тулзы все равно не выйдет

    Моя очередь быть К. О.
    *Все* никому и не нужны. Нужно какое-то подмножество.

     
  • 2.27, llolik (ok), 15:33, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот эту фразу в новости я как-то не совсем понял.
    Там есть работа с pkg-config, возможность сделать разнообразные install-targets, возможность запускать скрипты перед/после install-targets. И есть аналог make dist, только оно берёт не всё содержимое каталога, а git HEAD. Собственно, всё.

    Если предполагают там аналог CPack, то его там нет. Скрипты сборки пакетов всё равно надо писать ручками.

    Официальная дока
    https://mesonbuild.com/Creating-releases.html
    https://mesonbuild.com/Creating-Linux-binaries.html
    https://mesonbuild.com/Creating-OSX-packages.html

     
  • 2.45, Аноним (44), 21:50, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >rpmbuild собирает пакет по банальному спеку.

    говнецо что rpmbuild, что debhelper.

     
     
  • 3.69, Аноним (69), 23:28, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по твоему комментарию, ты даже не знаешь, что такое debhelper. (Подсказка: это даже близко не аналог rpmbuild.)
     
     
  • 4.70, Michael Shigorin (ok), 00:17, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Судя по твоему комментарию, ты даже не знаешь, что такое debhelper.
    > (Подсказка: это даже близко не аналог rpmbuild.)

    Возможно, Вы тоже не в курсе, что такое rpmbuild -- загляните когда-нибудь в ближайший /usr/lib/rpm/ (особенно в технически развитых дистрибутивах).

     
     
  • 5.73, Аноним (69), 09:55, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Заглянул. Макроса %do_zaebis не нашёл, то есть аналога dh нет.
     
     
  • 6.74, Аноним (69), 10:02, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да и вообще речь не об этом, а о том, что dh — всего лишь необязательная вспомогательная тулза.
     

  • 1.6, Аноним (8), 12:22, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Код Meson написан на языке Python

    Чем он тогда лучше/хуже Scons?

     
     
  • 2.10, Аноним (10), 12:53, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Meson более строгий и узконаправленный. Файлы scons ничем не отличаются от питона, поэтому достаточно сложно выработать общий code style чтобы не было бардака. Если что нетак поправьте.
     
  • 2.12, Michael Shigorin (ok), 13:20, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Scons писали ещё более неграмотные...

    https://lists.altlinux.org/pipermail/smoke-room/2019-September/062591.html

     
     
  • 3.26, alex (??), 15:27, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я как разработчик ПО, в гробу видал такие системы сборки которые откуда то там берут опции компиляции.
    И не царское(системы сборки) это дело думать о каких то там CFLAGS/CXXFLAGS .

    Так вот, если писатель скрипта сборки игнорит чего то там из инвайрмента, то это не проблема системы сборки.

     
     
  • 4.30, Аноним (10), 17:16, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сразу видно человек-сборка на страже систем сборки.
     
  • 4.41, Аноним (22), 20:01, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не царское(кодера) это дело думать о каких то там CFLAGS/CXXFLAGS .

    Вот так будет правильно. Флаги какой-то там конкретной реализации компилятора должны быть проблемой системы сборки.

     
  • 2.16, Андрей (??), 14:27, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А waf?
     
     
  • 3.23, Аноним (22), 15:25, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прежде чем вообще употреблять такие слова, собери хотя бы разок свежую самбу [i]кроссом[/i].
     
  • 2.18, Аноним (18), 14:44, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скунс не может в --help
     
  • 2.32, Аноним (32), 17:46, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Scons вообще за систему сборки нельзя считать - на самом деле это недофреймворк ... текст свёрнут, показать
     
     
  • 3.46, Аноним (44), 21:52, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >meson хоть и ненужная маргинальщина

    redhat некоторые пакеты для dnf собирает мезоном

    mesa тоже собирается мезоном.

     

  • 1.11, Аноним (11), 13:10, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Что такое Wayland и зачем его собирать?
     
     
  • 2.21, Аноним (8), 15:23, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А что такое systemd и зачем его собирать?
     
     
  • 3.59, Корец (?), 08:23, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ненужноД не надо собирать - мейнтейнеры твоего дистра уже всё сделали за тебя :D
     
  • 2.34, Аноним (34), 18:15, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Wayland - протокол
     

  • 1.13, Аноним (13), 13:29, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Python - слишком жырная зависимость для сборочной системы.
     
     
  • 2.20, Андрей (??), 15:19, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот бы на Go написали. Был бы нативный статический бинарник. На любой ОС.
     
     
  • 3.25, Аноним (22), 15:26, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На Go написали qo. Но забросили, к сожалению. А выглядело весьма перспективно.
     
  • 3.43, user (??), 21:23, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я ему не доверяю, потому что он сам что-то скачивает.
     
     
  • 4.52, Аноним (69), 01:11, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ничего он сам не скачивает. Только если попросишь.
     
  • 3.68, Аноним (68), 23:08, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Скомпилируй нативный статический бинарник на джава. Хотя можешь и питон нативно статически скомпилировать на любой ОС, разве что выкинуть либпитон отовсюду всё же не выйдет не избавившить от, собственно, питона. Джава правда только на линуксе (я не про gcj), там субсет джавы в 1000 раз более эффективный, но компилируется обычная жаба вроде бы, без хотспотов.
     
  • 3.71, Michael Shigorin (ok), 00:19, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вот бы на Go написали. Был бы нативный статический бинарник. На любой  ОС.

    Кодогенератор принесёте?

     
  • 2.37, Аноним (36), 19:01, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нормальная зависимость. Собираю в одном проекте как зависимый проект ;)
     
  • 2.47, Аноним (44), 21:55, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Двачую. bazel покомпактнее будет.
     
     
  • 3.53, Аноним (69), 01:12, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > bazel покомпактнее будет.

    Этот тот, у которого жаба в зависимостях? Надеюсь, это был сарказм?

     
     
  • 4.55, Аноним (44), 02:46, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    анаконда - 2 гига и час установки на hdd  (а что либо другое на винду-десктоп смысла не имеет ставить, для линуксовых хостов питон несущественен - без него ни одна десктопная система не работает. CI, разумеется, другая история). jvm - 100 мегов. базель - 20 (встроенная jvm не учтена). Но базель имеет свои недостатки, даже если бы он весил 2 KiB, я бы его использовать не стал.
     
     
  • 5.60, Аноним (69), 10:28, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вендопроблемки.
     

  • 1.14, prokoudine (ok), 13:52, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Выводить результаты конфигурирования после создания папки сборки так и не умеет?
     
     
  • 2.29, Аноним (29), 15:47, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Обычно что-то такое делаю:

    meson _build
    meson configure _build

     

  • 1.17, Аноним (18), 14:43, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В исходниках у них такой бардак ... Руки прямо тянутся взять и пофиксить.
     
     
  • 2.28, Аноним (29), 15:44, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Не сдерживайтесь, ждём ваших патчей.
     
  • 2.33, user90 (?), 17:53, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    'rm -rf'?
     
  • 2.38, Аноним (36), 19:02, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дык везде так пилют годами всякий говнокод. А потом люди страдають.
    С другой стороны работает и ладно ...
     
     
  • 3.42, Аноним (22), 20:03, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не то чтобы прям везде, но autocrap — весьма наглядный пример такого подхода.
     
  • 2.39, SOska (?), 19:12, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И перейти на cmake?
     

  • 1.51, Главный Ананим (ok), 23:09, 09/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А чем Мезон ваш лучше Симейка? Симейк вроде не плох, пока не понадобится скрипт вида 'FindXXXX.cmake' которого нет в коробках.
     
     
  • 2.54, Аноним (69), 01:14, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да ничем не лучше.

    > Симейк вроде не плох, пока не понадобится скрипт вида 'FindXXXX.cmake' которого нет в коробках.

    Ну так берёшь и пишешь. Это справедливо для всех систем сборки, с оговоркой, что у cmake «коробка» самая большая.

     
  • 2.56, Аноним (44), 02:51, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    симейк очань плох. у него отвратительная документация, а работает он не интуитивно понятным образом, а для вылавливания багов в своём коде приходится модифицировать сами скрипты из поставки симейка. вкупе с отвратной системой типов "всё есть строка" это приводит к нежеланию копаться в симейковом коде. если же нужно сделать что-то нестандартное, то туши свет. в отличии от питона.
     
     
  • 3.61, Аноним (69), 10:35, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У CMake прекрасная документация, если ты не осилил — проблема в тебе. Со строками — да, не очень удобно, но, в принципе, для DSL это нормально. Если привык к шеллу, совершенно не напрягает.
    Нестандатное делается не так уж и сложно, но для этого сначала таки надо избавиться от нежелания копаться в коде.
     
     
  • 4.62, Аноним (68), 20:01, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Документация может и не самая плохая, да только из версии в версии плодятся несовместимые изменения. Это ужасно, просто ужасно. Как только понадобится что-то немного отличного от стандартного, ты сразу нарываешься на проблемы. Месон может и не идеальный, но не просто так же он набирает популярность. После цмейка, он кажется таким мимимишечным. Цмейк очевидно для программистов с вендой головного мозга придумывался.
     
     
  • 5.63, Аноним (22), 20:11, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > из версии в версии плодятся несовместимые изменения

    Интересно, как это я на них не натыкался? Все несовместимые изменения, с которыми лично мне довелось столкнуться, разруливаются policies. Может быть, ты просто не используешь cmake_minimum_required или бездумно увеличиваешь прописанное там значение, потому что так и не осилил документацию?

    > Как только понадобится что-то немного отличного от стандартного, ты сразу нарываешься на проблемы.

    Приведи пример. А то знаю я таких, которые вечно нарываются на проблемы исключительно из-за криворукости и пренебрежения чтением доки.

     
     
  • 6.65, Аноним (68), 21:08, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего не менял, ничего. Выход был либо использовать версию трёхлетней давности, либо переписывать всё заново, потому что нигде в ченджлогах не было сказано, что что-то вообще должно поломаться в минорной версии. В итоге получилась миграция в трёх релизах подряд: autotools->cmake->meson (и это было очень утомительно).
     
     
  • 7.66, Аноним (22), 21:25, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну то есть конкретики не будет ⇒ балабол.
     
     
  • 8.67, Аноним (68), 21:29, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кыш-кыш Это было несколько лет назад, с тех пор я не использую цмейк и не интер... текст свёрнут, показать
     
  • 5.64, Michael Shigorin (ok), 20:13, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Документация может и не самая плохая, да только из версии в версии
    > плодятся несовместимые изменения. Это ужасно, просто ужасно.

    Это детсад №1.

    > Месон может и не идеальный, но не просто так же он набирает популярность.

    А там напоролись недавно на детсад №2 -- когда изменяется внутреннее API, но не то что в master -- в выпуск попадает коммит, который при этом переводит лишь _часть_ внутренних же клиентов на новые функции...

    > Цмейк очевидно для программистов с вендой головного мозга придумывался.

     
  • 2.57, Аноним (57), 03:21, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    find_package(PkgConfig) хватит всем.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру