LINUX.ORG.RU

CMake 3.28

 , , , ,

CMake 3.28

1

3

6 декабря состоялся выпуск 3.28 кроссплатформенной системы сборки CMake, написанной на языке C++ и распространяемой по лицензии BSD-3.

Список основных изменений:

  • улучшена поддержка модулей C++20 в генераторах Ninja и Visual Studio (VS 2022 и новее). Подробности в cmake-cxxmodules(7);
  • код языка HIP для GPU NVIDIA теперь может быть скомпилирован компилятором nvcc (NVIDIA CUDA Compiler). Подробности в описании переменной CMAKE_HIP_PLATFORM;
  • удалена команда exec_program(), признанная устаревшей в CMake 3.0. Вместо неё следует использовать execute_process();
  • сгенерированные файлы в целях, использующих наборы файлов, теперь по умолчанию считаются приватными. Генерируемые публичные заголовочные файлы должны быть указаны с помощью наборов файлов. Это позволяет создавать более эффективные графы сборки для Ninja. Подробности в политике CMP0154;
  • команды find_library(), find_path() и find_file() больше не ищут в префиксах установки, полученных из переменной окружения PATH. Это поведение было добавлено в CMake 3.3 для поддержки сред разработки MSYS и MinGW («MSYSTEM») в Windows и могло искать нежелательные префиксы, которые случайно оказались в PATH по каким-либо причинам.
  • добавлена поддержка директорий .xcframework для платформ Apple.

>>> Полный список изменений

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от dataman

Потому что на C и не зависит от Питона.

Послушайте, сэр, я тут вам скажу кое что, только не обижайтесь… :)

$ sudo apt install muon
Будут установлены следующие дополнительные пакеты:
  apt-xapian-index debconf-kde-data debconf-kde-helper gamin kactivities-bin
  kactivitymanagerd kde-cli-tools kde-cli-tools-data kded5 kio
  kpackagelauncherqml kpackagetool5 kwayland-data kwayland-integration
  libdbusmenu-qt5-2 libdebconf-kde1 libgamin0 libhfstospell11
  libkf5activities5 libkf5archive-data libkf5archive5 libkf5attica5
  libkf5auth-data libkf5auth5 libkf5authcore5 libkf5codecs-data libkf5codecs5
  libkf5completion-data libkf5completion5 libkf5config-bin libkf5config-data
  libkf5configcore5 libkf5configgui5 libkf5configwidgets-data
  libkf5configwidgets5 libkf5coreaddons-data libkf5coreaddons5 libkf5crash5
  libkf5dbusaddons-bin libkf5dbusaddons-data libkf5dbusaddons5
  libkf5declarative-data libkf5declarative5 libkf5doctools5
  libkf5globalaccel-bin libkf5globalaccel-data libkf5globalaccel5
  libkf5globalaccelprivate5 libkf5guiaddons-bin libkf5guiaddons-data
  libkf5guiaddons5 libkf5i18n-data libkf5i18n5 libkf5iconthemes-bin
  libkf5iconthemes-data libkf5iconthemes5 libkf5itemmodels5
  libkf5itemviews-data libkf5itemviews5 libkf5jobwidgets-data
  libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kcmutilscore5
  libkf5kiocore5 libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5
  libkf5kirigami2-5 libkf5newstuffcore5 libkf5notifications-data
  libkf5notifications5 libkf5package-data libkf5package5 libkf5parts-data
  libkf5parts-plugins libkf5parts5 libkf5plasma5 libkf5pty-data libkf5pty5
  libkf5quickaddons5 libkf5runner5 libkf5service-bin libkf5service-data
  libkf5service5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data
  libkf5sonnetcore5 libkf5sonnetui5 libkf5su-bin libkf5su-data libkf5su5
  libkf5syndication5abi1 libkf5textwidgets-data libkf5textwidgets5
  libkf5threadweaver5 libkf5wallet-bin libkf5wallet-data libkf5wallet5
  libkf5waylandclient5 libkf5widgetsaddons-data libkf5widgetsaddons5
  libkf5windowsystem-data libkf5windowsystem5 libkf5xmlgui-bin
  libkf5xmlgui-data libkf5xmlgui5 libkwalletbackend5-5 libkworkspace5-5
  libpolkit-qt5-1-1 libqapt3 libqapt3-runtime libqca-qt5-2
  libqca-qt5-2-plugins libqt5qmlworkerscript5 libqt5quickcontrols2-5
  libqt5quickshapes5 libqt5quicktemplates2-5 libqt5quickwidgets5
  libqt5texttospeech5 libvoikko1 libxapian30 libxcb-record0 python3-xapian
  qml-module-org-kde-kcm qml-module-org-kde-kcmutils
  qml-module-org-kde-kirigami2 qml-module-org-kde-kitemmodels
  qml-module-org-kde-kquickcontrolsaddons qml-module-org-kde-newstuff
  qml-module-org-kde-runnermodel qml-module-qtgraphicaleffects
  qml-module-qtqml qml-module-qtqml-models2 qml-module-qtquick-controls
  qml-module-qtquick-controls2 qml-module-qtquick-layouts
  qml-module-qtquick-shapes qml-module-qtquick-templates2
  qml-module-qtquick-window2 qml-module-qtquick2 qtspeech5-speechd-plugin
  software-properties-qt sonnet-plugins systemsettings
Предлагаемые пакеты:
  voikko-fi xapian-tools xapian-doc hspell
