From b698955b933e20ef3cf83ed6c7bb8bbd7cce3aca Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Thu, 6 Apr 2023 11:54:55 +0200 Subject: Migrate hostcompiler test to cmake host project MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Check for 32-bit support in case of 64bit compiler and cross-compilation. This is required as v8 context generator needs same bit width as target one. Pick-to: 6.6 6.5 Change-Id: I921e9e657c9caa97d3c6b63f7c1c87ab1052c92f Reviewed-by: Michael BrĂ¼ning --- config.tests/hostcompiler/hostcompiler.pro | 9 --------- config.tests/hostcompiler/main.cpp | 9 --------- src/host/CMakeLists.txt | 14 ++++++++++++++ src/host/config.tests/hostcompiler/CMakeLists.txt | 11 +++++++++++ src/host/config.tests/hostcompiler/main.cpp | 9 +++++++++ 5 files changed, 34 insertions(+), 18 deletions(-) delete mode 100644 config.tests/hostcompiler/hostcompiler.pro delete mode 100644 config.tests/hostcompiler/main.cpp create mode 100644 src/host/config.tests/hostcompiler/CMakeLists.txt create mode 100644 src/host/config.tests/hostcompiler/main.cpp diff --git a/config.tests/hostcompiler/hostcompiler.pro b/config.tests/hostcompiler/hostcompiler.pro deleted file mode 100644 index 5a80246ab..000000000 --- a/config.tests/hostcompiler/hostcompiler.pro +++ /dev/null @@ -1,9 +0,0 @@ -option(host_build) - -gcc:equals(QT_ARCH, "x86_64"):contains(QT_TARGET_ARCH, "arm"):!contains(QT_TARGET_ARCH, "arm64") { - QMAKE_CXXFLAGS += -m32 - QMAKE_LFLAGS += -m32 -} - -SOURCES = main.cpp - diff --git a/config.tests/hostcompiler/main.cpp b/config.tests/hostcompiler/main.cpp deleted file mode 100644 index 1676f7a26..000000000 --- a/config.tests/hostcompiler/main.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (C) 2018 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include -int main() -{ - printf("This works\n"); - return 0; -} diff --git a/src/host/CMakeLists.txt b/src/host/CMakeLists.txt index 08da14c1d..d90c6dea2 100644 --- a/src/host/CMakeLists.txt +++ b/src/host/CMakeLists.txt @@ -49,3 +49,17 @@ if(QT_FEATURE_qtpdf_build) ) endif() +# TODO: this could be run as part of main configure with execute_process + +if(CMAKE_CXX_COMPILER_ID STREQUAL GNU AND TEST_architecture_arch STREQUAL "x86_64" +AND GN_TARGET_CPU STREQUAL "arm") + try_compile( + has32HostCompiler + "${CMAKE_CURRENT_BINARY_DIR}/config.tests/hostcompiler" + "${CMAKE_CURRENT_SOURCE_DIR}/config.tests/hostcompiler" + hostcompiler + ) + if(NOT has32HostCompiler) + MESSAGE(FATAL_ERROR "Compiler does not support 32bit compilation") + endif() +endif() diff --git a/src/host/config.tests/hostcompiler/CMakeLists.txt b/src/host/config.tests/hostcompiler/CMakeLists.txt new file mode 100644 index 000000000..f36886d0a --- /dev/null +++ b/src/host/config.tests/hostcompiler/CMakeLists.txt @@ -0,0 +1,11 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(arch LANGUAGES CXX) + +add_executable(host_compiler_test) +set_property(TARGET host_compiler_test PROPERTY MACOSX_BUNDLE FALSE) +target_sources(host_compiler_test PRIVATE main.cpp) +target_compile_options(host_compiler_test PRIVATE -m32) +target_link_options(host_compiler_test PRIVATE -m32) diff --git a/src/host/config.tests/hostcompiler/main.cpp b/src/host/config.tests/hostcompiler/main.cpp new file mode 100644 index 000000000..1676f7a26 --- /dev/null +++ b/src/host/config.tests/hostcompiler/main.cpp @@ -0,0 +1,9 @@ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include +int main() +{ + printf("This works\n"); + return 0; +} -- cgit v1.2.3