summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Functions.cmake24
-rw-r--r--cmake/License.cmake42
2 files changed, 56 insertions, 10 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake
index 8c666a7ac..7562bffb6 100644
--- a/cmake/Functions.cmake
+++ b/cmake/Functions.cmake
@@ -1335,17 +1335,21 @@ function(add_code_attributions_target)
get_filename_component(entryTemplate ${arg_ENTRY_TEMPLATE} ABSOLUTE)
add_custom_command(
OUTPUT ${arg_OUTPUT}
- COMMAND ${Python3_EXECUTABLE} ${WEBENGINE_ROOT_SOURCE_DIR}/src/3rdparty/chromium/tools/licenses.py
- --file-template ${fileTemplate}
- --entry-template ${entryTemplate}
- --gn-binary ${Gn_EXECUTABLE}
- --gn-target ${arg_GN_TARGET} --gn-out-dir ${arg_BUILDDIR}
- credits ${arg_OUTPUT}
- WORKING_DIRECTORY ${arg_BUILDDIR}
+ COMMAND ${CMAKE_COMMAND}
+ -DLICENSE_SCRIPT=${WEBENGINE_ROOT_SOURCE_DIR}/src/3rdparty/chromium/tools/licenses.py
+ -DFILE_TEMPLATE=${fileTemplate}
+ -DENTRY_TEMPLATE=${entryTemplate}
+ -DGN_TARGET=${arg_GN_TARGET}
+ -DBUILDDIR=${arg_BUILDDIR}
+ -DOUTPUT=${arg_OUTPUT}
+ -DPython3_EXECUTABLE=${Python3_EXECUTABLE}
+ -P ${WEBENGINE_ROOT_SOURCE_DIR}/cmake/License.cmake
+ WORKING_DIRECTORY ${WEBENGINE_ROOT_BUILD_DIR}
DEPENDS
- ${WEBENGINE_ROOT_SOURCE_DIR}/src/3rdparty/chromium/tools/licenses.py
- ${arg_FILE_TEMPLATE}
- ${arg_ENTRY_TEMPLATE}
+ ${WEBENGINE_ROOT_SOURCE_DIR}/src/3rdparty/chromium/tools/licenses.py
+ ${arg_FILE_TEMPLATE}
+ ${arg_ENTRY_TEMPLATE}
+ ${WEBENGINE_ROOT_SOURCE_DIR}/cmake/License.cmake
USES_TERMINAL
)
add_custom_target(${arg_TARGET} DEPENDS ${arg_OUTPUT})
diff --git a/cmake/License.cmake b/cmake/License.cmake
new file mode 100644
index 000000000..dc1e286f1
--- /dev/null
+++ b/cmake/License.cmake
@@ -0,0 +1,42 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+if(NOT CMAKE_SCRIPT_MODE_FILE)
+ message("This files should run only in script mode")
+ return()
+endif()
+
+get_filename_component(WEBENGINE_ROOT_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/.." REALPATH)
+get_filename_component(WEBENGINE_ROOT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" REALPATH)
+
+include(${WEBENGINE_ROOT_SOURCE_DIR}/.cmake.conf)
+include(${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Functions.cmake)
+
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+
+find_package(Gn ${QT_REPO_MODULE_VERSION} EXACT)
+if(NOT Python3_EXECUTABLE)
+ find_package(Python3 3.6 REQUIRED)
+endif()
+
+execute_process(
+ COMMAND ${Python3_EXECUTABLE} ${LICENSE_SCRIPT}
+ --file-template ${FILE_TEMPLATE}
+ --entry-template ${ENTRY_TEMPLATE}
+ --gn-binary ${Gn_EXECUTABLE}
+ --gn-target ${GN_TARGET}
+ --gn-out-dir ${BUILDDIR}
+ credits ${OUTPUT}
+ WORKING_DIRECTORY ${BUILDDIR}
+ RESULT_VARIABLE gnResult
+ OUTPUT_VARIABLE gnOutput
+ ERROR_VARIABLE gnError
+ TIMEOUT 600
+)
+
+if(NOT gnResult EQUAL 0)
+ message(FATAL_ERROR "\n-- License FAILED\n${gnOutput}\n${gnError}\n${gnResult}\n")
+else()
+ string(REGEX REPLACE "\n$" "" gnOutput "${gnOutput}")
+ message("-- License ${gnOutput}")
+endif()