Следующие НОВЫЕ пакеты будут установлены:
  apt-xapian-index debconf-kde-data debconf-kde-helper gamin kactivities-bin
  kactivitymanagerd kde-cli-tools kde-cli-tools-data kded5 kio
  kpackagelauncherqml kpackagetool5 kwayland-data kwayland-integration
  libdbusmenu-qt5-2 libdebconf-kde1 libgamin0 libhfstospell11
  libkf5activities5 libkf5archive-data libkf5archive5 libkf5attica5
  libkf5auth-data libkf5auth5 libkf5authcore5 libkf5codecs-data libkf5codecs5
  libkf5completion-data libkf5completion5 libkf5config-bin libkf5config-data
  libkf5configcore5 libkf5configgui5 libkf5configwidgets-data
  libkf5configwidgets5 libkf5coreaddons-data libkf5coreaddons5 libkf5crash5
  libkf5dbusaddons-bin libkf5dbusaddons-data libkf5dbusaddons5
  libkf5declarative-data libkf5declarative5 libkf5doctools5
  libkf5globalaccel-bin libkf5globalaccel-data libkf5globalaccel5
  libkf5globalaccelprivate5 libkf5guiaddons-bin libkf5guiaddons-data
  libkf5guiaddons5 libkf5i18n-data libkf5i18n5 libkf5iconthemes-bin
  libkf5iconthemes-data libkf5iconthemes5 libkf5itemmodels5
  libkf5itemviews-data libkf5itemviews5 libkf5jobwidgets-data
  libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kcmutilscore5
  libkf5kiocore5 libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5
  libkf5kirigami2-5 libkf5newstuffcore5 libkf5notifications-data
  libkf5notifications5 libkf5package-data libkf5package5 libkf5parts-data
  libkf5parts-plugins libkf5parts5 libkf5plasma5 libkf5pty-data libkf5pty5
  libkf5quickaddons5 libkf5runner5 libkf5service-bin libkf5service-data
  libkf5service5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data
  libkf5sonnetcore5 libkf5sonnetui5 libkf5su-bin libkf5su-data libkf5su5
  libkf5syndication5abi1 libkf5textwidgets-data libkf5textwidgets5
  libkf5threadweaver5 libkf5wallet-bin libkf5wallet-data libkf5wallet5
  libkf5waylandclient5 libkf5widgetsaddons-data libkf5widgetsaddons5
  libkf5windowsystem-data libkf5windowsystem5 libkf5xmlgui-bin
  libkf5xmlgui-data libkf5xmlgui5 libkwalletbackend5-5 libkworkspace5-5
  libpolkit-qt5-1-1 libqapt3 libqapt3-runtime libqca-qt5-2
  libqca-qt5-2-plugins libqt5qmlworkerscript5 libqt5quickcontrols2-5
  libqt5quickshapes5 libqt5quicktemplates2-5 libqt5quickwidgets5
  libqt5texttospeech5 libvoikko1 libxapian30 libxcb-record0 muon
  python3-xapian qml-module-org-kde-kcm qml-module-org-kde-kcmutils
  qml-module-org-kde-kirigami2 qml-module-org-kde-kitemmodels
  qml-module-org-kde-kquickcontrolsaddons qml-module-org-kde-newstuff
  qml-module-org-kde-runnermodel qml-module-qtgraphicaleffects
  qml-module-qtqml qml-module-qtqml-models2 qml-module-qtquick-controls
  qml-module-qtquick-controls2 qml-module-qtquick-layouts
  qml-module-qtquick-shapes qml-module-qtquick-templates2
  qml-module-qtquick-window2 qml-module-qtquick2 qtspeech5-speechd-plugin
  software-properties-qt sonnet-plugins systemsettings
Обновлено 0 пакетов, установлено 147 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 22,6 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 123 MB.
Хотите продолжить? [Д/н]

ЧОООО? Да вы совсем там охренели? Это и есть ваш мюон? :)

anonmyous
()
Ответ на: комментарий от dataman

Это другой muon! :)

Аррр… окей. :) muon-meson называется тот, что нужен… Ладно, попытка номер 2.

anonmyous
()
Ответ на: комментарий от dataman

Это другой muon! :)

Ну, в общем, потыкал я этот мюон. Он собирает (точнее, конфигает - собирать надо потом нинжой) только простенькие примеры. На более сложных вылазит ругань, типа такой:

meson.build:83:7: error invalid kwarg: 'env'
meson.build:24:3: error invalid kwarg: 'dependencies'
 24 |   dependencies: declare_dependency(

В общем, он моделирует поведение какой-то из ранних версий мезона. Зачем и кому это надо - непонятно.

anonmyous
()
Ответ на: комментарий от anonmyous

собирать надо потом нинжой

$ muon version

muon 0.2.0-8d397263
meson compatibility version 1.1.99
enabled features:
  libcurl
  libpkgconf
  libarchive
  samurai <- это нужно разрешать в опциях

он моделирует поведение какой-то из ранних версий мезона

Да.

dataman ★★★★★
() автор топика
Последнее исправление: dataman (всего исправлений: 1)
Ответ на: комментарий от anonmyous

Это и есть ваш мюон? :)

Нет, анон, это одна из проблем UNIX-like пакетных менеджеров. Когда два проекта имеют одинаковое название и у тебя нет выбора что именно ты хочешь поставить.

apt тебе на запрос muon выдал какую-то там GUI’шную KDE’шную перделку-присралку к пакетному менеджеру, тогда как то что тебе нужно лежит тут и на чистой сишке: https://github.com/annacrombie/muon

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.