aboutsummaryrefslogtreecommitdiff
path: root/modules/ECMCheckOutboundLicense.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'modules/ECMCheckOutboundLicense.cmake')
-rw-r--r--modules/ECMCheckOutboundLicense.cmake129
1 files changed, 65 insertions, 64 deletions
diff --git a/modules/ECMCheckOutboundLicense.cmake b/modules/ECMCheckOutboundLicense.cmake
index c49a190d..62a6d1e2 100644
--- a/modules/ECMCheckOutboundLicense.cmake
+++ b/modules/ECMCheckOutboundLicense.cmake
@@ -1,70 +1,71 @@
-#.rst:
-# ECMCheckOutboundLicense
-# -----------------------
-#
-# Assert that source file licenses are compatible with a desired outbound license
-# of a compiled binary artifact (e.g., library, plugin or application).
-#
-# This module provides the ``ecm_check_outbound_license`` function that
-# generates unit tests for checking the compatibility of license statements.
-# The license statements in all tested files are required to be added by using
-# the SPDX marker ``SPDX-License-Identifier``.
-#
-# During the CMake configuration of the project, a temporary license bill of
-# materials (BOM) in SPDX format is generated by calling the REUSE tool
-# (see <https://reuse.software>). That BOM is parsed and license computations
-# based on an internal compatibility matrix are performed.
-#
-# Preconditions for using this module:
-# * All tested input source files must contain the SPDX-License-Identifier tag.
-# * Python3 must be available.
-# * The REUSE tool must be available, which generates the bill-of-materials
-# by running ``reuse spdx`` on the tested directory.
-#
-# When this module is included, a ``SKIP_LICENSE_TESTS`` option is added (default
-# OFF). Turning this option on skips the generation of license tests, which might
-# be convenient if licenses shall not be tested in all build configurations.
-#
-# ::
-#
-# ecm_check_outbound_license(LICENSES <outbound-licenses>
-# FILES <source-files>
-# [TEST_NAME <name>]
-# [WILL_FAIL])
-#
-# This method adds a custom unit test to ensure the specified outbound license to be
-# compatible with the specified license headers. Note that a convenient way is to use
-# the CMake GLOB command of the FILE function.
-#
-# ``LICENSES`` : List of one or multiple outbound license regarding which the compatibility
-# of the source code files shall be tested. Currently, the following values
-# are supported (values are SPDX registry identifiers):
-# * MIT
-# * BSD-2-Clause
-# * BSD-3-Clause
-# * LGPL-2.0-only
-# * LGPL-2.1-only
-# * LGPL-3.0-only
-# * GPL-2.0-only
-# * GPL-3.0-only
-#
-# ``FILES:`` : List of source files that contain valid SPDX-License-Identifier markers.
-# The paths can be relative to the CMake file that generates the test case
-# or be absolute paths.
-#
-# ``TEST_NAME`` : Optional parameter that defines the name of the generated test case.
-# If no name is defined, the relative path to the test directory with appended
-# license name is used. Every test has ``licensecheck_`` as prefix.
-#
-# ``WILL_FAIL`` : Optional parameter that inverts the test result. This parameter is usually only
-# used for tests of the module.
-#
-# Since 5.75.0
-
-#=============================================================================
# SPDX-FileCopyrightText: 2020 Andreas Cord-Landwehr <cordlandwehr@kde.org>
+#
# SPDX-License-Identifier: BSD-3-Clause
+#[=======================================================================[.rst:
+ECMCheckOutboundLicense
+-----------------------
+
+Assert that source file licenses are compatible with a desired outbound license
+of a compiled binary artifact (e.g., library, plugin or application).
+
+This module provides the ``ecm_check_outbound_license`` function that
+generates unit tests for checking the compatibility of license statements.
+The license statements in all tested files are required to be added by using
+the SPDX marker ``SPDX-License-Identifier``.
+
+During the CMake configuration of the project, a temporary license bill of
+materials (BOM) in SPDX format is generated by calling the REUSE tool
+(see <https://reuse.software>). That BOM is parsed and license computations
+based on an internal compatibility matrix are performed.
+
+Preconditions for using this module:
+ * All tested input source files must contain the SPDX-License-Identifier tag.
+ * Python3 must be available.
+ * The REUSE tool must be available, which generates the bill-of-materials
+ by running ``reuse spdx`` on the tested directory.
+
+When this module is included, a ``SKIP_LICENSE_TESTS`` option is added (default
+OFF). Turning this option on skips the generation of license tests, which might
+be convenient if licenses shall not be tested in all build configurations.
+
+::
+
+ ecm_check_outbound_license(LICENSES <outbound-licenses>
+ FILES <source-files>
+ [TEST_NAME <name>]
+ [WILL_FAIL])
+
+This method adds a custom unit test to ensure the specified outbound license to be
+compatible with the specified license headers. Note that a convenient way is to use
+the CMake GLOB command of the FILE function.
+
+``LICENSES`` : List of one or multiple outbound license regarding which the compatibility
+ of the source code files shall be tested. Currently, the following values
+ are supported (values are SPDX registry identifiers):
+ * MIT
+ * BSD-2-Clause
+ * BSD-3-Clause
+ * LGPL-2.0-only
+ * LGPL-2.1-only
+ * LGPL-3.0-only
+ * GPL-2.0-only
+ * GPL-3.0-only
+
+``FILES:`` : List of source files that contain valid SPDX-License-Identifier markers.
+ The paths can be relative to the CMake file that generates the test case
+ or be absolute paths.
+
+``TEST_NAME`` : Optional parameter that defines the name of the generated test case.
+ If no name is defined, the relative path to the test directory with appended
+ license name is used. Every test has ``licensecheck_`` as prefix.
+
+``WILL_FAIL`` : Optional parameter that inverts the test result. This parameter is usually only
+ used for tests of the module.
+
+Since 5.75.0
+#]=======================================================================]
+
include(FeatureSummary)
option(SKIP_LICENSE_TESTS "Skip outbound license tests" OFF)