diff options
Diffstat (limited to 'src/host')
-rw-r--r-- | src/host/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/host/config.tests/hostcompiler/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/host/config.tests/hostcompiler/main.cpp | 9 |
3 files changed, 34 insertions, 0 deletions
diff --git a/src/host/CMakeLists.txt b/src/host/CMakeLists.txt index 59e003025..d579a61b8 100644 --- a/src/host/CMakeLists.txt +++ b/src/host/CMakeLists.txt @@ -52,3 +52,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 <stdio.h> +int main() +{ + printf("This works\n"); + return 0; +} |