diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Functions.cmake | 24 | ||||
-rw-r--r-- | cmake/License.cmake | 42 |
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() |