summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-07-08 17:29:11 +0200
committerMichal Klocek <michal.klocek@qt.io>2021-07-20 23:50:19 +0200
commitb3031066d17ef01802a4c9752f87675d6a4a1df5 (patch)
treef2719b63b300020042fad5845b3534f3cf9bcc4a /src/host
parent8deed53fcd8937b46cabd19eaf14e6176ef5436b (diff)
downloadqtwebengine-b3031066d17ef01802a4c9752f87675d6a4a1df5.tar.gz
Refactor cmake build
Add macros to share common cmake code blocks with QtPdf. Reconsider later to do proper scoping and change those to functions if make sense. Pick-to: 6.2 Change-Id: I500acdba1415feab373a012dcf9a9ddedf33cfac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/host')
-rw-r--r--src/host/BUILD.toolchain.gn.in17
-rw-r--r--src/host/CMakeLists.txt38
2 files changed, 55 insertions, 0 deletions
diff --git a/src/host/BUILD.toolchain.gn.in b/src/host/BUILD.toolchain.gn.in
new file mode 100644
index 000000000..c1bf3845b
--- /dev/null
+++ b/src/host/BUILD.toolchain.gn.in
@@ -0,0 +1,17 @@
+import("//build/config/sysroot.gni")
+import("//build/toolchain/gcc_toolchain.gni")
+gcc_toolchain("@GN_TOOLCHAIN@") {
+ cc = "@CMAKE_C_COMPILER@"
+ cxx = "@CMAKE_CXX_COMPILER@"
+ ld = "@CMAKE_CXX_COMPILER@"
+ ar = "@CMAKE_AR@"
+ nm = "@CMAKE_NM@"
+ extra_cppflags = ""
+ toolchain_args = {
+ current_os = "linux"
+ current_cpu = "@GN_CPU@"
+ v8_current_cpu = "@GN_V8_CPU@"
+ is_clang = false
+ use_gold = false
+ }
+}
diff --git a/src/host/CMakeLists.txt b/src/host/CMakeLists.txt
new file mode 100644
index 000000000..86249d74c
--- /dev/null
+++ b/src/host/CMakeLists.txt
@@ -0,0 +1,38 @@
+cmake_minimum_required(VERSION 3.19)
+
+if(NOT DEFINED WEBENGINE_ROOT_SOURCE_DIR)
+ get_filename_component(WEBENGINE_ROOT_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." REALPATH)
+endif()
+if (NOT DEFINED WEBENGINE_ROOT_BUILD_DIR)
+ get_filename_component(WEBENGINE_ROOT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/../.." REALPATH)
+endif()
+
+include(${WEBENGINE_ROOT_SOURCE_DIR}/.cmake.conf)
+include(${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Functions.cmake)
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${WEBENGINE_ROOT_SOURCE_DIR}/cmake")
+
+project(QtWebEngineConfigure
+ VERSION "${QT_REPO_MODULE_VERSION}"
+ LANGUAGES CXX C)
+
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
+
+set(buildDir ${CMAKE_CURRENT_BINARY_DIR})
+configure_gn_toolchain(host ${TEST_architecture_arch} ${TEST_architecture_arch}
+ ${WEBENGINE_ROOT_SOURCE_DIR}/src/host/BUILD.toolchain.gn.in
+ ${buildDir}/host_toolchain
+)
+get_v8_arch(GN_V8_HOST_CPU ${GN_TARGET_CPU})
+configure_gn_toolchain(v8 ${GN_V8_HOST_CPU} ${GN_TARGET_CPU}
+ ${WEBENGINE_ROOT_SOURCE_DIR}/src/host/BUILD.toolchain.gn.in
+ ${buildDir}/v8_toolchain)
+
+if(QT_FEATURE_qtwebengine_build)
+ install(FILES ${buildDir}/host_toolchain/BUILD.gn
+ DESTINATION ${WEBENGINE_ROOT_BUILD_DIR}/src/core/host_toolchain
+ )
+ install(FILES ${buildDir}/v8_toolchain/BUILD.gn
+ DESTINATION ${WEBENGINE_ROOT_BUILD_DIR}/src/core/v8_toolchain
+ )
+endif()