From 95de42212405aea45b17f2d9c500b6af097dee3e Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 17 Jun 2021 22:18:22 +0200 Subject: [PATCH] Fix the precompile_header configure test This configure test always failed, and its result was never used. Pick-to: 6.2 Change-Id: I5112464b247efb5327ef5c23c96ef27168c11afc Reviewed-by: Alexandru Croitor --- config.tests/precompile_header/CMakeLists.txt | 5 +++ config.tests/precompile_header/header.h | 44 +++++++++++++++++++ config.tests/precompile_header/main.cpp | 43 ++++++++++++++++++ configure.cmake | 15 +------ 4 files changed, 94 insertions(+), 13 deletions(-) create mode 100644 config.tests/precompile_header/CMakeLists.txt create mode 100644 config.tests/precompile_header/header.h create mode 100644 config.tests/precompile_header/main.cpp diff --git a/config.tests/precompile_header/CMakeLists.txt b/config.tests/precompile_header/CMakeLists.txt new file mode 100644 index 0000000000..40f9e3da81 --- /dev/null +++ b/config.tests/precompile_header/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.15.0) +project(precompile_header LANGUAGES CXX) + +add_executable(precompile_header main.cpp) +target_precompile_headers(precompile_header PRIVATE header.h) diff --git a/config.tests/precompile_header/header.h b/config.tests/precompile_header/header.h new file mode 100644 index 0000000000..32b4075df6 --- /dev/null +++ b/config.tests/precompile_header/header.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the FOO module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef HEADER_H +#define HEADER_H + +// Nothing to see here. We just want the HEADER_H define. + +#endif diff --git a/config.tests/precompile_header/main.cpp b/config.tests/precompile_header/main.cpp new file mode 100644 index 0000000000..fe8f059d0f --- /dev/null +++ b/config.tests/precompile_header/main.cpp @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the FOO module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef HEADER_H +# error no go +#endif + +int main() {} diff --git a/configure.cmake b/configure.cmake index e31d8b6f56..1bbc8b8672 100644 --- a/configure.cmake +++ b/configure.cmake @@ -95,18 +95,7 @@ int main(void) # precompile_header qt_config_compile_test(precompile_header LABEL "precompiled header support" - CODE -"#ifndef HEADER_H -#error no go -#endif - -int main(void) -{ - /* BEGIN TEST: */ - /* END TEST: */ - return 0; -} -"# FIXME: qmake: ['CONFIG += precompile_header', 'PRECOMPILED_DIR = .pch', 'PRECOMPILED_HEADER = header.h'] + PROJECT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/config.tests/precompile_header" ) qt_config_compiler_supports_flag_test(use_bfd_linker @@ -614,7 +603,7 @@ qt_feature("c11" PUBLIC ) qt_feature("precompile_header" LABEL "Using precompiled headers" - CONDITION BUILD_WITH_PCH + CONDITION BUILD_WITH_PCH AND TEST_precompile_header AUTODETECT NOT WASM ) qt_feature_config("precompile_header" QMAKE_PRIVATE_CONFIG)