diff options
Diffstat (limited to 'cmake/Gn.cmake')
-rw-r--r-- | cmake/Gn.cmake | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/cmake/Gn.cmake b/cmake/Gn.cmake index e8dc956ee..15b349e08 100644 --- a/cmake/Gn.cmake +++ b/cmake/Gn.cmake @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # This is gn wrapper script and it assables final BUILD.gn based on: # gn_config_target.cmake gn_config_c.cmake gn_config_cxx.cmake @@ -6,8 +9,13 @@ if(NOT CMAKE_SCRIPT_MODE_FILE) 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) +set(path_mode REALPATH) +if(APPLE AND QT_ALLOW_SYMLINK_IN_PATHS) + set(path_mode ABSOLUTE) +endif() + +get_filename_component(WEBENGINE_ROOT_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/.." ${path_mode}) +get_filename_component(WEBENGINE_ROOT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" ${path_mode}) include(${WEBENGINE_ROOT_SOURCE_DIR}/.cmake.conf) include(${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Functions.cmake) @@ -15,8 +23,9 @@ include(${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Functions.cmake) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) find_package(Gn ${QT_REPO_MODULE_VERSION} EXACT) -find_package(Python2 2.7.5 REQUIRED) - +if(NOT Python3_EXECUTABLE) + find_package(Python3 3.6 REQUIRED) +endif() set(gnCmd ${Gn_EXECUTABLE}) set(buildDir ${BUILD_DIR}) set(sourceDir ${SOURCE_DIR}) @@ -31,6 +40,7 @@ endif() init_gn_config(${buildDir}/gn_config_target.cmake) read_gn_config(${buildDir}/gn_config_cxx.cmake) read_gn_config(${buildDir}/gn_config_c.cmake) +read_gn_config(${buildDir}/gn_static.cmake) configure_gn_target( "${sourceDir}" @@ -39,9 +49,13 @@ configure_gn_target( ) list(APPEND gnArg - --script-executable=${Python2_EXECUTABLE} + --script-executable=${Python3_EXECUTABLE} --root=${WEBENGINE_ROOT_SOURCE_DIR}/src/3rdparty/chromium) +if(GN_THREADS) + list(APPEND gnArg --threads=${GN_THREADS}) +endif() + STRING(REGEX REPLACE "\n" ";" printArgArg "${gnArgArg}") LIST(SORT printArgArg) STRING(REGEX REPLACE ";" "\n" printArgArg "${printArgArg}") @@ -59,10 +73,11 @@ execute_process( RESULT_VARIABLE gnResult OUTPUT_VARIABLE gnOutput ERROR_VARIABLE gnError + TIMEOUT 600 ) if(NOT gnResult EQUAL 0) - message(FATAL_ERROR "\n-- GN FAILED\n${gnOutput}\n${gnError}") + message(FATAL_ERROR "\n-- GN FAILED\n${gnOutput}\n${gnError}\n${gnResult}\n") else() string(REGEX REPLACE "\n$" "" gnOutput "${gnOutput}") message("-- GN ${gnOutput}") |