Spec-Zone.ru › CMake

CMAKE_PROJECT_SPDX_LICENSE

Добавлено в версии 4.3.

Лицензия(и) проекта верхнего уровня.

Эта переменная содержит выражение лицензии проекта, указанное в файле CMakeLists.txt верхнего уровня с помощью команды project(). Если файл CMakeLists.txt верхнего уровня содержит несколько вызовов project(), значение, содержащееся в CMAKE_PROJECT_SPDX_LICENSE, определяется последним вызовом в этом файле CMakeLists.txt верхнего уровня. Например, рассмотрим следующий файл CMakeLists.txt верхнего уровня:

cmake_minimum_required(VERSION 4.3)
project(First SPDX_LICENSE "BSD-3-Clause")
project(Second SPDX_LICENSE "BSD-3-Clause AND CC-BY-SA-4.0")
add_subdirectory(sub)
project(Third SPDX_LICENSE "BSD-3-Clause AND CC0-1.0")

А sub/CMakeLists.txt со следующим содержимым:

project(SubProj SPDX_LICENSE Apache-2.0)
message("CMAKE_PROJECT_SPDX_LICENSE = ${CMAKE_PROJECT_SPDX_LICENSE}")

Последней обнаруженной командой project() в файле CMakeLists.txt верхнего уровня будет project(Second ...), поэтому будет выведено:

CMAKE_PROJECT_SPDX_LICENSE = BSD-3-Clause AND CC-BY-SA-4.0

Чтобы получить версию из последнего вызова project() в текущей области видимости каталога или выше, см. переменную PROJECT_SPDX_LICENSE.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_PROJECT_SPDX_LICENSE.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API