diff options
author | Lars Knoll <lars.knoll@qt.io> | 2016-07-14 13:12:14 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2016-07-15 10:11:01 +0000 |
commit | 091df96fb8da356dc9de81dc390f55e66d4d7c01 (patch) | |
tree | 0ee5f6907904705db162bd27090fa13321f050e2 | |
parent | 8ee2a659d6170ebe57b75367ef8bf48e0ab4fdfd (diff) |
Reimplement compiler default detection
Change d1b09dba45c4b3ee0f31cd9bbf6941f17afd48f0 removed the
support to detect the C++ version the compiler used by
default. In essence, it forced the compiler in C++11 mode,
if the default was still C++98.
This change reimplements the functionality in the new
configuration system.
Change-Id: Ib4bf7ade85288776f9ae2a870f19764df727e0a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r-- | config.tests/common/c++98default/c++98default.cpp | 44 | ||||
-rw-r--r-- | config.tests/common/c++98default/c++98default.pro | 3 | ||||
-rw-r--r-- | configure.json | 10 |
3 files changed, 57 insertions, 0 deletions
diff --git a/config.tests/common/c++98default/c++98default.cpp b/config.tests/common/c++98default/c++98default.cpp new file mode 100644 index 0000000000..5edcf2d76c --- /dev/null +++ b/config.tests/common/c++98default/c++98default.cpp @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the configuration 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$ +** +****************************************************************************/ + +#if __cplusplus >= 201103L +#error "compiler uses c++11 or higher by default" +#endif + +int main(int, char **) {} diff --git a/config.tests/common/c++98default/c++98default.pro b/config.tests/common/c++98default/c++98default.pro new file mode 100644 index 0000000000..97cf2d7b20 --- /dev/null +++ b/config.tests/common/c++98default/c++98default.pro @@ -0,0 +1,3 @@ +TEMPLATE = app +CONFIG -= c++11 c++14 c++1z +SOURCES = c++98default.cpp diff --git a/configure.json b/configure.json index 432670806e..5cc3d65b8e 100644 --- a/configure.json +++ b/configure.json @@ -238,6 +238,11 @@ "type": "compile", "test": "common/c++1z" }, + "cxx98default": { + "description": "compilers defaulting to C++98", + "type": "compile", + "test": "common/c++98default" + }, "compiler": { "description": "Compiler", "type": "checkCompiler", @@ -966,6 +971,11 @@ "condition": "call.crossCompile", "output": [ "publicConfig", "privateConfig" ] }, + "cxx98default": { + "description": "Compilers defaulting to C++98", + "condition": "tests.cxx98default", + "output": [ { "type": "publicConfig", "name": "c++11" } ] + }, "compiler-flags": { "output": [ "compilerFlags" ], "priority": -3 |