Trying to fix the cmake-qt problems, fixing cmake's FindQt4. Paraview now builds beyond 25%, while

before it didn't. Through this commit I expect the build farm to try to build kde, and see
whether this way it builds without the unusual NIX_CFLAGS_COMPILE set in the qt setup-hook.

svn path=/nixpkgs/trunk/; revision=15838
This commit is contained in:
Lluís Batlle i Rossell 2009-06-03 09:19:19 +00:00
parent 107d41f96c
commit 94d2e57c62
5 changed files with 57 additions and 3 deletions

View File

@ -7,6 +7,8 @@ stdenv.mkDerivation {
sha256 = "27544f442e957e9aa60b32c674f2dcd84fffeecc9a40071ef6e305333413187d";
};
patches = [ ./include-qobject.patch ];
# I added these flags to get all the rpaths right, which I guess they are
# taken from the qt4 sources. Not very nice.
cmakeFlags = "-DCMAKE_SHARED_LINKER_FLAGS=\"-Wl,-rpath,$out/lib/paraview-3.4\"" +

View File

@ -0,0 +1,38 @@
diff --git a/VTK/GUISupport/Qt/CMakeLists.txt b/VTK/GUISupport/Qt/CMakeLists.txt
index 2c35be7..866f1aa 100644
--- a/VTK/GUISupport/Qt/CMakeLists.txt
+++ b/VTK/GUISupport/Qt/CMakeLists.txt
@@ -166,6 +166,7 @@ IF(DESIRED_QT_VERSION MATCHES 4)
)
ENDIF(QT_QTGUI_LIBRARY)
INCLUDE_DIRECTORIES(${QT_QTDESIGNER_INCLUDE_DIR})
+ INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR})
QT4_WRAP_CPP ( PluginMocSrcs ${PluginMocHeaders} )
ELSE(DESIRED_QT_VERSION MATCHES 4)
QT_WRAP_CPP ( QVTKWidgetPlugin PluginMocSrcs ${PluginMocHeaders} )
diff --git a/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h b/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
index 6782b90..ced3a67 100644
--- a/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
+++ b/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
@@ -43,7 +43,7 @@
#include "vtkObject.h"
#include "vtkCommand.h" // for event defines
#include "QVTKWin32Header.h" // for export define
-#include "qobject.h" // for version info
+#include <qobject.h> // for version info
class QObject;
class vtkQtConnections;
diff --git a/VTK/GUISupport/Qt/vtkQtConnection.h b/VTK/GUISupport/Qt/vtkQtConnection.h
index 923ec2e..b189ddc 100644
--- a/VTK/GUISupport/Qt/vtkQtConnection.h
+++ b/VTK/GUISupport/Qt/vtkQtConnection.h
@@ -33,7 +33,7 @@
#include "vtkObject.h"
#include "vtkCommand.h" // for event defines
-#include "qobject.h"
+#include <qobject.h>
class QObject;
class vtkCallbackCommand;

View File

@ -1,9 +1,8 @@
export QTDIR=@out@
if [ -z "$normalQt" ]; then
if [ -n "$includeAllQtDirs" ]; then
# This helps for g++, but not for moc. And no qt4 package should expect
# having all qt4 header files dirs into -I. But the KDE nix expressions want
# this.
# having all qt4 header files dirs into -I.
for d in @out@/include/*; do
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$d"
done

View File

@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
sha256 = "1wpxr5x4aggaqrqzjq3kg4hh09f0vyr1njik1pad01bvwd923pcw";
};
patches = [ ./findqt4.patch ];
postUnpack = ''
dontUseCmakeConfigure=1
source $setupHook

View File

@ -0,0 +1,13 @@
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 3bb77d1..7fdbe4a 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -579,6 +579,8 @@ IF (QT4_QMAKE_FOUND)
FOREACH(QT_MODULE ${QT_MODULES})
STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
+ NO_CMAKE_PATH
+ NO_CMAKE_ENVIRONMENT_PATH
PATHS
${QT_HEADERS_DIR}/${QT_MODULE}
${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers