forked from pool/cmake
Accepting request 143520 from home:cgiboudeaux:branches:devel:tools:building
Update to 2.8.10.2 OBS-URL: https://build.opensuse.org/request/show/143520 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/cmake?expand=0&rev=105
This commit is contained in:
parent
9b2e95ca63
commit
a872c22a5e
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:dbfb9d609e8fdb6f0947993246c11e2ee5d47944d6e7bd9314463b31e420e6e0
|
|
||||||
size 5767574
|
|
3
cmake-2.8.10.2.tar.gz
Normal file
3
cmake-2.8.10.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ce524fb39da06ee6d47534bbcec6e0b50422e18b62abc4781a4ba72ea2910eb1
|
||||||
|
size 5768373
|
@ -1,110 +0,0 @@
|
|||||||
From d2536579d51e77827b8e55f39123316324314781 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Neundorf <neundorf@kde.org>
|
|
||||||
Date: Mon, 19 Nov 2012 21:47:20 +0100
|
|
||||||
Subject: [PATCH] Automoc: fix regression #13667, broken build in phonon
|
|
||||||
|
|
||||||
On some systems, ${QT_INCLUDE_DIR} is reported by gcc as a builtin
|
|
||||||
include search dir. Some projects use this information to extend
|
|
||||||
CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
|
|
||||||
In cmake 2.8.10 now the targets are queried for the include directories
|
|
||||||
they use. When they return the result, the include dirs contained in
|
|
||||||
CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES have been removed.
|
|
||||||
In cmake 2.8.9 and below the INCLUDE_DIRECTORIES directory property
|
|
||||||
was queried, where this had not been stripped.
|
|
||||||
So, in those projects which modify the implicit include dirs variable,
|
|
||||||
on systems where ${QT_INCLUDE_DIR} is reported by gcc, this directory,
|
|
||||||
e.g. /usr/lib/include/qt/, was not given anymore to moc. This made moc
|
|
||||||
not find required headers, so the build broke.
|
|
||||||
Simply giving the full CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES to moc
|
|
||||||
is no solution either, since moc can't handle some of the headers it
|
|
||||||
finds then (https://bugreports.qt-project.org/browse/QTBUG-28045).
|
|
||||||
So now cmake checks CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES, and if this
|
|
||||||
contains ${QT_INCLUDE_DIR}, and the target reports that it uses
|
|
||||||
${QT_QTCORE_INCLUDE_DIR} but not ${QT_INCLUDE_DIR}, ${QT_INCLUDE_DIR}
|
|
||||||
is added to the include dirs given to moc.
|
|
||||||
|
|
||||||
Alex
|
|
||||||
---
|
|
||||||
Source/cmQtAutomoc.cxx | 59 ++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 files changed, 59 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
|
|
||||||
index 942c7ab..25614b8 100644
|
|
||||||
--- a/Source/cmQtAutomoc.cxx
|
|
||||||
+++ b/Source/cmQtAutomoc.cxx
|
|
||||||
@@ -195,6 +195,34 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+
|
|
||||||
+ const char* qtIncDir = 0;
|
|
||||||
+ const char* qtCoreIncDir = 0;
|
|
||||||
+
|
|
||||||
+ // check whether ${QT_INCLUDE_DIR} is part of the implicit include dirs,
|
|
||||||
+ // see http://public.kitware.com/Bug/view.php?id=13667
|
|
||||||
+ bool qtIncludeDirMayHaveBeenRemoved = false;
|
|
||||||
+ if (makefile->IsSet("QT_INCLUDE_DIR"))
|
|
||||||
+ {
|
|
||||||
+ qtIncDir = makefile->GetDefinition("QT_INCLUDE_DIR");
|
|
||||||
+ std::string s =
|
|
||||||
+ makefile->GetSafeDefinition("CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES");
|
|
||||||
+ std::vector<std::string> implIncDirs;
|
|
||||||
+ cmSystemTools::ExpandListArgument(s, implIncDirs);
|
|
||||||
+ if (std::find(implIncDirs.begin(), implIncDirs.end(),std::string(qtIncDir))
|
|
||||||
+ != implIncDirs.end())
|
|
||||||
+ {
|
|
||||||
+ qtIncludeDirMayHaveBeenRemoved = true;
|
|
||||||
+ if (makefile->IsSet("QT_QTCORE_INCLUDE_DIR"))
|
|
||||||
+ {
|
|
||||||
+ qtCoreIncDir = makefile->GetDefinition("QT_QTCORE_INCLUDE_DIR");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool haveQtCoreIncDir = false;
|
|
||||||
+ bool haveQtIncDir = false;
|
|
||||||
+
|
|
||||||
std::vector<std::string> includeDirs;
|
|
||||||
cmGeneratorTarget gtgt(target);
|
|
||||||
localGen->GetIncludeDirectories(includeDirs, >gt, "CXX");
|
|
||||||
@@ -207,6 +235,37 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
|
|
||||||
_moc_incs += sep;
|
|
||||||
sep = ";";
|
|
||||||
_moc_incs += *incDirIt;
|
|
||||||
+
|
|
||||||
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir) // #13667
|
|
||||||
+ {
|
|
||||||
+ if (*incDirIt == qtIncDir)
|
|
||||||
+ {
|
|
||||||
+ haveQtIncDir = true;
|
|
||||||
+ qtIncludeDirMayHaveBeenRemoved = false; // it's here, i.e. not removed
|
|
||||||
+ }
|
|
||||||
+ if (*incDirIt == qtCoreIncDir)
|
|
||||||
+ {
|
|
||||||
+ haveQtCoreIncDir = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Some projects (kdelibs, phonon) query the compiler for its default
|
|
||||||
+ // include search dirs, and add those to
|
|
||||||
+ // CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
|
|
||||||
+ // These may include e.g./usr/lib/qt/include . This is typically also part
|
|
||||||
+ // of ${QT_INCLUDES}. If this directory is then contained in the implicit
|
|
||||||
+ // include dirs, it is removed from the include dirs returned from the
|
|
||||||
+ // target above. So we add ${QT_INCLUDE_DIR} manually for moc if we detected
|
|
||||||
+ // that ${QT_QTCORE_INCLUDE_DIR} is among the include dirs (there shouldn't
|
|
||||||
+ // be a way to use Qt4 without using ${QT_QTCORE_INCLUDE_DIR} I think.
|
|
||||||
+ // See #13646 and #13667.
|
|
||||||
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir
|
|
||||||
+ && (haveQtCoreIncDir == true) && (haveQtIncDir == false))
|
|
||||||
+ {
|
|
||||||
+ _moc_incs += sep;
|
|
||||||
+ sep = ";";
|
|
||||||
+ _moc_incs += qtIncDir;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* tmp = target->GetProperty("COMPILE_DEFINITIONS");
|
|
||||||
--
|
|
||||||
1.7.0
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
Index: cmake-2.8.10.1/Modules/FindGettext.cmake
|
|
||||||
===================================================================
|
|
||||||
--- cmake-2.8.10.1.orig/Modules/FindGettext.cmake
|
|
||||||
+++ cmake-2.8.10.1/Modules/FindGettext.cmake
|
|
||||||
@@ -209,5 +209,3 @@ function(GETTEXT_PROCESS_PO_FILES _lang)
|
|
||||||
add_dependencies(pofiles ${uniqueTargetName})
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
-
|
|
||||||
-set(GETTEXT_FOUND ${Gettext_FOUND})
|
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 28 00:29:29 UTC 2012 - cgiboudeaux@gmx.com
|
||||||
|
|
||||||
|
- Update to 2.8.10.2
|
||||||
|
* Fix kitware#0013691: [Modules] FindGettext.cmake does not set GETTEXT_FOUND on success
|
||||||
|
* Fix kitware#0013702: [CMake] CMake crashes when reconfiguring build
|
||||||
|
* Fix kitware#0013667: [CMake] Automoc fails to handle Q_INTERFACES
|
||||||
|
- Drop obsolete patches
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Nov 7 21:24:45 UTC 2012 - cgiboudeaux@gmx.com
|
Wed Nov 7 21:24:45 UTC 2012 - cgiboudeaux@gmx.com
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: cmake-gui
|
Name: cmake-gui
|
||||||
Version: 2.8.10.1
|
Version: 2.8.10.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://www.cmake.org/
|
Url: http://www.cmake.org/
|
||||||
Source0: http://www.cmake.org/files/v2.8/cmake-%{version}.tar.gz
|
Source0: http://www.cmake.org/files/v2.8/cmake-%{version}.tar.gz
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 28 00:29:29 UTC 2012 - cgiboudeaux@gmx.com
|
||||||
|
|
||||||
|
- Update to 2.8.10.2
|
||||||
|
* Fix kitware#0013691: [Modules] FindGettext.cmake does not set GETTEXT_FOUND on success
|
||||||
|
* Fix kitware#0013702: [CMake] CMake crashes when reconfiguring build
|
||||||
|
* Fix kitware#0013667: [CMake] Automoc fails to handle Q_INTERFACES
|
||||||
|
- Drop obsolete patches
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Nov 26 19:56:15 UTC 2012 - tittiatcoke@gmail.com
|
Mon Nov 26 19:56:15 UTC 2012 - tittiatcoke@gmail.com
|
||||||
|
|
||||||
|
@ -17,15 +17,12 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: cmake
|
Name: cmake
|
||||||
Version: 2.8.10.1
|
Version: 2.8.10.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://www.cmake.org/
|
Url: http://www.cmake.org/
|
||||||
Source0: http://www.cmake.org/files/v2.8/%{name}-%{version}.tar.gz
|
Source0: http://www.cmake.org/files/v2.8/%{name}-%{version}.tar.gz
|
||||||
Patch1: cmake-disable-builtin-chrpath.diff
|
Patch1: cmake-disable-builtin-chrpath.diff
|
||||||
Patch2: cmake-fix-ruby-test.patch
|
Patch2: cmake-fix-ruby-test.patch
|
||||||
Patch3: cmake-gettext.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Fix the missing QT_INCLUDE_DIR (bug#13667, bko#309718)
|
|
||||||
Patch4: cmake-fix-qt-includes.diff
|
|
||||||
Summary: Cross-platform, open-source make system
|
Summary: Cross-platform, open-source make system
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
@ -54,8 +51,6 @@ CMake is a cross-platform, open-source make system
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch1
|
%patch1
|
||||||
%patch2
|
%patch2
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CXXFLAGS="$RPM_OPT_FLAGS"
|
export CXXFLAGS="$RPM_OPT_FLAGS"
|
||||||
|
Loading…
Reference in New Issue
Block a user