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