summaryrefslogtreecommitdiffstats
path: root/cmake/Gn.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Gn.cmake')
-rw-r--r--cmake/Gn.cmake27
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}")