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)

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

Только для проприетарщиков. А также, если я правильно понимаю суть LGPL, то достаточно поставлять в комплекте объектные или исходные файлы Qt, чтобы не нарушать лицензию.

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

А также, если я правильно понимаю суть LGPL, то достаточно поставлять в комплекте объектные или исходные файлы Qt, чтобы не нарушать лицензию.

нет конечно. Нужно свои объектные(а также тулчейн) или исходные файлы давать. Чтобы другой пользователь мог слинковать программу со своей версией Qt.

Если собирается под какую-то встраиваемую систему, с проприетарным компилятором, то LGPL фактически вынуждает покупать Qt(потому что ты не можешь предоставить toolchain, а по лицензии ты обязан это сделать)

Для десктопа LGPL норм, если использовать so/dll и собирать свободными компиляторами.

Отчасти поэтому на Android Qt и не взлетел. Лицензия конченная.

Вот одна из статей где подробнее рассматривается лицензия: https://embeddeduse.com/2016/04/10/using-qt-5-6-and-later-under-lgpl/

You must provide a cross-compiling toolchain together with the necessary libraries, headers, files and tools such that users can build the modified Qt version for the target device. A pretty simple way to satisfy this obligation would be to install the toolchain in a virtual machine and make this virtual machine available to the users.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 2)
Ответ на: комментарий от rumgot

Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.[1][2]

https://en.wikipedia.org/wiki/Open-source_software

Хм, да вроде бы очень распространённая аббревиатура, чтобы уточнять.

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

Очередной слышавший звон, но абсолютно не понявший его сути. Я уже перестал удивляться.

В контексте моего комментария вообще получается, что я за статическую сборку GPL-проекта должен деньги кому-то заносить, ЛООООООООЛ.

Даже для проприетарщины это не всегда так, кстати. LGPL (про которую и родился этот миф) нигде не запрещает статическую сборку. Она только накладывает условия распространения. Поставщик должен обеспечить возможность получателю сборки с другой совместимой версией Qt. ВСЁ. Один из способов это сделать описали в комментариях выше. Те, кого условия LGPL не устраивают, могут купить у троллей коммерческую версию, только и всего. И разумеется, это всё исключительно про распространение, для внутреннего употребления свободные исходники можно собирать как угодно.

Могу, впрочем, утешить, ты не первый и кажется, даже не пятый, кто транслирует это. Пора это в какой-нибудь FAQ заносить.

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

Очередной слышавший звон, но абсолютно не понявший его сути. Я уже перестал удивляться.

А там ниже писал, что могу ошибаться. :-)

rumgot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.