diff options
-rw-r--r-- | cmake/Functions.cmake | 24 | ||||
-rw-r--r-- | cmake/License.cmake | 42 | ||||
-rw-r--r-- | src/core/api/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/pdf/CMakeLists.txt | 1 |
4 files changed, 58 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() diff --git a/src/core/api/CMakeLists.txt b/src/core/api/CMakeLists.txt index f452656d3..922adfd8c 100644 --- a/src/core/api/CMakeLists.txt +++ b/src/core/api/CMakeLists.txt @@ -94,6 +94,7 @@ add_code_attributions_target( ENTRY_TEMPLATE ../doc/about_credits_entry.tmpl BUILDDIR ${buildDir}/${config}/${arch} ) +add_dependencies(generate_chromium_attributions run_core_GnDone) add_dependencies(docs generate_chromium_attributions) ## diff --git a/src/pdf/CMakeLists.txt b/src/pdf/CMakeLists.txt index d7aea23cd..0a039cdd1 100644 --- a/src/pdf/CMakeLists.txt +++ b/src/pdf/CMakeLists.txt @@ -63,6 +63,7 @@ add_code_attributions_target( ENTRY_TEMPLATE doc/about_credits_entry.tmpl BUILDDIR ${buildDir}/${config}/${arch} ) +add_dependencies(generate_pdf_attributions run_pdf_GnDone) add_dependencies(docs generate_pdf_attributions) ## |