5.11.1
relax qt5-rpm-macros dep drop workaround for QTBUG-37417 drop CMake-Restore-qt5_use_modules-function.patch (upstreamed)
This commit is contained in:
parent
17e492aa0e
commit
6c00985827
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
/qtbase-everywhere-src-5.10.1.tar.xz
|
||||
/qtbase-everywhere-src-5.11.0.tar.xz
|
||||
/qtbase-everywhere-src-5.11.1.tar.xz
|
||||
|
@ -1,226 +0,0 @@
|
||||
From a834b4d24582ef318ea1de51b6707e9605e6c52f Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Funk <kevin.funk@kdab.com>
|
||||
Date: Thu, 14 Jun 2018 14:50:39 +0200
|
||||
Subject: [PATCH 217/219] CMake: Restore qt5_use_modules() function
|
||||
|
||||
It appears that in the 5 years since we deprecated this function, people
|
||||
have not stopped using it. The removal of qt5_use_modules() caused lots of
|
||||
troubles in packages still using it when they were compiled against Qt 5.11.0.
|
||||
|
||||
Instead, let's revive this function and keep it for the Qt5 life time.
|
||||
|
||||
See discussion on qt-development mailing list:
|
||||
http://lists.qt-project.org/pipermail/development/2018-June/032837.html
|
||||
|
||||
Change-Id: Ic263e3bb6706268cb9ea38a0711665f166a3aa9e
|
||||
Reviewed-by: David Faure <david.faure@kdab.com>
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
src/corelib/Qt5CoreMacros.cmake | 51 +++++++++++++++++++
|
||||
tests/auto/cmake/CMakeLists.txt | 1 +
|
||||
.../test_use_modules_function/CMakeLists.txt | 18 +++++++
|
||||
.../cmake/test_use_modules_function/three.cpp | 45 ++++++++++++++++
|
||||
.../cmake/test_use_modules_function/two.cpp | 43 ++++++++++++++++
|
||||
5 files changed, 158 insertions(+)
|
||||
create mode 100644 tests/auto/cmake/test_use_modules_function/CMakeLists.txt
|
||||
create mode 100644 tests/auto/cmake/test_use_modules_function/three.cpp
|
||||
create mode 100644 tests/auto/cmake/test_use_modules_function/two.cpp
|
||||
|
||||
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
|
||||
index 1627de4002..819b48f973 100644
|
||||
--- a/src/corelib/Qt5CoreMacros.cmake
|
||||
+++ b/src/corelib/Qt5CoreMacros.cmake
|
||||
@@ -294,3 +294,54 @@ function(QT5_ADD_RESOURCES outfiles )
|
||||
endfunction()
|
||||
|
||||
set(_Qt5_COMPONENT_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
|
||||
+
|
||||
+if (NOT CMAKE_VERSION VERSION_LESS 2.8.9)
|
||||
+ macro(qt5_use_modules _target _link_type)
|
||||
+ if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
|
||||
+ if(CMAKE_WARN_DEPRECATED)
|
||||
+ set(messageType WARNING)
|
||||
+ endif()
|
||||
+ if(CMAKE_ERROR_DEPRECATED)
|
||||
+ set(messageType FATAL_ERROR)
|
||||
+ endif()
|
||||
+ if(messageType)
|
||||
+ message(${messageType} "The qt5_use_modules macro is obsolete. Use target_link_libraries with IMPORTED targets instead.")
|
||||
+ endif()
|
||||
+ endif()
|
||||
+
|
||||
+ if (NOT TARGET ${_target})
|
||||
+ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.")
|
||||
+ endif()
|
||||
+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" )
|
||||
+ set(_qt5_modules ${ARGN})
|
||||
+ set(_qt5_link_type ${_link_type})
|
||||
+ else()
|
||||
+ set(_qt5_modules ${_link_type} ${ARGN})
|
||||
+ endif()
|
||||
+
|
||||
+ if ("${_qt5_modules}" STREQUAL "")
|
||||
+ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.")
|
||||
+ endif()
|
||||
+
|
||||
+ foreach(_module ${_qt5_modules})
|
||||
+ if (NOT Qt5${_module}_FOUND)
|
||||
+ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH)
|
||||
+ if (NOT Qt5${_module}_FOUND)
|
||||
+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
|
||||
+ endif()
|
||||
+ endif()
|
||||
+ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES})
|
||||
+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS})
|
||||
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS})
|
||||
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
|
||||
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
|
||||
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
|
||||
+ if (Qt5_POSITION_INDEPENDENT_CODE
|
||||
+ AND (CMAKE_VERSION VERSION_LESS 2.8.12
|
||||
+ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
|
||||
+ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)))
|
||||
+ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ endmacro()
|
||||
+endif()
|
||||
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt
|
||||
index f1d8657091..ec75ec7caf 100644
|
||||
--- a/tests/auto/cmake/CMakeLists.txt
|
||||
+++ b/tests/auto/cmake/CMakeLists.txt
|
||||
@@ -47,6 +47,7 @@ find_package(Qt5Core REQUIRED)
|
||||
|
||||
include("${_Qt5CTestMacros}")
|
||||
|
||||
+expect_pass(test_use_modules_function)
|
||||
expect_pass(test_umbrella_config)
|
||||
expect_pass(test_wrap_cpp_and_resources)
|
||||
if (NOT NO_WIDGETS)
|
||||
diff --git a/tests/auto/cmake/test_use_modules_function/CMakeLists.txt b/tests/auto/cmake/test_use_modules_function/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000000..be05c75054
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/cmake/test_use_modules_function/CMakeLists.txt
|
||||
@@ -0,0 +1,18 @@
|
||||
+
|
||||
+cmake_minimum_required(VERSION 2.8)
|
||||
+
|
||||
+project(test_use_modules_function)
|
||||
+
|
||||
+set(CMAKE_AUTOMOC ON)
|
||||
+
|
||||
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
+
|
||||
+add_executable(two two.cpp)
|
||||
+add_executable(three three.cpp)
|
||||
+
|
||||
+find_package(Qt5Core)
|
||||
+
|
||||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
|
||||
+
|
||||
+qt5_use_modules(two Test)
|
||||
+qt5_use_modules(three Gui Test)
|
||||
diff --git a/tests/auto/cmake/test_use_modules_function/three.cpp b/tests/auto/cmake/test_use_modules_function/three.cpp
|
||||
new file mode 100644
|
||||
index 0000000000..507cc8479d
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/cmake/test_use_modules_function/three.cpp
|
||||
@@ -0,0 +1,45 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
|
||||
+** Contact: https://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the test suite of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
+** 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 General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU
|
||||
+** General Public License version 3 as published by the Free Software
|
||||
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
+** 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-3.0.html.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+#include <QtTest>
|
||||
+#include <QWindow>
|
||||
+
|
||||
+class Three : public QObject
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ Three(QObject *parent = 0)
|
||||
+ {
|
||||
+ QWindow *w = new QWindow;
|
||||
+ w->show();
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+QTEST_MAIN(Three)
|
||||
+
|
||||
+#include "three.moc"
|
||||
diff --git a/tests/auto/cmake/test_use_modules_function/two.cpp b/tests/auto/cmake/test_use_modules_function/two.cpp
|
||||
new file mode 100644
|
||||
index 0000000000..44eb7fe96e
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/cmake/test_use_modules_function/two.cpp
|
||||
@@ -0,0 +1,43 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
|
||||
+** Contact: https://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the test suite of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
+** 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 General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU
|
||||
+** General Public License version 3 as published by the Free Software
|
||||
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
+** 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-3.0.html.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+#include <QtTest>
|
||||
+
|
||||
+class Two : public QObject
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ Two(QObject *parent = 0)
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+QTEST_MAIN(Two)
|
||||
+
|
||||
+#include "two.moc"
|
||||
--
|
||||
2.17.1
|
||||
|
@ -45,8 +45,8 @@ BuildRequires: pkgconfig(libsystemd)
|
||||
|
||||
Name: qt5-qtbase
|
||||
Summary: Qt5 - QtBase components
|
||||
Version: 5.11.0
|
||||
Release: 3%{?dist}
|
||||
Version: 5.11.1
|
||||
Release: 1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
@ -113,7 +113,6 @@ Patch65: qtbase-opensource-src-5.9.0-mysql.patch
|
||||
Patch67: https://bugreports.qt.io/secure/attachment/66353/xcberror_filter.patch
|
||||
|
||||
## upstream patches
|
||||
Patch217: 0217-CMake-Restore-qt5_use_modules-function.patch
|
||||
|
||||
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
||||
# Those themes are there for platform integration. If the required libraries are
|
||||
@ -197,7 +196,7 @@ BuildRequires: libicu-devel
|
||||
BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: qt5-rpm-macros = %{version}
|
||||
BuildRequires: qt5-rpm-macros
|
||||
|
||||
%if 0%{?tests}
|
||||
BuildRequires: dbus-x11
|
||||
@ -255,7 +254,7 @@ Requires: %{name}-gui%{?_isa}
|
||||
Requires: pkgconfig(egl)
|
||||
%endif
|
||||
Requires: pkgconfig(gl)
|
||||
Requires: qt5-rpm-macros >= 5.7.1
|
||||
Requires: qt5-rpm-macros
|
||||
%if 0%{?use_clang}
|
||||
Requires: clang >= 3.7.0
|
||||
%endif
|
||||
@ -365,7 +364,6 @@ Qt5 libraries used for drawing widgets and OpenGL items.
|
||||
#patch67 -p1 -b .xcberror_filter
|
||||
|
||||
## upstream patches
|
||||
%patch217 -p1 -b .0217
|
||||
|
||||
# move some bundled libs to ensure they're not accidentally used
|
||||
pushd src/3rdparty
|
||||
@ -390,10 +388,6 @@ sed -i -e "s|^#!/usr/bin/env perl$|#!%{__perl}|" \
|
||||
bin/syncqt.pl \
|
||||
mkspecs/features/data/unix/findclasslist.pl
|
||||
|
||||
# Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417
|
||||
sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' -i \
|
||||
mkspecs/features/create_cmake.prf
|
||||
|
||||
|
||||
%build
|
||||
## FIXME/TODO:
|
||||
@ -971,6 +965,12 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jun 19 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.1-1
|
||||
- 5.11.1
|
||||
- relax qt5-rpm-macros dep
|
||||
- drop workaround for QTBUG-37417
|
||||
- drop CMake-Restore-qt5_use_modules-function.patch (upstreamed)
|
||||
|
||||
* Mon Jun 18 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.0-3
|
||||
- backport CMake-Restore-qt5_use_modules-function.patch
|
||||
- %%build: %%ix86 --no-sse2 on < f29 only
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (qtbase-everywhere-src-5.11.0.tar.xz) = 9f68e00d432db6999f932da6ba759e465ea7d65461ef8db13765f16bd812f2ddd05beede1df3c6546165bc4924a6bd14cc0ff083defc43e2dce37ea20c561462
|
||||
SHA512 (qtbase-everywhere-src-5.11.1.tar.xz) = 5f45405872e541565d811c1973ae95b0f19593f4495375306917b72e21146e14fe8f7db5fbd629476476807f89ef1679aa59737ca5efdd9cbe6b14d7aa371b81
|
||||
|
Loading…
Reference in New Issue
Block a user