summaryrefslogtreecommitdiffstats
path: root/src/host
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-07-08 17:29:11 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-22 10:15:54 +0200
commit5b651959002b7baff439e481bbf9f9076d7b60f3 (patch)
treecee038204b32971369a9793aec884c0172606798 /src/host
parentcd09335443a8e97d33b9a9e08da9f4e54faabf20 (diff)
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. Change-Id: I500acdba1415feab373a012dcf9a9ddedf33cfac (cherry picked from commit b3031066d17ef01802a4c9752f87675d6a4a1df5) 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()