summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/FreeCAD/FreeCAD-0.12.5284-gcc47.patch45
-rw-r--r--graphics/FreeCAD/FreeCAD.SlackBuild110
-rw-r--r--graphics/FreeCAD/FreeCAD.info6
-rw-r--r--graphics/FreeCAD/OpenCASCADE652.patch84
-rw-r--r--graphics/FreeCAD/README2
-rw-r--r--graphics/FreeCAD/freecad-0.13.diff2511
-rw-r--r--graphics/FreeCAD/no_coin3d_docs.patch17
7 files changed, 2578 insertions, 197 deletions
diff --git a/graphics/FreeCAD/FreeCAD-0.12.5284-gcc47.patch b/graphics/FreeCAD/FreeCAD-0.12.5284-gcc47.patch
deleted file mode 100644
index 7132288734..0000000000
--- a/graphics/FreeCAD/FreeCAD-0.12.5284-gcc47.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Patch written by Matteo Bernardini <ponce@slackbuilds.org>
-Just followed the gcc hints ;)
-
-diff -Naur FreeCAD-0.12.5284.orig/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl
---- FreeCAD-0.12.5284.orig/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl 2012-01-02 19:31:49.000000000 +0100
-+++ FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query2Filtered.inl 2012-09-12 07:01:33.501676355 +0200
-@@ -55,7 +55,7 @@
- Real fLen1 = Math<Real>::Sqrt(fX1*fX1 + fY1*fY1);
- Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1;
-
-- Real fDet2 = Det2(fX0,fY0,fX1,fY1);
-+ Real fDet2 = this->Det2(fX0,fY0,fX1,fY1);
- if (Math<Real>::FAbs(fDet2) >= fScaledUncertainty)
- {
- return (fDet2 > (Real)0.0 ? +1 : (fDet2 < (Real)0.0 ? -1 : 0));
-@@ -93,7 +93,7 @@
- Real fLen2 = Math<Real>::Sqrt(fD2x*fD2x + fD2y*fD2y + fZ2*fZ2);
- Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2;
-
-- Real fDet3 = Det3(fD0x,fD0y,fZ0,fD1x,fD1y,fZ1,fD2x,fD2y,fZ2);
-+ Real fDet3 = this->Det3(fD0x,fD0y,fZ0,fD1x,fD1y,fZ1,fD2x,fD2y,fZ2);
- if (Math<Real>::FAbs(fDet3) >= fScaledUncertainty)
- {
- return (fDet3 < (Real)0.0 ? 1 : (fDet3 > (Real)0.0 ? -1 : 0));
-diff -Naur FreeCAD-0.12.5284.orig/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.inl FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.inl
---- FreeCAD-0.12.5284.orig/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.inl 2012-01-02 19:31:49.000000000 +0100
-+++ FreeCAD-0.12.5284/src/Mod/Mesh/App/WildMagic4/Wm4Query3Filtered.inl 2012-09-12 07:03:13.704678326 +0200
-@@ -62,7 +62,7 @@
- Real fLen2 = Math<Real>::Sqrt(fX2*fX2 + fY2*fY2 + fZ2*fZ2);
- Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2;
-
-- Real fDet3 = Det3(fX0,fY0,fZ0,fX1,fY1,fZ1,fX2,fY2,fZ2);
-+ Real fDet3 = this->Det3(fX0,fY0,fZ0,fX1,fY1,fZ1,fX2,fY2,fZ2);
- if (Math<Real>::FAbs(fDet3) >= fScaledUncertainty)
- {
- return (fDet3 > (Real)0.0 ? +1 : (fDet3 < (Real)0.0 ? -1 : 0));
-@@ -115,7 +115,7 @@
- Real fLen3 = Math<Real>::Sqrt(fD3x*fD3x+fD3y*fD3y+fD3z*fD3z+fW3*fW3);
- Real fScaledUncertainty = m_fUncertainty*fLen0*fLen1*fLen2*fLen3;
-
-- Real fDet4 = Det4(fD0x,fD0y,fD0z,fW0,fD1x,fD1y,fD1z,fW1,fD2x,
-+ Real fDet4 = this->Det4(fD0x,fD0y,fD0z,fW0,fD1x,fD1y,fD1z,fW1,fD2x,
- fD2y,fD2z,fW2,fD3x,fD3y,fD3z,fW3);
-
- if (Math<Real>::FAbs(fDet4) >= fScaledUncertainty)
diff --git a/graphics/FreeCAD/FreeCAD.SlackBuild b/graphics/FreeCAD/FreeCAD.SlackBuild
index c385b59598..2cfa7a1a0b 100644
--- a/graphics/FreeCAD/FreeCAD.SlackBuild
+++ b/graphics/FreeCAD/FreeCAD.SlackBuild
@@ -25,7 +25,7 @@
# revision date: 2012/01/04
PRGNAM=FreeCAD
-VERSION=${VERSION:-0.12.5284}
+VERSION=${VERSION:-0.13.1830}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -63,73 +63,55 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
-cd $PRGNAM-$VERSION
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z*
+cd $SRCNAM-$VERSION
chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
-
-# FreeCAD is ready for OpenCASCADE 6.5.{0,1} - patch for 6.5.2
-patch -p1 < $CWD/OpenCASCADE652.patch
-
-# Fix for gcc-4.7.x
-patch -p1 < $CWD/FreeCAD-0.12.5284-gcc47.patch
-
-./autogen.sh
-
-# Fix references to old boost_*-mt libs
-sed -i "/-lboost/s/-mt\"/\"/g" configure
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -fpermissive" \
-./configure \
- --prefix=/opt/$PRGNAM \
- --libdir=/opt/$PRGNAM/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --with-occ-lib=/usr/lib${LIBDIRSUFFIX} \
- --with-occ-include=/usr/include/OpenCASCADE \
- --with-qt4-dir=$QT4DIR \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-### This is for future use. FreeCAD is switching to cmake, but is is not
-### 100% operational yet.
-### These are the options that *should* do it:
-
-#mkdir build
-#cd build
-# cmake \
-# -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-# -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-# -DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \
-# -DRESOURCEDIR=/opt/$PRGNAM/share/data \
-# -DLIB_SUFFIX=${LIBDIRSUFFIX} \
-# -DMAN_INSTALL_DIR=/usr/man \
-# -DDOCDIR=/usr/doc/$PRGNAM-$VERSION \
-# -DOCC_INCLUDE_DIR=/usr/include/OpenCASCADE \
-# -DOCC_LIBRARY=/usr/lib${LIBDIRSUFFIX} \
-# -DCMAKE_BUILD_TYPE=Release ..
-#
-# make V=1
-# make install DESTDIR=$PKG
-#cd ..
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# no downloads allowed during the build
+patch -p1 < $CWD/no_coin3d_docs.patch
+
+# thanks to archlinux for these fixes
+# compatibility issues with OCC-6.6
+for i in $( grep -Rl "BRepTools::OuterShell" * )
+do
+ sed -e "s|BRepTools|BRepClass3d|g" -i "$i"
+done
+
+# these patch contain some code taken from upstream
+# thanks to cbuehler
+patch -p1 -i $CWD/freecad-0.13.diff
+
+mkdir build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-cpp" \
+ -DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \
+ -DRESOURCEDIR=/opt/$PRGNAM/share/data \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DDOCDIR=/usr/doc/$PRGNAM-$VERSION \
+ -DOCC_INCLUDE_DIR=/usr/include/OpenCASCADE \
+ -DOCC_LIBRARY=/usr/lib${LIBDIRSUFFIX} \
+ -DFREECAD_USE_EXTERNAL_PIVY:BOOL=ON \
+ -DCMAKE_BUILD_TYPE=Release ..
+
+ make V=1
+ make install DESTDIR=$PKG
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Get man page from debian
-mkdir -p $PKG/usr/man/man1
-cat package/debian/freecad.1 > $PKG/usr/man/man1/FreeCAD.1
-gzip -9 $PKG/usr/man/man1/FreeCAD.1
-
# Copy icon & desktop file
-mkdir -p $PKG/usr/share/{applications,pixmaps}
-cp $PKG/opt/$PRGNAM/share/freecad.xpm $PKG/usr/share/pixmaps/
+mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps
+cp $PKG/opt/$PRGNAM/data/freecad.xpm $PKG/usr/share/pixmaps/
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/graphics/FreeCAD/FreeCAD.info b/graphics/FreeCAD/FreeCAD.info
index 91774e7ed6..80a8b190c6 100644
--- a/graphics/FreeCAD/FreeCAD.info
+++ b/graphics/FreeCAD/FreeCAD.info
@@ -1,8 +1,8 @@
PRGNAM="FreeCAD"
-VERSION="0.12.5284"
+VERSION="0.13.1830"
HOMEPAGE="http://free-cad.sourceforge.net/"
-DOWNLOAD="http://www.nielshorn.net/_download/slackware/source/freecad-0.12.5284.tar.xz"
-MD5SUM="3b6efa9d97de093e7bb42aabd3bcbc54"
+DOWNLOAD="http://downloads.sourceforge.net/free-cad/freecad-0.13.1830.tar.gz"
+MD5SUM="13b8fddef12f5f8419dcf4adbab596eb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="OpenCASCADE Pivy xerces-c"
diff --git a/graphics/FreeCAD/OpenCASCADE652.patch b/graphics/FreeCAD/OpenCASCADE652.patch
deleted file mode 100644
index 874392c19b..0000000000
--- a/graphics/FreeCAD/OpenCASCADE652.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- FreeCAD-0.12.5284/src/Mod/Part/App/AppPartPy.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/AppPartPy.cpp 2012-01-02 21:36:18.000000000 -0200
-@@ -492,7 +492,7 @@
- d.SetCoord(vec.x, vec.y, vec.z);
- }
- Handle_Geom_Plane aPlane = new Geom_Plane(p, d);
-- BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width);
-+ BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width, Precision::Confusion());
- return new TopoShapeFacePy(new TopoShape((Face.Face())));
- }
- catch (Standard_DomainError) {
---- FreeCAD-0.12.5284/src/Mod/Part/App/GeometrySurfacePyImp.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/GeometrySurfacePyImp.cpp 2012-01-02 22:08:47.000000000 -0200
-@@ -79,7 +79,7 @@
- s->Bounds(u1,u2,v1,v2);
- if (!PyArg_ParseTuple(args, "|dddd", &u1,&u2,&v1,&v2))
- return 0;
-- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2);
-+ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion());
- TopoDS_Shape sh = mkBuilder.Shape();
- return new TopoShapeFacePy(new TopoShape(sh));
- }
---- FreeCAD-0.12.5284/src/Mod/Part/App/Geometry.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/Geometry.cpp 2012-01-02 22:37:08.000000000 -0200
-@@ -1252,7 +1252,7 @@
- Handle_Geom_Surface s = Handle_Geom_Surface::DownCast(handle());
- Standard_Real u1,u2,v1,v2;
- s->Bounds(u1,u2,v1,v2);
-- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2);
-+ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion());
- return mkBuilder.Shape();
- }
-
---- FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/PrimitiveFeature.cpp 2012-01-02 22:40:21.000000000 -0200
-@@ -191,7 +191,7 @@
- gp_Pnt pnt(0.0,0.0,0.0);
- gp_Dir dir(0.0,0.0,1.0);
- Handle_Geom_Plane aPlane = new Geom_Plane(pnt, dir);
-- BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W);
-+ BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W, Precision::Confusion());
-
- const char *error=0;
- switch (mkFace.Error())
---- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/TopoShape.cpp 2012-01-03 00:19:12.000000000 -0200
-@@ -1338,7 +1338,7 @@
- double u1,u2,v1,v2;
- surf->Bounds(u1,u2,v1,v2);
-
-- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2);
-+ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2, Precision::Confusion());
- return mkBuilder.Face();
- }
-
-@@ -1391,7 +1391,7 @@
-
- Standard_Real u1,u2,v1,v2;
- mySurface->Bounds(u1,u2,v1,v2);
-- BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2);
-+ BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2, Precision::Confusion());
- return mkBuilder.Shape();
- }
-
-@@ -1443,7 +1443,7 @@
- mkSweep.Perform(tol, Standard_False, GeomAbs_C1, BSplCLib::MaxDegree(), 1000);
-
- const Handle_Geom_Surface& surf = mkSweep.Surface();
-- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax);
-+ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax, Precision::Confusion());
- return mkBuilder.Face();
- }
-
---- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShapeFacePyImp.cpp 2012-01-02 16:32:09.000000000 -0200
-+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/TopoShapeFacePyImp.cpp 2012-01-03 00:24:40.000000000 -0200
-@@ -135,7 +135,7 @@
- return -1;
- }
-
-- BRepBuilderAPI_MakeFace mkFace(S);
-+ BRepBuilderAPI_MakeFace mkFace(S, Precision::Confusion());
- if (bound) {
- Py::List list(bound);
- for (Py::List::iterator it = list.begin(); it != list.end(); ++it) {
diff --git a/graphics/FreeCAD/README b/graphics/FreeCAD/README
index 8cf54e2dda..57287bcaa1 100644
--- a/graphics/FreeCAD/README
+++ b/graphics/FreeCAD/README
@@ -2,4 +2,4 @@ FreeCAD is a general purpose 3D CAD modeler, aimed at mechanical
engineering and product design, but also fits in a wider range of uses
around engineering, such as architecture or other engineering specialties.
-Eigen3 is an optional dependency.
+eigen3 is an optional dependency.
diff --git a/graphics/FreeCAD/freecad-0.13.diff b/graphics/FreeCAD/freecad-0.13.diff
new file mode 100644
index 0000000000..a2f8859bcd
--- /dev/null
+++ b/graphics/FreeCAD/freecad-0.13.diff
@@ -0,0 +1,2511 @@
+diff -Naur freecad-0.13.1830.orig/cMake/FindCoin3DDoc.cmake freecad-0.13.1830/cMake/FindCoin3DDoc.cmake
+--- freecad-0.13.1830.orig/cMake/FindCoin3DDoc.cmake 2013-10-25 18:49:34.058998056 +0200
++++ freecad-0.13.1830/cMake/FindCoin3DDoc.cmake 2013-10-25 18:49:59.452193823 +0200
+@@ -21,7 +21,7 @@
+ ELSE(APPLE)
+ # Unix systems
+ find_path(COIN3D_DOC_PATH index.html
+- /usr/share/doc/libcoin60-doc/html
++ /usr/share/doc/coin/html
+ )
+ IF( EXISTS ${COIN3D_DOC_PATH})
+ message(STATUS "Coin3D doc is installed")
+diff -Naur freecad-0.13.1830.orig/cMake/FreeCadMacros.cmake freecad-0.13.1830/cMake/FreeCadMacros.cmake
+--- freecad-0.13.1830.orig/cMake/FreeCadMacros.cmake 2013-10-25 18:49:34.058998056 +0200
++++ freecad-0.13.1830/cMake/FreeCadMacros.cmake 2013-10-25 18:49:59.452193823 +0200
+@@ -167,70 +167,6 @@
+ #
+ #endmacro(qt4_wrap_ui)
+
+-
+-# This is a special version of the built in macro qt4_add_resources that generates .cpp files
+-#
+-#macro(fc_add_resources outfiles )
+-# #QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
+-# set(ARGN )
+-# foreach (it ${rcc_files})
+-# get_filename_component(outfilename ${it} NAME_WE)
+-# get_filename_component(infile ${it} ABSOLUTE)
+-# get_filename_component(rc_path ${infile} PATH)
+-# set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cpp)
+-# # parse file for dependencies
+-# # all files are absolute paths or relative to the location of the qrc file
+-# file(READ "${infile}" _RC_FILE_CONTENTS)
+-# string(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
+-# set(_RC_DEPENDS)
+-# foreach(_RC_FILE ${_RC_FILES})
+-# string(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
+-# string(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
+-# if(NOT _ABS_PATH_INDICATOR)
+-# set(_RC_FILE "${rc_path}/${_RC_FILE}")
+-# endif(NOT _ABS_PATH_INDICATOR)
+-# set(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
+-# endforeach(_RC_FILE)
+-# add_custom_command(OUTPUT ${outfile}
+-# COMMAND ${QT_RCC_EXECUTABLE}
+-# ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
+-# MAIN_DEPENDENCY ${infile}
+-# DEPENDS ${_RC_DEPENDS})
+-# set(${outfiles} ${${outfiles}} ${outfile})
+-# endforeach (it)
+-#endmacro(fc_add_resources)
+-
+-MACRO (fc_add_resources outfiles )
+- QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
+-
+- FOREACH (it ${rcc_files})
+- GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
+- GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
+- GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
+- SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cpp)
+- # parse file for dependencies
+- # all files are absolute paths or relative to the location of the qrc file
+- FILE(READ "${infile}" _RC_FILE_CONTENTS)
+- STRING(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
+- SET(_RC_DEPENDS)
+- FOREACH(_RC_FILE ${_RC_FILES})
+- STRING(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
+- STRING(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
+- IF(NOT _ABS_PATH_INDICATOR)
+- SET(_RC_FILE "${rc_path}/${_RC_FILE}")
+- ENDIF(NOT _ABS_PATH_INDICATOR)
+- SET(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
+- ENDFOREACH(_RC_FILE)
+- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+- COMMAND ${QT_RCC_EXECUTABLE}
+- ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
+- MAIN_DEPENDENCY ${infile}
+- DEPENDS ${_RC_DEPENDS})
+- SET(${outfiles} ${${outfiles}} ${outfile})
+- ENDFOREACH (it)
+-
+-ENDMACRO (fc_add_resources)
+-
+ MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar)
+ IF(MSVC)
+ GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
+diff -Naur freecad-0.13.1830.orig/CMakeLists.txt freecad-0.13.1830/CMakeLists.txt
+--- freecad-0.13.1830.orig/CMakeLists.txt 2013-10-25 18:49:34.058998056 +0200
++++ freecad-0.13.1830/CMakeLists.txt 2013-10-25 18:49:59.452193823 +0200
+@@ -314,14 +314,14 @@
+ macro(fc_wrap_cpp outfiles )
+ # get include dirs
+ QT4_GET_MOC_FLAGS(moc_flags)
+- QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
++ QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
+ # fixes bug 0000585: bug with boost 1.48
+ SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+
+ foreach(it ${moc_files})
+ get_filename_component(it ${it} ABSOLUTE)
+ QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
+- QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
++ QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
+ set(${outfiles} ${${outfiles}} ${outfile})
+ add_file_dependencies(${it} ${outfile})
+ endforeach(it)
+diff -Naur freecad-0.13.1830.orig/CMakeLists.txt.orig freecad-0.13.1830/CMakeLists.txt.orig
+--- freecad-0.13.1830.orig/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/CMakeLists.txt.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,552 @@
++project(FreeCAD_trunk)
++set(FREECAD_VERSION "0.13")
++
++# Needed for salomesmesh
++if(CMAKE_COMPILER_IS_GNUCXX)
++ENABLE_LANGUAGE(Fortran)
++endif(CMAKE_COMPILER_IS_GNUCXX)
++
++set(PACKAGE_NAME "FreeCAD")
++set(PACKAGE_VERSION_MAJOR "0")
++set(PACKAGE_VERSION_MINOR "12")
++set(PACKAGE_VERSION_PATCH "2237")
++set(PACKAGE_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}")
++set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
++
++cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
++
++# include local modules
++include(AddFileDependencies)
++
++set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cMake")
++
++
++if(COMMAND cmake_policy)
++ cmake_policy(SET CMP0003 NEW)
++endif(COMMAND cmake_policy)
++
++#if(CMAKE_CFG_INTDIR STREQUAL .)
++ # No Debug/Release output paths
++ set(DEBUG_MAIN_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
++ set(RELEASE_MAIN_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
++#else(CMAKE_CFG_INTDIR STREQUAL .)
++# set(DEBUG_MAIN_OUTPUT_PATH ${CMAKE_BINARY_DIR}/src/Main/Debug)
++# set(RELEASE_MAIN_OUTPUT_PATH ${CMAKE_BINARY_DIR}/src/Main/Release)
++#endif(CMAKE_CFG_INTDIR STREQUAL .)
++
++if(WIN32)
++ set(PLATFORM_CP xcopy /Y /S)
++ set(PLATFORM_MK mkdir)
++else(WIN32)
++ set(PLATFORM_CP cp)
++ set(PLATFORM_MK mkdir -p)
++endif(WIN32)
++
++
++# ================================================================================
++
++if(CMAKE_COMPILER_IS_GNUCXX)
++ include(cMake/ConfigureChecks.cmake)
++ configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
++ add_definitions(-DHAVE_CONFIG_H)
++ add_definitions(-Wno-write-strings)
++ add_definitions(-Wno-deprecated)
++ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
++ # get linker errors as soon as possible and not at runtime e.g. for modules
++ if(UNIX)
++ # SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
++ endif(UNIX)
++endif(CMAKE_COMPILER_IS_GNUCXX)
++
++
++# ================================================================================
++# Output directories for install target
++
++if(WIN32)
++ SET(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation root directory")
++else(WIN32)
++ SET(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH "Installation root directory")
++ SET(INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++endif(WIN32)
++
++SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files")
++SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files")
++SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files")
++
++# used as compiler defines
++SET(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}")
++SET(DOCDIR "${CMAKE_INSTALL_DOCDIR}")
++
++MESSAGE( STATUS "prefix: ${CMAKE_INSTALL_PREFIX}")
++MESSAGE(STATUS "datadir: ${CMAKE_INSTALL_DATADIR}")
++MESSAGE(STATUS "docdir: ${CMAKE_INSTALL_DOCDIR}")
++MESSAGE(STATUS "includedir: ${CMAKE_INSTALL_INCLUDEDIR}")
++
++# ==============================================================================
++# == Win32 is default behaviour use the LibPack copied in Source tree ==========
++if(MSVC)
++ OPTION(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." ON)
++ set(FREECAD_LIBPACK_DIR ${CMAKE_SOURCE_DIR} CACHE PATH "Directory of the FreeCAD LibPack")
++else(MSVC)
++ OPTION(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." OFF)
++ set(FREECAD_LIBPACK_DIR "" CACHE PATH "Directory of the FreeCAD LibPack")
++endif(MSVC)
++
++# ==============================================================================
++# == All the options for the build process ============
++
++OPTION(FREECAD_BUILD_GUI "Build FreeCAD Gui. Otherwise you have only the command line and the Python import module." ON)
++OPTION(FREECAD_MAINTAINERS_BUILD "Build FreeCAD for Maintainers, with Docu and 3rd party libs. On Windows the Installer is build." OFF)
++OPTION(FREECAD_BUILD_CAM "Build the FreeCAD CAM module and the needed libs, be aware, unfinished code!" OFF)
++OPTION(FREECAD_BUILD_FEM "Build the FreeCAD FEM module, be aware, unfinished code!" ON)
++OPTION(FREECAD_BUILD_SANDBOX "Build the FreeCAD Sandbox module which is only for testing purposes" OFF)
++OPTION(FREECAD_BUILD_TEMPLATE "Build the FreeCAD template module which is only for testing purposes" OFF)
++OPTION(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
++OPTION(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF)
++OPTION(FREECAD_USE_EXTERNAL_PIVY "Use system installed python-pivy instead of the bundled." OFF)
++if(MSVC)
++OPTION(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." ON)
++else(MSVC)
++set(FREECAD_USE_3DCONNEXION OFF)
++endif(MSVC)
++
++# if this is set override some options
++if (FREECAD_BUILD_DEBIAN)
++ set(FREECAD_USE_EXTERNAL_ZIPIOS ON)
++ set(FREECAD_USE_EXTERNAL_PIVY ON)
++endif (FREECAD_BUILD_DEBIAN)
++
++if (NOT EXISTS ${CMAKE_SOURCE_DIR}/src/zipios++)
++ set(FREECAD_USE_EXTERNAL_ZIPIOS ON)
++endif ()
++
++# ==============================================================================
++
++if(FREECAD_LIBPACK_USE)
++ # checking for a unique file in LibPack location to make sure the right version of the LibPack is there
++ find_file(FREECAD_LIBPACK_CHECKFILE6X boost_program_options-vc80-mt-gd.lib ${FREECAD_LIBPACK_DIR}/lib )
++ find_file(FREECAD_LIBPACK_CHECKFILE7X boost_program_options-vc90-mt-gd-1_39.lib ${FREECAD_LIBPACK_DIR}/lib )
++ find_file(FREECAD_LIBPACK_CHECKFILE8X boost_program_options-vc90-mt-gd-1_48.lib ${FREECAD_LIBPACK_DIR}/lib )
++ find_file(FREECAD_LIBPACK_CHECKCUSTOM boost_program_options-vc90-mt-gd-1_41.lib ${FREECAD_LIBPACK_DIR}/lib )
++ IF(FREECAD_LIBPACK_CHECKFILE6X)
++ include(cMake/UseLibPack6x.cmake)
++ set(FREECAD_LIBPACK6 FOUND CACHE STRING "Displays if the libpack has been found")
++ set(FREECAD_LIBPACK7 NOTFOUND CACHE STRING "Displays if the libpack has been found")
++ MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK7)
++ ELSEIF(FREECAD_LIBPACK_CHECKFILE7X)
++ include(cMake/UseLibPack7x.cmake)
++ set(FREECAD_LIBPACK6 NOTFOUND CACHE STRING "Displays if the libpack has been found")
++ MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK6)
++ set(FREECAD_LIBPACK7 FOUND CACHE STRING "Displays if the libpack has been found")
++ ELSEIF(FREECAD_LIBPACK_CHECKFILE8X)
++ include(cMake/UseLibPack8x.cmake)
++ set(FREECAD_LIBPACK6 NOTFOUND CACHE STRING "Displays if the libpack has been found")
++ set(FREECAD_LIBPACK7 NOTFOUND CACHE STRING "Displays if the libpack has been found")
++ set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/tools/swigwin-1.3.40/swig.exe)
++ MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK6)
++ set(FREECAD_LIBPACK8 FOUND CACHE STRING "Displays if the libpack has been found")
++ ELSEIF(FREECAD_LIBPACK_CHECKCUSTOM)
++ include(cMake/UseLibPackCustom.cmake)
++ set(FREECAD_LIBPACKX FOUND CACHE STRING "Displays if the libpack has been found")
++ ELSE(FREECAD_LIBPACK_CHECKFILE6X)
++ MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK_CHECKFILE6X FREECAD_LIBPACK_CHECKFILE7X)
++ message(SEND_ERROR "Could not find neither LibPack 6.x nor 7.x in specified location:" ${FREECAD_LIBPACK_DIR})
++ ENDIF(FREECAD_LIBPACK_CHECKFILE6X)
++
++# -------------------------------- Swig ----------------------------------
++
++ find_package(SWIG)
++
++ IF(NOT SWIG_FOUND)
++ MESSAGE("SWIG was not found, build no SWIG binding for pivy")
++ ENDIF(NOT SWIG_FOUND)
++
++else(FREECAD_LIBPACK_USE)
++
++MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK_CHECKFILE6X FREECAD_LIBPACK_CHECKFILE7X)
++
++
++
++# ================================================================================
++# == for other OSes search the packages ==========================================
++
++
++# -------------------------------- Python --------------------------------
++
++
++ #http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677598
++ set(Python_ADDITIONAL_VERSIONS "2.3" "2.4" "2.5" "2.6" "2.7" "2.8" "2.9")
++ find_package(PythonInterp REQUIRED)
++ IF (NOT DEFINED PYTHON_VERSION_STRING)
++ find_package(PythonLibs REQUIRED)
++ ELSE (NOT DEFINED PYTHON_VERSION_STRING)
++ find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT)
++ ENDIF(NOT DEFINED PYTHON_VERSION_STRING)
++
++ IF(NOT PYTHONLIBS_FOUND)
++ MESSAGE("Python not found, install python!")
++ ENDIF(NOT PYTHONLIBS_FOUND)
++
++
++
++# -------------------------------- Boost --------------------------------
++
++ SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.41.0" "1.39.0" "1.38.0" "1.37.0"
++ "1.36.1" "1.36.0" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34"
++ "1.33.1" "1.33.0" "1.33" )
++
++ find_package(Boost COMPONENTS filesystem program_options regex signals system thread REQUIRED)
++
++# -------------------------------- XercesC --------------------------------
++
++ find_package(XercesC REQUIRED)
++
++# -------------------------------- ZLIB --------------------------------
++
++ find_package(ZLIB REQUIRED)
++
++# -------------------------------- OpenCasCade --------------------------------
++
++#first, look for OpenCASCADE Community Edition (OCE)
++#if OCE is installed in a nonstandard location, add -DOCE_DIR=/path/to/dir/containing/OCEConfig.cmake
++# when configuring with cmake, i.e. cmake .. -DOCE_DIR=/usr/share/cmake
++ if( NOT DEFINED OCE_DIR )
++ if( UNIX )
++ set( OCE_DIR "/usr/local/share/cmake/" )
++ else()
++ set( OCE_DIR "c:/OCE-0.4.0/share/cmake" )
++ endif()
++ endif()
++ find_package ( OCE )
++ if( ${OCE_FOUND} )
++ message("-- OpenCASCADE Community Edition has been found.")
++ add_definitions ( -DHAVE_CONFIG_H )
++ set( OCC_LIBRARIES "TKFeat;TKFillet;TKMesh;TKernel;TKG2d;TKG3d;TKMath;TKIGES;TKSTL;TKShHealing;TKXSBase;TKBool;TKBO;TKBRep;TKTopAlgo;TKGeomAlgo;TKGeomBase;TKOffset;TKPrim;TKSTEP;TKSTEPBase;TKSTEPAttr;TKHLR" ) #lib list copied from FreeCAD's FindOpenCasCade.cmake
++ set( OCC_OCAF_LIBRARIES "TKCAF;TKXCAF;TKLCAF;TKXDESTEP;TKXDEIGES" ) #lib list copied from FreeCAD's FindOpenCasCade.cmake
++ set( OCC_INCLUDE_DIR ${OCE_INCLUDE_DIRS} )
++ set( OCC_FOUND ${OCE_FOUND} )
++ else() #look for OpenCASCADE
++ find_package(OpenCasCade)
++ IF(NOT OCC_FOUND)
++ MESSAGE("Neither OpenCASCADE Community Edition nor OpenCasCade were found: will not build CAD modules!")
++ ELSE()
++ MESSAGE("-- OpenCASCADE include directory: ${OCC_INCLUDE_PATH}")
++ MESSAGE("-- OpenCASCADE shared libraries directory: ${OCC_LIB_PATH}")
++ ENDIF()
++ endif()
++
++# -------------------------------- Salome SMESH --------------------------
++
++ # Salome SMESH sources are under src/3rdParty now
++ IF(OCC_FOUND)
++ set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc)
++ set(SMESH_LIBRARIES
++ StdMeshers
++ #MEFISTO2
++ SMESH
++ DriverUNV
++ SMESHDS
++ DriverSTL
++ DriverDAT
++ Driver
++ SMDS
++ )
++ set(SMESH_FOUND TRUE)
++ ENDIF(OCC_FOUND)
++ #find_package(SMESH)
++ #IF(NOT SMESH_FOUND)
++ # MESSAGE("Salome SMESH was not found!")
++ #ENDIF(NOT SMESH_FOUND)
++
++# -------------------------------- OpenCV --------------------------------
++
++ # not needed at the moment
++ #find_package(OpenCV REQUIRED)
++
++# -------------------------------- Swig ----------------------------------
++
++ find_package(SWIG)
++
++ IF(NOT SWIG_FOUND)
++ MESSAGE("SWIG was not found, build no SWIG binding for pivy")
++ ENDIF(NOT SWIG_FOUND)
++
++# -------------------------------- Eigen --------------------------------
++
++ #find_package(Eigen2)
++ find_package(Eigen3)
++
++# -------------------------------- ODE ----------------------------------
++
++# find_package(ODE)
++
++# -------------------------------- Qt --------------------------------
++
++# sets ${QT_LIBRARIES}
++
++ SET(QT_MIN_VERSION 4.5.0)
++ set(QT_USE_QTNETWORK TRUE)
++ set(QT_USE_QTXML TRUE)
++ if(FREECAD_BUILD_GUI)
++ set(QT_USE_QTOPENGL TRUE)
++ set(QT_USE_QTSVG TRUE)
++ set(QT_USE_QTUITOOLS TRUE)
++ set(QT_USE_QTWEBKIT TRUE)
++ endif(FREECAD_BUILD_GUI)
++ find_package(Qt4 REQUIRED)
++
++ include(${QT_USE_FILE})
++
++ IF(NOT QT4_FOUND)
++ MESSAGE("Library qt-4.3 or above is not available, install QT or FreeCAD Gui version will not be built")
++ ENDIF(NOT QT4_FOUND)
++
++ IF(NOT QT_QTWEBKIT_FOUND)
++ MESSAGE("Qt Webkit not found, will not build browser integration!")
++ ENDIF(NOT QT_QTWEBKIT_FOUND)
++
++
++ # This is a special version of the built in macro qt4_wrap_cpp
++ # It is required since moc'ed files are now included instead of being added to projects directly
++ # It adds a reverse dependency to solve this
++ # This has the unfortunate side effect that some files are always rebuilt
++ # There is probably a cleaner solution than this
++ macro(fc_wrap_cpp outfiles )
++ # get include dirs
++ QT4_GET_MOC_FLAGS(moc_flags)
++ QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
++ # fixes bug 0000585: bug with boost 1.48
++ SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
++
++ foreach(it ${moc_files})
++ get_filename_component(it ${it} ABSOLUTE)
++ QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
++ QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
++ set(${outfiles} ${${outfiles}} ${outfile})
++ add_file_dependencies(${it} ${outfile})
++ endforeach(it)
++ endmacro(fc_wrap_cpp)
++
++ if(FREECAD_BUILD_GUI)
++# -------------------------------- OpenGL --------------------------------
++
++ find_package(OpenGL)
++ include(FindPackageMessage)
++ if(OPENGL_GLU_FOUND)
++ find_package_message(OPENGL_GLU
++ "Found OpenGLU: ${OPENGL_glu_LIBRARY}"
++ "[${OPENGL_glu_LIBRARY}][${OEPNGL_INCLUDE_DIR}]")
++ else(OPENGL_GLU_FOUND)
++ message(FATAL_ERROR "The GLU library is required. Make sure it is installed.")
++ endif(OPENGL_GLU_FOUND)
++
++# -------------------------------- Coin3D --------------------------------
++
++ find_package(Coin3D REQUIRED)
++ find_package(SoQt REQUIRED)
++
++# ------------------------------ Spaceball -------------------------------
++
++ if (WIN32)
++ #future
++ else(WIN32)
++ find_package(Spnav)
++ endif(WIN32)
++
++# ------------------------------ Matplotlib ------------------------------
++
++ find_package(Matplotlib)
++ IF(MATPLOTLIB_FOUND)
++ message("-- matplotlib-${MATPLOTLIB_VERSION} has been found.")
++ ELSE(MATPLOTLIB_FOUND)
++ message("matplotlib not found, Plot module will not available until matplotlib is installed!")
++ ENDIF(MATPLOTLIB_FOUND)
++
++# ------------------------------------------------------------------------
++
++
++ endif(FREECAD_BUILD_GUI)
++
++
++endif(FREECAD_LIBPACK_USE)
++
++# copy build convenient files for M$
++if(WIN32)
++ if (EXISTS BuildAll.bat)
++ configure_file(BuildAll.bat ${CMAKE_BINARY_DIR}/BuildAll.bat COPYONLY)
++ endif (EXISTS BuildAll.bat)
++ #configure_file(BuildAllNice.bat ${CMAKE_BINARY_DIR}/BuildAllNice.bat COPYONLY)
++endif(WIN32)
++
++
++include(cMake/FreeCadMacros.cmake)
++
++
++# ================================================================================
++# == Global Compiler and Linker Settings =========================================
++
++include_directories(${CMAKE_BINARY_DIR}/src
++ ${CMAKE_SOURCE_DIR}/src)
++
++# check for 64-bit platform
++IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
++ MESSAGE(STATUS "Platform is 64-bit, set -D_OCC64")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_OCC64")
++ add_definitions(-D_OCC64 )
++ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
++ MESSAGE(STATUS "Platform is 32-bit")
++ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
++
++
++
++IF(MSVC)
++ # set default compiler settings
++ #SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /GY")
++ SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
++ # set default libs
++ SET (CMAKE_C_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib SHFolder.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ")
++ set (CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}")
++ # set linker flag /nodefaultlib
++ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB")
++ SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB")
++
++ # Mark 32 bit executables large address aware so they can use > 2GB address space
++ # NOTE: This setting only has an effect on machines with at least 3GB of RAM, although it sets the linker option it doesn't set the the linker switch 'Enable Large Addresses'
++ IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
++ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE")
++ SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
++ ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
++ELSE(MSVC)
++ SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
++ MESSAGE(STATUS "DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
++ENDIF(MSVC)
++IF(MINGW)
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthreads")
++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthreads")
++ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mthreads -Wl,--export-all-symbols")
++ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -mthreads -Wl,--export-all-symbols")
++ LINK_LIBRARIES(-lgdi32)
++ENDIF(MINGW)
++# 0000661: cmake build on Mac OS: dealing with dylib versus so
++IF(APPLE)
++ SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
++ENDIF(APPLE)
++
++add_subdirectory(src)
++add_subdirectory(data)
++
++# ================================================================================
++# == Packaging ===================================================================
++if(FREECAD_MAINTAINERS_BUILD AND NOT WIN32)
++ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An extensible Open Source CAx program")
++ set(CPACK_PACKAGE_VENDOR "FreeCAD development team")
++ if(WIN32)
++ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.Win32")
++ else(WIN32)
++ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.Linux")
++ endif(WIN32)
++ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/copying.lib")
++ set(CPACK_PACKAGE_VERSION_MAJOR ${PACKAGE_VERSION_MAJOR})
++ set(CPACK_PACKAGE_VERSION_MINOR ${PACKAGE_VERSION_MINOR})
++ set(CPACK_PACKAGE_VERSION_PATCH ${PACKAGE_VERSION_PATCH})
++ set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
++
++ #for debian: 'cmake .. -DFREECAD_MAINTAINERS_BUILD=TRUE -DCPACK_GENERATOR="DEB"'
++ IF( CMAKE_SIZEOF_VOID_P EQUAL 4 )
++ set(PKG_ARCH i386)
++ ELSE( CMAKE_SIZEOF_VOID_P EQUAL 4 )
++ set(PKG_ARCH amd64)
++ ENDIF( CMAKE_SIZEOF_VOID_P EQUAL 4 )
++ set(CPACK_DEBIAN_PACKAGE_SECTION "science")
++ set(CPACK_DEBIAN_PACKAGE_DEPENDS "python, oce | opencascade, libqtgui4, libcoin60, libsoqt4-20, libxerces-c3.1, zlib1g, libboost-dev, libeigen2-dev")
++ set(CPACK_PACKAGE_CONTACT "<root@localhost>")
++ set(CPACK_PACKAGE_FILE_NAME "${PACKAGE_NAME}-${PACKAGE_VERSION}_${PKG_ARCH}")
++
++ if(WIN32)
++ set(CPACK_GENERATOR "ZIP")
++ set(CPACK_SOURCE_GENERATOR "ZIP")
++ else(WIN32)
++ if( CPACK_GENERATOR STREQUAL "" )
++ set(CPACK_GENERATOR "TGZ")
++ set(CPACK_SOURCE_GENERATOR "TGZ")
++ endif()
++ endif(WIN32)
++ file(GLOB DOT ".*")
++ file(GLOB TILD "*~")
++ set(CPACK_SOURCE_IGNORE_FILES
++ "${DOT}"
++ "${TILD}"
++ ".a$"
++ ".am$"
++ ".in$"
++ ".bat$"
++ ".o$"
++ ".so$"
++ ".m4$"
++ "/_build/"
++ "/_cmake/"
++ "/.deps/"
++ "/.svn/"
++ "/CMakeFiles/"
++ "/CVS/"
++ "/autom4te.cache/"
++ "/build/"
++ "/debian/"
++ "/debug/"
++ "/docs/"
++ "/m4/"
++ "/qt-build/"
++ "/CxImage/"
++ "/WindowsInstaller/"
++ "AdditionalInfo.txt$"
++ "CMakeCache.txt$"
++ "Makefile$"
++ "\\\\.sh$"
++ "_CPack_"
++ "config.h$"
++ "config.log$"
++ "config.status$"
++ "configure$"
++ "configure.ac$"
++ "Doxyfile"
++ "html$"
++ "stamp-h1$"
++ ".swp$"
++ "tar.bz2"
++ "tar.gz"
++ "~$"
++ )
++ #set(CPACK_SOURCE_IGNORE_FILES
++ # ${CPACK_SOURCE_IGNORE_FILES}
++ # "/Pivy-0.5/"
++ #)
++ set(CPACK_SOURCE_STRIP_FILES "")
++ include(CPack)
++
++ #ADD_CUSTOM_TARGET(DIST make package_source)
++
++endif(FREECAD_MAINTAINERS_BUILD AND NOT WIN32)
++ #add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
++ add_custom_target(dist-git
++ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/makedist.py
++ --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR}
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ )
++ add_custom_target(distdfsg-git
++ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/makedist.py
++ --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} --dfsg
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ )
++if(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
++ add_custom_target(distcheck-git
++ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/makedist.py
++ --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} --check
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ )
++ add_custom_target(distcheckdfsg-git
++ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/makedist.py
++ --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} --dfsg --check
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ )
++endif(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
++
+diff -Naur freecad-0.13.1830.orig/src/Gui/CMakeLists.txt freecad-0.13.1830/src/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Gui/CMakeLists.txt 2013-10-25 18:49:34.262330288 +0200
++++ freecad-0.13.1830/src/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -562,7 +562,7 @@
+ #SET(Resource_RCS
+ # Icons/resource.qrc
+ # Language/translation.qrc)
+-#fc_add_resources(Resource_SRCS ${Resource_RCS})
++#qt4_add_resources(Resource_SRCS ${Resource_RCS})
+ #SET(Resource_SRCS
+ # ${Resource_SRCS}
+ # Icons/resource.qrc
+diff -Naur freecad-0.13.1830.orig/src/Gui/CMakeLists.txt.orig freecad-0.13.1830/src/Gui/CMakeLists.txt.orig
+--- freecad-0.13.1830.orig/src/Gui/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Gui/CMakeLists.txt.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,878 @@
++#add_subdirectory(Icons)
++
++if(WIN32)
++add_definitions(-DFCGui -DQIIS_MAKEDLL)
++endif(WIN32)
++if (FREECAD_USE_3DCONNEXION)
++add_definitions(-D_USE_3DCONNEXION_SDK)
++endif(FREECAD_USE_3DCONNEXION)
++
++include_directories(
++ ${CMAKE_CURRENT_SOURCE_DIR}
++ ${CMAKE_CURRENT_BINARY_DIR}
++ ${CMAKE_CURRENT_SOURCE_DIR}/..
++ ${CMAKE_CURRENT_BINARY_DIR}/..
++ ${CMAKE_CURRENT_BINARY_DIR}/Language
++ ${CMAKE_CURRENT_BINARY_DIR}/propertyeditor
++ ${CMAKE_CURRENT_BINARY_DIR}/TaskView
++ ${Boost_INCLUDE_DIRS}
++ ${COIN3D_INCLUDE_DIR}
++ ${PYTHON_INCLUDE_PATH}
++ ${SOQT_INCLUDE_DIR}
++ ${XERCESC_INCLUDE_DIR}
++ ${QT_INCLUDE_DIR}
++ ${ZLIB_INCLUDE_DIR}
++)
++
++if(MSVC)
++ set(FreeCADGui_LIBS
++ FreeCADApp
++ debug ${COIN3D_LIBRARY_DEBUG}
++ optimized ${COIN3D_LIBRARY_RELEASE}
++ debug ${SOQT_LIBRARY_DEBUG}
++ optimized ${SOQT_LIBRARY_RELEASE}
++ ${QT_DEBUG_LIBRARIES}
++ ${QT_LIBRARIES}
++ QtUiTools.lib
++ ${OPENGL_gl_LIBRARY}
++ )
++else(MSVC)
++ set(FreeCADGui_LIBS
++ FreeCADBase
++ FreeCADApp
++ ${COIN3D_LIBRARY}
++ ${SOQT_LIBRARIES}
++ ${QT_LIBRARIES}
++ ${Boost_LIBRARIES}
++ ${OPENGL_gl_LIBRARY}
++ )
++endif(MSVC)
++
++IF(SPNAV_FOUND)
++ add_definitions(-DSPNAV_FOUND)
++ include_directories(
++ ${SPNAV_INCLUDE_DIR}
++ )
++ set(FreeCADGui_LIBS
++ ${FreeCADGui_LIBS}
++ ${SPNAV_LIBRARIES}
++ )
++ENDIF(SPNAV_FOUND)
++
++generate_from_xml(DocumentPy)
++generate_from_xml(PythonWorkbenchPy)
++generate_from_xml(ViewProviderPy)
++generate_from_xml(ViewProviderDocumentObjectPy)
++generate_from_xml(ViewProviderPythonFeaturePy)
++generate_from_xml(WorkbenchPy)
++generate_from_xml(SelectionObjectPy)
++
++generate_from_py(FreeCADGuiInit GuiInitScript.h)
++
++# The XML files
++SET(FreeCADGui_XML_SRCS
++ ViewProviderDocumentObjectPy.xml
++ ViewProviderPythonFeaturePy.xml
++ ViewProviderPy.xml
++ PythonWorkbenchPy.xml
++ WorkbenchPy.xml
++ SelectionObjectPy.xml
++ DocumentPy.xml
++)
++SOURCE_GROUP("XML" FILES ${FreeCADApp_XML_SRCS})
++
++# The 3D Connexion SDK files
++if(FREECAD_USE_3DCONNEXION)
++SET(FreeCADGui_SDK_SRCS
++ 3Dconnexion/I3dMouseParams.h
++ 3Dconnexion/MouseParameters.cpp
++ 3Dconnexion/MouseParameters.h
++ 3Dconnexion/GuiApplicationNativeEventAwareWin32.cpp
++)
++SOURCE_GROUP("3D connexion SDK" FILES ${FreeCADGui_SDK_SRCS})
++endif(FREECAD_USE_3DCONNEXION)
++
++set(Gui_MOC_HDRS
++ Action.h
++ CallTips.h
++ CombiView.h
++ Control.h
++ DemoMode.h
++ DownloadDialog.h
++ DlgActionsImp.h
++ DlgActivateWindowImp.h
++ DlgCommandsImp.h
++ DlgCustomizeImp.h
++ DlgCustomizeSpaceball.h
++ DlgCustomizeSpNavSettings.h
++ DlgDisplayPropertiesImp.h
++ DlgEditorImp.h
++ DlgGeneralImp.h
++ DlgInputDialogImp.h
++ DlgKeyboardImp.h
++ DlgMacroExecuteImp.h
++ DlgMacroRecordImp.h
++ DlgRunExternal.h
++ DlgEditFileIncludeProptertyExternal.h
++ DlgMaterialPropertiesImp.h
++ DlgOnlineHelpImp.h
++ DlgParameterImp.h
++ DlgPreferencesImp.h
++ DlgProjectUtility.h
++ DlgReportViewImp.h
++ DlgSettings3DViewImp.h
++ DlgSettingsViewColor.h
++ DlgSettingsColorGradientImp.h
++ DlgSettingsDocumentImp.h
++ DlgSettingsImageImp.h
++ DlgSettingsMacroImp.h
++ DlgSettingsUnitsImp.h
++ DlgTipOfTheDayImp.h
++ DlgToolbarsImp.h
++ TaskDlgRelocation.h
++ DlgUndoRedo.h
++ DockWindow.h
++ DockWindowManager.h
++ EditorView.h
++ FileDialog.h
++ Flag.h
++ GuiApplicationNativeEventAware.h
++ HelpView.h
++ InputVector.h
++ MainWindow.h
++ ManualAlignment.h
++ MDIView.h
++ NetworkRetriever.h
++ OnlineDocumentation.h
++ Placement.h
++ PrefWidgets.h
++ ProgressBar.h
++ PropertyPage.h
++ PropertyView.h
++ PythonConsole.h
++ PythonDebugger.h
++ PythonEditor.h
++ ReportView.h
++ SceneInspector.h
++ SelectionView.h
++ SpinBox.h
++ Splashscreen.h
++ TaskPanelView.h
++ TextEdit.h
++ TextureMapping.h
++ ToolBox.h
++ Transform.h
++ Tree.h
++ TreeView.h
++ View3DInventor.h
++ WidgetFactory.h
++ Widgets.h
++ Language/Translator.h
++ propertyeditor/PropertyEditor.h
++ propertyeditor/PropertyItem.h
++ propertyeditor/PropertyItemDelegate.h
++ propertyeditor/PropertyModel.h
++ TaskView/TaskAppearance.h
++ TaskView/TaskSelectLinkProperty.h
++ TaskView/TaskDialog.h
++ TaskView/TaskWatcher.h
++ TaskView/TaskEditControl.h
++ TaskView/TaskView.h
++)
++#qt4_wrap_cpp(Gui_MOC_SRCS ${Gui_MOC_HDRS})
++fc_wrap_cpp(Gui_MOC_SRCS ${Gui_MOC_HDRS})
++#SOURCE_GROUP("Moc" FILES ${Gui_MOC_SRCS})
++
++SET(Gui_UIC_SRCS
++ AboutApplication.ui
++ DemoMode.ui
++ DlgActions.ui
++ DlgActivateWindow.ui
++ DlgAuthorization.ui
++ DlgChooseIcon.ui
++ DlgCommands.ui
++ DlgCustomizeSpNavSettings.ui
++ DlgDisplayProperties.ui
++ DlgEditor.ui
++ DlgGeneral.ui
++ DlgInputDialog.ui
++ DlgKeyboard.ui
++ DlgMacroExecute.ui
++ DlgRunExternal.ui
++ DlgMacroRecord.ui
++ DlgMaterialProperties.ui
++ DlgOnlineHelp.ui
++ DlgParameter.ui
++ DlgPreferences.ui
++ DlgProjectInformation.ui
++ DlgProjectUtility.ui
++ DlgReportView.ui
++ DlgSettings3DView.ui
++ DlgSettingsUnits.ui
++ DlgSettingsViewColor.ui
++ DlgSettingsColorGradient.ui
++ DlgSettingsDocument.ui
++ DlgSettingsImage.ui
++ DlgSettingsMacro.ui
++ DlgTipOfTheDay.ui
++ DlgToolbars.ui
++ DlgTreeWidget.ui
++ DlgLocationAngle.ui
++ DlgLocationPos.ui
++ MouseButtons.ui
++ SceneInspector.ui
++ InputVector.ui
++ Placement.ui
++ TextureMapping.ui
++ TaskView/TaskAppearance.ui
++ TaskView/TaskSelectLinkProperty.ui
++)
++
++SET(Gui_RES_SRCS
++ Icons/resource.qrc
++ Language/translation.qrc
++ iisTaskPanel/src/iisTaskPanel.qrc
++)
++QT4_ADD_RESOURCES(Gui_QRC_SRCS ${Gui_RES_SRCS})
++
++QT4_WRAP_UI(Gui_UIC_HDRS ${Gui_UIC_SRCS})
++SOURCE_GROUP("Uic" FILES ${Gui_UIC_HDRS})
++
++# The command sources
++SET(Command_CPP_SRCS
++ Action.cpp
++ Command.cpp
++ CommandDoc.cpp
++ CommandFeat.cpp
++ CommandMacro.cpp
++ CommandStd.cpp
++ CommandWindow.cpp
++ CommandTest.cpp
++ CommandView.cpp
++)
++SET(Command_SRCS
++ ${Command_CPP_SRCS}
++ Action.h
++ Command.h
++)
++SOURCE_GROUP("Command" FILES ${Command_SRCS})
++
++# The dialog sources
++SET(Dialog_CPP_SRCS
++ DemoMode.cpp
++ DlgActivateWindowImp.cpp
++ DlgDisplayPropertiesImp.cpp
++ DlgInputDialogImp.cpp
++ DlgMacroExecuteImp.cpp
++ DlgRunExternal.cpp
++ DlgEditFileIncludeProptertyExternal.cpp
++ DlgMacroRecordImp.cpp
++ DlgMaterialPropertiesImp.cpp
++ DlgParameterImp.cpp
++ DlgProjectInformationImp.cpp
++ DlgProjectUtility.cpp
++ DlgTipOfTheDayImp.cpp
++ TaskDlgRelocation.cpp
++ DlgUndoRedo.cpp
++ InputVector.cpp
++ Placement.cpp
++ PropertyPage.cpp
++ SceneInspector.cpp
++ TextureMapping.cpp
++ Transform.cpp
++ DownloadDialog.cpp
++)
++
++SET(Dialog_HPP_SRCS
++ DemoMode.h
++ DlgActivateWindowImp.h
++ DlgDisplayPropertiesImp.h
++ DlgInputDialogImp.h
++ DlgMacroExecuteImp.h
++ DlgRunExternal.h
++ DlgEditFileIncludeProptertyExternal.h
++ DlgMacroRecordImp.h
++ DlgMaterialPropertiesImp.h
++ DlgParameterImp.h
++ DlgProjectInformationImp.h
++ DlgProjectUtility.h
++ DlgTipOfTheDayImp.h
++ TaskDlgRelocation.h
++ DlgUndoRedo.h
++ InputVector.h
++ Placement.h
++ PropertyPage.h
++ SceneInspector.h
++ TextureMapping.h
++ Transform.h
++ DownloadDialog.h
++)
++
++SET(Dialog_SRCS
++ ${Dialog_CPP_SRCS}
++ ${Dialog_HPP_SRCS}
++ AboutApplication.ui
++ DemoMode.ui
++ DlgActivateWindow.ui
++ DlgAuthorization.ui
++ DlgDisplayProperties.ui
++ DlgInputDialog.ui
++ DlgMacroExecute.ui
++ DlgRunExternal.ui
++ DlgMacroRecord.ui
++ DlgMaterialProperties.ui
++ DlgParameter.ui
++ DlgProjectInformation.ui
++ DlgProjectUtility.ui
++ DlgTipOfTheDay.ui
++ DlgTreeWidget.ui
++ MouseButtons.ui
++ InputVector.ui
++ Placement.ui
++ SceneInspector.ui
++ TextureMapping.ui
++)
++SOURCE_GROUP("Dialog" FILES ${Dialog_SRCS})
++
++# The customize dialog sources
++SET(Dialog_Customize_CPP_SRCS
++ DlgActionsImp.cpp
++ DlgCommandsImp.cpp
++ DlgCustomizeImp.cpp
++ DlgCustomizeSpaceball.cpp
++ DlgCustomizeSpNavSettings.cpp
++ DlgKeyboardImp.cpp
++ DlgToolbarsImp.cpp
++)
++SET(Dialog_Customize_HPP_SRCS
++ DlgActionsImp.h
++ DlgCommandsImp.h
++ DlgCustomizeImp.h
++ DlgCustomizeSpaceball.h
++ DlgCustomizeSpNavSettings.h
++ DlgKeyboardImp.h
++ DlgToolbarsImp.h
++)
++SET(Dialog_Customize_SRCS
++ ${Dialog_Customize_CPP_SRCS}
++ ${Dialog_Customize_HPP_SRCS}
++ DlgActions.ui
++ DlgChooseIcon.ui
++ DlgCommands.ui
++ DlgCustomizeSpNavSettings.ui
++ DlgKeyboard.ui
++ DlgToolbars.ui
++)
++SOURCE_GROUP("Dialog\\Customize" FILES ${Dialog_Customize_SRCS})
++
++# The settings dialog sources
++SET(Dialog_Settings_CPP_SRCS
++ DlgEditorImp.cpp
++ DlgGeneralImp.cpp
++ DlgOnlineHelpImp.cpp
++ DlgPreferencesImp.cpp
++ DlgReportViewImp.cpp
++ DlgSettings3DViewImp.cpp
++ DlgSettingsUnitsImp.cpp
++ DlgSettingsViewColor.cpp
++ DlgSettingsColorGradientImp.cpp
++ DlgSettingsDocumentImp.cpp
++ DlgSettingsImageImp.cpp
++ DlgSettingsMacroImp.cpp
++)
++SET(Dialog_Settings_HPP_SRCS
++ DlgEditorImp.h
++ DlgGeneralImp.h
++ DlgOnlineHelpImp.h
++ DlgPreferencesImp.h
++ DlgReportViewImp.h
++ DlgSettings3DViewImp.h
++ DlgSettingsUnitsImp.h
++ DlgSettingsViewColor.h
++ DlgSettingsColorGradientImp.h
++ DlgSettingsDocumentImp.h
++ DlgSettingsImageImp.h
++ DlgSettingsMacroImp.h
++)
++SET(Dialog_Settings_SRCS
++ ${Dialog_Settings_CPP_SRCS}
++ ${Dialog_Settings_HPP_SRCS}
++ DlgEditor.ui
++ DlgGeneral.ui
++ DlgOnlineHelp.ui
++ DlgPreferences.ui
++ DlgReportView.ui
++ DlgSettings3DView.ui
++ DlgSettingsUnits.ui
++ DlgSettingsViewColor.ui
++ DlgSettingsColorGradient.ui
++ DlgSettingsDocument.ui
++ DlgSettingsImage.ui
++ DlgSettingsMacro.ui
++)
++SOURCE_GROUP("Dialog\\Settings" FILES ${Dialog_Settings_SRCS})
++
++# The dock windows sources
++SET(Dock_Windows_CPP_SRCS
++ CombiView.cpp
++ DockWindow.cpp
++ HelpView.cpp
++ PropertyView.cpp
++ ReportView.cpp
++ SelectionView.cpp
++ TaskPanelView.cpp
++ ToolBox.cpp
++ Tree.cpp
++ TreeView.cpp
++)
++SET(Dock_Windows_HPP_SRCS
++ CombiView.h
++ DockWindow.h
++ HelpView.h
++ PropertyView.h
++ ReportView.h
++ SelectionView.h
++ TaskPanelView.h
++ ToolBox.h
++ Tree.h
++ TreeView.h
++)
++SET(Dock_Windows_SRCS
++ ${Dock_Windows_CPP_SRCS}
++ ${Dock_Windows_HPP_SRCS}
++)
++SOURCE_GROUP("Dock Windows" FILES ${Dock_Windows_SRCS})
++
++# The editor sources
++SET(Editor_CPP_SRCS
++ CallTips.cpp
++ EditorView.cpp
++ PythonConsole.cpp
++ PythonConsolePy.cpp
++ PythonDebugger.cpp
++ PythonEditor.cpp
++ SyntaxHighlighter.cpp
++ TextEdit.cpp
++)
++SET(Editor_HPP_SRCS
++ CallTips.h
++ EditorView.h
++ PythonConsole.h
++ PythonConsolePy.h
++ PythonDebugger.h
++ PythonEditor.h
++ SyntaxHighlighter.h
++ TextEdit.h
++)
++SET(Editor_SRCS
++ ${Editor_CPP_SRCS}
++ ${Editor_HPP_SRCS}
++)
++SOURCE_GROUP("Editor" FILES ${Editor_SRCS})
++
++# The help system
++SET(Help_CPP_SRCS
++ Assistant.cpp
++ NetworkRetriever.cpp
++ OnlineDocumentation.cpp
++ WhatsThis.cpp
++)
++SET(Help_SRCS
++ ${Help_CPP_SRCS}
++ Assistant.h
++ NetworkRetriever.h
++ OnlineDocumentation.h
++ WhatsThis.h
++)
++SOURCE_GROUP("Help" FILES ${Help_SRCS})
++
++
++# The i18n sources
++SET(Language_SRCS
++ Language/Translator.cpp
++ Language/Translator.h
++)
++SOURCE_GROUP("Language" FILES ${Language_SRCS})
++
++# The property editor
++SET(Propertyeditor_SRCS
++ propertyeditor/PropertyEditor.cpp
++ propertyeditor/PropertyEditor.h
++ propertyeditor/PropertyItem.cpp
++ propertyeditor/PropertyItem.h
++ propertyeditor/PropertyItemDelegate.cpp
++ propertyeditor/PropertyItemDelegate.h
++ propertyeditor/PropertyModel.cpp
++ propertyeditor/PropertyModel.h
++)
++SOURCE_GROUP("Propertyeditor" FILES ${Propertyeditor_SRCS})
++
++# The task view
++SET(Task_View_SRCS
++ TaskView/TaskAppearance.cpp
++ TaskView/TaskAppearance.h
++ TaskView/TaskAppearance.ui
++ TaskView/TaskSelectLinkProperty.cpp
++ TaskView/TaskSelectLinkProperty.h
++ TaskView/TaskSelectLinkProperty.ui
++ TaskView/TaskEditControl.cpp
++ TaskView/TaskEditControl.h
++ TaskView/TaskEditControl.ui
++ TaskView/TaskView.cpp
++ TaskView/TaskView.h
++ TaskView/TaskDialog.cpp
++ TaskView/TaskDialog.h
++ TaskView/TaskDialogPython.cpp
++ TaskView/TaskDialogPython.h
++ TaskView/TaskWatcher.cpp
++ TaskView/TaskWatcher.h
++)
++SOURCE_GROUP("Task View" FILES ${Task_View_SRCS})
++
++SET(iisTaskPanel_SRCS
++ iisTaskPanel/src/iisfreecadscheme.cpp
++ iisTaskPanel/src/iisfreecadscheme.h
++ iisTaskPanel/src/iisiconlabel.cpp
++ iisTaskPanel/src/iisiconlabel.h
++ iisTaskPanel/src/iistaskbox.cpp
++ iisTaskPanel/src/iistaskbox.h
++ iisTaskPanel/src/iistaskgroup.cpp
++ iisTaskPanel/src/iistaskgroup.h
++ iisTaskPanel/src/iistaskheader.cpp
++ iisTaskPanel/src/iistaskheader.h
++ iisTaskPanel/src/iistaskpanel.cpp
++ iisTaskPanel/src/iistaskpanel.h
++ iisTaskPanel/src/iistaskpanelscheme.cpp
++ iisTaskPanel/src/iistaskpanelscheme.h
++ iisTaskPanel/src/iiswinxptaskpanelscheme.cpp
++ iisTaskPanel/src/iiswinxptaskpanelscheme.h
++ iisTaskPanel/src/iistaskpanel_global.h
++)
++SOURCE_GROUP("Widget\\iisTaskPanel" FILES ${iisTaskPanel_SRCS})
++set(iis_MOC_HDRS
++ iisTaskPanel/src/iisiconlabel.h
++ iisTaskPanel/src/iistaskbox.h
++ iisTaskPanel/src/iistaskgroup.h
++ iisTaskPanel/src/iistaskheader.h
++)
++qt4_wrap_cpp(iis_MOC_SRCS ${iis_MOC_HDRS})
++SOURCE_GROUP("Widget\\iisTaskPanel\\Mocs" FILES ${iis_MOC_SRCS})
++
++
++#SET(Resource_RCS
++# Icons/resource.qrc
++# Language/translation.qrc)
++#fc_add_resources(Resource_SRCS ${Resource_RCS})
++#SET(Resource_SRCS
++# ${Resource_SRCS}
++# Icons/resource.qrc
++# Language/translation.qrc
++#)
++#SOURCE_GROUP("Resource" FILES ${Resource_SRCS})
++
++# The 3d view
++SET(View3D_CPP_SRCS
++ Flag.cpp
++ MouseSelection.cpp
++ NavigationStyle.cpp
++ InventorNavigationStyle.cpp
++ CADNavigationStyle.cpp
++ BlenderNavigationStyle.cpp
++ TouchpadNavigationStyle.cpp
++ SplitView3DInventor.cpp
++ View.cpp
++ View3DInventor.cpp
++ View3DInventorExamples.cpp
++ View3DInventorViewer.cpp
++ View3DPy.cpp
++)
++SET(View3D_SRCS
++ ${View3D_CPP_SRCS}
++ Flag.h
++ MouseSelection.h
++ NavigationStyle.h
++ SplitView3DInventor.h
++ View.h
++ View3DInventor.h
++ View3DInventorExamples.h
++ View3DInventorViewer.h
++ View3DPy.h
++)
++SOURCE_GROUP("View3D" FILES ${View3D_SRCS})
++
++# The view provider sources
++SET(Viewprovider_CPP_SRCS
++ ViewProvider.cpp
++ ViewProviderAnnotation.cpp
++ ViewProviderDocumentObject.cpp
++ ViewProviderDocumentObjectGroup.cpp
++ ViewProviderDocumentObjectPyImp.cpp
++ ViewProviderPythonFeaturePyImp.cpp
++ ViewProviderExtern.cpp
++ ViewProviderFeature.cpp
++ ViewProviderGeometryObject.cpp
++ ViewProviderInventorObject.cpp
++ ViewProviderMeasureDistance.cpp
++ ViewProviderPyImp.cpp
++ ViewProviderPythonFeature.cpp
++ ViewProviderVRMLObject.cpp
++ ViewProviderBuilder.cpp
++)
++SET(Viewprovider_SRCS
++ ${Viewprovider_CPP_SRCS}
++ ViewProvider.h
++ ViewProviderAnnotation.h
++ ViewProviderDocumentObject.h
++ ViewProviderDocumentObjectGroup.h
++ ViewProviderExtern.h
++ ViewProviderFeature.h
++ ViewProviderGeometryObject.h
++ ViewProviderInventorObject.h
++ ViewProviderMeasureDistance.h
++ ViewProviderPythonFeature.h
++ ViewProviderVRMLObject.h
++ ViewProviderBuilder.h
++)
++SOURCE_GROUP("View3D\\Viewprovider" FILES ${Viewprovider_SRCS})
++
++# The Inventor sources
++SET(Inventor_CPP_SRCS
++ Inventor/SoDrawingGrid.cpp
++ SoFCBackgroundGradient.cpp
++ SoFCBoundingBox.cpp
++ SoFCColorBar.cpp
++ SoFCColorGradient.cpp
++ SoFCColorLegend.cpp
++ SoFCDB.cpp
++ SoFCInteractiveElement.cpp
++ SoFCOffscreenRenderer.cpp
++ SoFCSelection.cpp
++ SoFCUnifiedSelection.cpp
++ SoFCSelectionAction.cpp
++ SoFCVectorizeSVGAction.cpp
++ SoFCVectorizeU3DAction.cpp
++ SoNavigationDragger.cpp
++ SoAxisCrossKit.cpp
++ SoTextLabel.cpp
++)
++SET(Inventor_SRCS
++ ${Inventor_CPP_SRCS}
++ Inventor/SoDrawingGrid.h
++ SoFCBackgroundGradient.h
++ SoFCBoundingBox.h
++ SoFCColorBar.h
++ SoFCColorGradient.h
++ SoFCColorLegend.h
++ SoFCDB.h
++ SoFCInteractiveElement.h
++ SoFCOffscreenRenderer.h
++ SoFCSelection.h
++ SoFCUnifiedSelection.h
++ SoFCSelectionAction.h
++ SoFCVectorizeSVGAction.h
++ SoFCVectorizeU3DAction.h
++ SoNavigationDragger.h
++ SoAxisCrossKit.h
++ SoTextLabel.h
++)
++SOURCE_GROUP("View3D\\Inventor" FILES ${Inventor_SRCS})
++
++# The widget sources
++SET(Widget_CPP_SRCS
++ FileDialog.cpp
++ MainWindow.cpp
++ MDIView.cpp
++ PrefWidgets.cpp
++ ProgressBar.cpp
++ SpinBox.cpp
++ Splashscreen.cpp
++ WidgetFactory.cpp
++ Widgets.cpp
++ Window.cpp
++)
++SET(Widget_HPP_SRCS
++ FileDialog.h
++ MainWindow.h
++ MDIView.h
++ PrefWidgets.h
++ ProgressBar.h
++ SpinBox.h
++ Splashscreen.h
++ WidgetFactory.h
++ Widgets.h
++ Window.h
++)
++SET(Widget_SRCS
++ ${Widget_CPP_SRCS}
++ ${Widget_HPP_SRCS}
++)
++SOURCE_GROUP("Widget" FILES ${Widget_SRCS})
++
++# The workbench sources
++SET(Workbench_CPP_SRCS
++ DockWindowManager.cpp
++ MenuManager.cpp
++ PythonWorkbenchPyImp.cpp
++ ToolBarManager.cpp
++ ToolBoxManager.cpp
++ Workbench.cpp
++ WorkbenchFactory.cpp
++ WorkbenchManager.cpp
++ WorkbenchPyImp.cpp
++)
++SET(Workbench_SRCS
++ ${Workbench_CPP_SRCS}
++ DockWindowManager.h
++ MenuManager.h
++ ToolBarManager.h
++ ToolBoxManager.h
++ Workbench.h
++ WorkbenchFactory.h
++ WorkbenchManager.h
++)
++SOURCE_GROUP("Workbench" FILES ${Workbench_SRCS})
++
++SET(Selection_SRCS
++ SelectionObjectPyImp.cpp
++ SelectionObject.h
++ SelectionObject.cpp
++ Selection.h
++ Selection.cpp
++ SelectionFilter.h
++ SelectionFilter.cpp
++ SelectionFilter.y
++ SelectionFilter.l
++)
++SOURCE_GROUP("Selection" FILES ${Selection_SRCS})
++
++# The FreeCADGui sources
++SET(FreeCADGui_CPP_SRCS
++ Application.cpp
++ ApplicationPy.cpp
++ BitmapFactory.cpp
++ Document.cpp
++ DocumentModel.cpp
++ DocumentPyImp.cpp
++ GuiApplicationNativeEventAware.cpp
++ GuiConsole.cpp
++ Macro.cpp
++ MergeDocuments.cpp
++ resource.cpp
++ Control.cpp
++ SpaceballEvent.cpp
++ Thumbnail.cpp
++ Utilities.cpp
++ WaitCursor.cpp
++ ManualAlignment.cpp
++)
++SET(FreeCADGui_SRCS
++ Application.h
++ BitmapFactory.h
++ Document.h
++ DocumentModel.h
++ FreeCADGuiInit.py
++ GuiApplicationNativeEventAware.h
++ GuiConsole.h
++ InventorAll.h
++ Macro.h
++ MergeDocuments.h
++ PreCompiled.cpp
++ PreCompiled.h
++ Qt4All.h
++ Control.h
++ SpaceballEvent.h
++ Thumbnail.h
++ Utilities.h
++ WaitCursor.h
++ ManualAlignment.h
++)
++
++SET(FreeCADGui_SRCS
++ ${FreeCADGui_SDK_SRCS}
++ ${FreeCADGui_CPP_SRCS}
++ ${FreeCADGui_XML_SRCS}
++ ${iis_MOC_SRCS}
++ ${Gui_QRC_SRCS}
++ ${Gui_UIC_HDRS}
++ ${Command_SRCS}
++ ${Dialog_SRCS}
++ ${Dialog_Customize_SRCS}
++ ${Dialog_Settings_SRCS}
++ ${Dock_Windows_SRCS}
++ ${Editor_SRCS}
++ ${Help_SRCS}
++ ${Inventor_SRCS}
++ ${Language_SRCS}
++ ${Propertyeditor_SRCS}
++ ${Task_View_SRCS}
++ ${iisTaskPanel_SRCS}
++ ${Resource_SRCS}
++ ${View3D_SRCS}
++ ${Viewprovider_SRCS}
++ ${Widget_SRCS}
++ ${Workbench_SRCS}
++ ${Selection_SRCS}
++ ${FreeCADGui_SRCS}
++)
++
++if(MSVC)
++ add_definitions(-D_PreComp_)
++ SET(FreeCADGui_CPP_SRCS
++ Language/Translator.cpp
++ propertyeditor/PropertyEditor.cpp
++ propertyeditor/PropertyItem.cpp
++ propertyeditor/PropertyItemDelegate.cpp
++ propertyeditor/PropertyModel.cpp
++ TaskView/TaskAppearance.cpp
++ TaskView/TaskSelectLinkProperty.cpp
++ TaskView/TaskEditControl.cpp
++ TaskView/TaskView.cpp
++ ${Command_CPP_SRCS}
++ ${Dialog_CPP_SRCS}
++ ${Dialog_Customize_CPP_SRCS}
++ ${Dialog_Settings_CPP_SRCS}
++ ${Dock_Windows_CPP_SRCS}
++ ${Editor_CPP_SRCS}
++ ${Help_CPP_SRCS}
++ ${Inventor_CPP_SRCS}
++ ${View3D_CPP_SRCS}
++ ${Viewprovider_CPP_SRCS}
++ ${Widget_CPP_SRCS}
++ ${Workbench_CPP_SRCS}
++ ${FreeCADGui_CPP_SRCS}
++ )
++ ADD_MSVC_PRECOMPILED_HEADER("PreCompiled.h" "PreCompiled.cpp" FreeCADGui_CPP_SRCS)
++endif(MSVC)
++
++add_library(FreeCADGui SHARED ${FreeCADGui_SRCS})
++
++target_link_libraries(FreeCADGui ${FreeCADGui_LIBS})
++
++# Note this is IDE specific, not necessarily platform specific
++if(MSVC)
++ set_target_properties(FreeCADGui PROPERTIES DEBUG_OUTPUT_NAME "FreeCADGuiD")
++ set_target_properties(FreeCADGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
++ # dirty hack to avoid Debug/Release subdirectory
++ set_target_properties(FreeCADGui PROPERTIES PREFIX "../")
++elseif(MINGW)
++ set_target_properties(FreeCADGui PROPERTIES DEBUG_OUTPUT_NAME "FreeCADGuiD")
++ set_target_properties(FreeCADGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
++else(MSVC)
++ set_target_properties(FreeCADGui PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
++ set_target_properties(FreeCADGui PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
++endif(MSVC)
++
++if(WIN32)
++ INSTALL(TARGETS FreeCADGui
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ )
++else(WIN32)
++ INSTALL(TARGETS FreeCADGui
++ LIBRARY DESTINATION lib
++ )
++ INSTALL(FILES Icons/freecad.xpm Icons/freecad-doc.png
++ DESTINATION ${CMAKE_INSTALL_DATADIR}
++ )
++endif(WIN32)
++
+diff -Naur freecad-0.13.1830.orig/src/Mod/Image/Gui/AppImageGui.cpp freecad-0.13.1830/src/Mod/Image/Gui/AppImageGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Image/Gui/AppImageGui.cpp 2013-10-25 18:49:34.535662140 +0200
++++ freecad-0.13.1830/src/Mod/Image/Gui/AppImageGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -20,7 +20,7 @@
+ #include <Gui/Language/Translator.h>
+ #include "Workbench.h"
+ #include "ViewProviderImagePlane.h"
+-#include "qrc_Image.cpp"
++#include "qrc_Image.cxx"
+
+ // use a different name to CreateCommand()
+ void CreateImageCommands(void);
+diff -Naur freecad-0.13.1830.orig/src/Mod/Image/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Image/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Image/Gui/CMakeLists.txt 2013-10-25 18:49:34.538995456 +0200
++++ freecad-0.13.1830/src/Mod/Image/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -29,7 +29,7 @@
+ Resources/Image.qrc
+ )
+
+-fc_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS})
++qt4_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS})
+ #QT4_ADD_RESOURCES(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS})
+
+ SET(ImageGui_SRCS
+diff -Naur freecad-0.13.1830.orig/src/Mod/Image/Gui/CMakeLists.txt.orig freecad-0.13.1830/src/Mod/Image/Gui/CMakeLists.txt.orig
+--- freecad-0.13.1830.orig/src/Mod/Image/Gui/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Image/Gui/CMakeLists.txt.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,80 @@
++include_directories(
++ ${CMAKE_CURRENT_BINARY_DIR}
++ ${Boost_INCLUDE_DIRS}
++ ${COIN3D_INCLUDE_DIR}
++ #${OPENCV_INCLUDE_DIR}
++ ${QT_INCLUDE_DIR}
++ ${ZLIB_INCLUDE_DIR}
++ ${SOQT_INCLUDE_DIR}
++ ${PYTHON_INCLUDE_PATH}
++ ${XERCESC_INCLUDE_DIR}
++)
++
++set(ImageGui_LIBS
++ Image
++ FreeCADGui
++ #${OpenCV_LIBRARIES}
++ ${OPENGL_glu_LIBRARY}
++)
++
++set(ImageGui_MOC_HDRS
++ ImageView.h
++ GLImageBox.h
++)
++
++fc_wrap_cpp(ImageGui_MOC_SRCS ${ImageGui_MOC_HDRS})
++SOURCE_GROUP("Moc" FILES ${ImageGui_MOC_SRCS})
++
++SET(ImageGui_RES_SRCS
++ Resources/Image.qrc
++)
++
++fc_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS})
++#QT4_ADD_RESOURCES(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS})
++
++SET(ImageGui_SRCS
++# ${ImageGui_MOC_SRCS}
++# ${ImageGui_QRC_SRCS}
++ AppImageGui.cpp
++ AppImageGuiPy.cpp
++ Command.cpp
++ ViewProviderImagePlane.cpp
++ ViewProviderImagePlane.h
++ GLImageBox.cpp
++ GLImageBox.h
++ Resources/Image.qrc
++ ImageView.cpp
++ ImageView.h
++ PreCompiled.cpp
++ PreCompiled.h
++ Workbench.cpp
++ Workbench.h
++ XpmImages.h
++)
++
++add_library(ImageGui SHARED ${ImageGui_SRCS})
++target_link_libraries(ImageGui ${ImageGui_LIBS})
++
++
++fc_target_copy_resource(ImageGui
++ ${CMAKE_SOURCE_DIR}/src/Mod/Image
++ ${CMAKE_BINARY_DIR}/Mod/Image
++ InitGui.py)
++
++if(MSVC)
++ set_target_properties(ImageGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(ImageGui PROPERTIES DEBUG_OUTPUT_NAME "ImageGui_d")
++ set_target_properties(ImageGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Image)
++ set_target_properties(ImageGui PROPERTIES PREFIX "../")
++elseif(MINGW)
++ set_target_properties(ImageGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(ImageGui PROPERTIES DEBUG_OUTPUT_NAME "ImageGui_d")
++ set_target_properties(ImageGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Image)
++ set_target_properties(ImageGui PROPERTIES PREFIX "")
++else(MSVC)
++ set_target_properties(ImageGui PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Image)
++ set_target_properties(ImageGui PROPERTIES PREFIX "")
++ set_target_properties(ImageGui PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
++endif(MSVC)
++
++INSTALL(TARGETS ImageGui DESTINATION lib)
+diff -Naur freecad-0.13.1830.orig/src/Mod/Mesh/Gui/AppMeshGui.cpp freecad-0.13.1830/src/Mod/Mesh/Gui/AppMeshGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Mesh/Gui/AppMeshGui.cpp 2013-10-25 18:49:34.608995076 +0200
++++ freecad-0.13.1830/src/Mod/Mesh/Gui/AppMeshGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -49,7 +49,7 @@
+ #include "ViewProviderDefects.h"
+ #include "ViewProviderPython.h"
+ #include "Workbench.h"
+-#include "qrc_Mesh.cpp"
++#include "qrc_Mesh.cxx"
+
+
+ // use a different name to CreateCommand()
+diff -Naur freecad-0.13.1830.orig/src/Mod/Mesh/Gui/AppMeshGui.cpp.orig freecad-0.13.1830/src/Mod/Mesh/Gui/AppMeshGui.cpp.orig
+--- freecad-0.13.1830.orig/src/Mod/Mesh/Gui/AppMeshGui.cpp.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Mesh/Gui/AppMeshGui.cpp.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,142 @@
++/***************************************************************************
++ * Copyright (c) 2004 Werner Mayer <wmayer[at]users.sourceforge.net> *
++ * *
++ * This file is part of the FreeCAD CAx development system. *
++ * *
++ * This library is free software; you can redistribute it and/or *
++ * modify it under the terms of the GNU Library General Public *
++ * License as published by the Free Software Foundation; either *
++ * version 2 of the License, or (at your option) any later version. *
++ * *
++ * This library is distributed in the hope that it will be useful, *
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
++ * GNU Library General Public License for more details. *
++ * *
++ * You should have received a copy of the GNU Library General Public *
++ * License along with this library; see the file COPYING.LIB. If not, *
++ * write to the Free Software Foundation, Inc., 59 Temple Place, *
++ * Suite 330, Boston, MA 02111-1307, USA *
++ * *
++ ***************************************************************************/
++
++
++#include "PreCompiled.h"
++#ifndef _PreComp_
++#endif
++
++#include <Base/Interpreter.h>
++#include <Base/Console.h>
++
++#include <Gui/Application.h>
++#include <Gui/BitmapFactory.h>
++#include <Gui/WidgetFactory.h>
++#include <Gui/Language/Translator.h>
++
++#include <Mod/Mesh/App/MeshProperties.h>
++
++#include "images.h"
++#include "DlgEvaluateMeshImp.h"
++#include "PropertyEditorMesh.h"
++#include "DlgSettingsMeshView.h"
++#include "SoFCMeshObject.h"
++#include "SoFCIndexedFaceSet.h"
++#include "ViewProvider.h"
++#include "ViewProviderMeshFaceSet.h"
++#include "ViewProviderCurvature.h"
++#include "ViewProviderTransform.h"
++#include "ViewProviderTransformDemolding.h"
++#include "ViewProviderDefects.h"
++#include "ViewProviderPython.h"
++#include "Workbench.h"
++#include "qrc_Mesh.cpp"
++
++
++// use a different name to CreateCommand()
++void CreateMeshCommands(void);
++
++void loadMeshResource()
++{
++ // add resources and reloads the translators
++ Q_INIT_RESOURCE(Mesh);
++ Gui::Translator::instance()->refresh();
++}
++
++/* registration table */
++static struct PyMethodDef MeshGui_methods[] = {
++ {NULL, NULL} /* end of table marker */
++};
++
++/* Python entry */
++extern "C" {
++void MeshGuiExport initMeshGui()
++{
++ if (!Gui::Application::Instance) {
++ PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application.");
++ return;
++ }
++
++ // load dependent module
++ try {
++ Base::Interpreter().loadModule("Mesh");
++ }
++ catch(const Base::Exception& e) {
++ PyErr_SetString(PyExc_ImportError, e.what());
++ return;
++ }
++ (void) Py_InitModule("MeshGui", MeshGui_methods); /* mod name, table ptr */
++ Base::Console().Log("Loading GUI of Mesh module... done\n");
++
++ // Register icons
++ Gui::BitmapFactory().addXPM("curv_info", curv_info);
++ Gui::BitmapFactory().addXPM("import_mesh", import_mesh);
++ Gui::BitmapFactory().addXPM("export_mesh", export_mesh);
++ Gui::BitmapFactory().addXPM("solid_mesh", solid_mesh);
++ Gui::BitmapFactory().addXPM("mesh_fillhole", mesh_fillhole);
++ Gui::BitmapFactory().addXPM("mesh_pipette", mesh_pipette);
++
++ // instantiating the commands
++ CreateMeshCommands();
++ (void)new MeshGui::CleanupHandler;
++
++ // register preferences pages
++ (void)new Gui::PrefPageProducer<MeshGui::DlgSettingsMeshView> ("Display");
++
++ MeshGui::SoFCMeshObjectElement ::initClass();
++ MeshGui::SoSFMeshObject ::initClass();
++ MeshGui::SoFCMeshObjectNode ::initClass();
++ MeshGui::SoFCMeshObjectShape ::initClass();
++ MeshGui::SoFCMeshSegmentShape ::initClass();
++ MeshGui::SoFCMeshObjectBoundary ::initClass();
++ MeshGui::SoFCIndexedFaceSet ::initClass();
++ MeshGui::SoFCMeshPickNode ::initClass();
++ MeshGui::SoFCMeshGridNode ::initClass();
++ MeshGui::PropertyMeshKernelItem ::init();
++ MeshGui::ViewProviderMesh ::init();
++ MeshGui::ViewProviderMeshObject ::init();
++ MeshGui::ViewProviderIndexedFaceSet ::init();
++ MeshGui::ViewProviderMeshFaceSet ::init();
++ MeshGui::ViewProviderPython ::init();
++ MeshGui::ViewProviderExport ::init();
++ MeshGui::ViewProviderMeshCurvature ::init();
++ MeshGui::ViewProviderMeshTransform ::init();
++ MeshGui::ViewProviderMeshTransformDemolding ::init();
++ MeshGui::ViewProviderMeshDefects ::init();
++ MeshGui::ViewProviderMeshOrientation ::init();
++ MeshGui::ViewProviderMeshNonManifolds ::init();
++ MeshGui::ViewProviderMeshDuplicatedFaces ::init();
++ MeshGui::ViewProviderMeshDuplicatedPoints ::init();
++ MeshGui::ViewProviderMeshDegenerations ::init();
++ MeshGui::ViewProviderMeshIndices ::init();
++ MeshGui::ViewProviderMeshSelfIntersections ::init();
++ MeshGui::ViewProviderMeshFolds ::init();
++ MeshGui::Workbench ::init();
++ Gui::ViewProviderBuilder::add(
++ Mesh::PropertyMeshKernel::getClassTypeId(),
++ MeshGui::ViewProviderMeshFaceSet::getClassTypeId());
++
++ // add resources and reloads the translators
++ loadMeshResource();
++}
++
++} // extern "C" {
+diff -Naur freecad-0.13.1830.orig/src/Mod/Mesh/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Mesh/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Mesh/Gui/CMakeLists.txt 2013-10-25 18:49:34.608995076 +0200
++++ freecad-0.13.1830/src/Mod/Mesh/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -68,7 +68,7 @@
+ )
+ SOURCE_GROUP("Inventor" FILES ${Inventor_SRCS})
+
+-fc_add_resources(resource_SRCS Resources/Mesh.qrc)
++qt4_add_resources(resource_SRCS Resources/Mesh.qrc)
+ SET(resource_SRCS
+ # ${resource_SRCS}
+ Resources/Mesh.qrc
+diff -Naur freecad-0.13.1830.orig/src/Mod/Mesh/Gui/CMakeLists.txt.orig freecad-0.13.1830/src/Mod/Mesh/Gui/CMakeLists.txt.orig
+--- freecad-0.13.1830.orig/src/Mod/Mesh/Gui/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Mesh/Gui/CMakeLists.txt.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,139 @@
++include_directories(
++ ${CMAKE_CURRENT_BINARY_DIR}
++ ${Boost_INCLUDE_DIRS}
++ ${COIN3D_INCLUDE_DIR}
++ ${PYTHON_INCLUDE_PATH}
++ ${ZLIB_INCLUDE_DIR}
++ ${SOQT_INCLUDE_DIR}
++ ${QT_INCLUDE_DIR}
++ ${XERCESC_INCLUDE_DIR}
++)
++
++set(MeshGui_LIBS
++ ${Boost_LIBRARIES}
++ ${OPENGL_glu_LIBRARY}
++ Mesh
++ FreeCADGui
++)
++
++set(Mesh_MOC_HDRS
++ DlgEvaluateMeshImp.h
++ DlgRegularSolidImp.h
++ DlgSettingsMeshView.h
++ DlgSmoothing.h
++ MeshEditor.h
++ PropertyEditorMesh.h
++ RemoveComponents.h
++)
++fc_wrap_cpp(Mesh_MOC_SRCS ${Mesh_MOC_HDRS})
++SOURCE_GROUP("Moc" FILES ${Mesh_MOC_SRCS})
++
++set(Dialogs_UIC_SRCS
++ DlgEvaluateMesh.ui
++ DlgRegularSolid.ui
++ DlgSettingsMeshView.ui
++ DlgSmoothing.ui
++ RemoveComponents.ui
++ Segmentation.ui
++)
++qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS})
++SET(Dialogs_SRCS
++ ${Dialogs_UIC_HDRS}
++ DlgEvaluateMesh.ui
++ DlgEvaluateMeshImp.cpp
++ DlgEvaluateMeshImp.h
++ DlgRegularSolid.ui
++ DlgRegularSolidImp.cpp
++ DlgRegularSolidImp.h
++ DlgSettingsMeshView.ui
++ DlgSettingsMeshView.cpp
++ DlgSettingsMeshView.h
++ DlgSmoothing.ui
++ DlgSmoothing.cpp
++ DlgSmoothing.h
++ RemoveComponents.ui
++ RemoveComponents.cpp
++ RemoveComponents.h
++ Segmentation.ui
++ Segmentation.cpp
++ Segmentation.h
++)
++SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS})
++
++SET(Inventor_SRCS
++ SoFCIndexedFaceSet.cpp
++ SoFCIndexedFaceSet.h
++ SoFCMeshObject.cpp
++ SoFCMeshObject.h
++)
++SOURCE_GROUP("Inventor" FILES ${Inventor_SRCS})
++
++fc_add_resources(resource_SRCS Resources/Mesh.qrc)
++SET(resource_SRCS
++# ${resource_SRCS}
++ Resources/Mesh.qrc
++)
++SOURCE_GROUP("resource" FILES ${resource_SRCS})
++
++SET(ViewProvider_SRCS
++ ViewProvider.cpp
++ ViewProvider.h
++ ViewProviderPython.cpp
++ ViewProviderPython.h
++ ViewProviderCurvature.cpp
++ ViewProviderCurvature.h
++ ViewProviderDefects.cpp
++ ViewProviderDefects.h
++ ViewProviderMeshFaceSet.cpp
++ ViewProviderMeshFaceSet.h
++ ViewProviderTransform.cpp
++ ViewProviderTransform.h
++ ViewProviderTransformDemolding.cpp
++ ViewProviderTransformDemolding.h
++)
++SOURCE_GROUP("ViewProvider" FILES ${ViewProvider_SRCS})
++
++SET(MeshGui_SRCS
++ ${Dialogs_SRCS}
++ ${Inventor_SRCS}
++ ${resource_SRCS}
++ ${ViewProvider_SRCS}
++ AppMeshGui.cpp
++ Command.cpp
++ Doxygen.cpp
++ PreCompiled.cpp
++ PreCompiled.h
++ MeshEditor.cpp
++ MeshEditor.h
++ PropertyEditorMesh.cpp
++ PropertyEditorMesh.h
++ Workbench.cpp
++ Workbench.h
++)
++
++add_library(MeshGui SHARED ${MeshGui_SRCS})
++target_link_libraries(MeshGui ${MeshGui_LIBS})
++
++
++fc_target_copy_resource(MeshGui
++ ${CMAKE_SOURCE_DIR}/src/Mod/Mesh
++ ${CMAKE_BINARY_DIR}/Mod/Mesh
++ InitGui.py)
++
++if(MSVC)
++ set_target_properties(MeshGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(MeshGui PROPERTIES DEBUG_OUTPUT_NAME "MeshGui_d")
++ set_target_properties(MeshGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Mesh)
++ set_target_properties(MeshGui PROPERTIES PREFIX "../")
++elseif(MINGW)
++ set_target_properties(MeshGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(MeshGui PROPERTIES DEBUG_OUTPUT_NAME "MeshGui_d")
++ set_target_properties(MeshGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Mesh)
++ set_target_properties(MeshGui PROPERTIES PREFIX "")
++else(MSVC)
++ set_target_properties(MeshGui PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Mesh)
++ set_target_properties(MeshGui PROPERTIES PREFIX "")
++ set_target_properties(MeshGui PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
++endif(MSVC)
++
++INSTALL(TARGETS MeshGui DESTINATION lib)
+diff -Naur freecad-0.13.1830.orig/src/Mod/Part/Gui/AppPartGui.cpp freecad-0.13.1830/src/Mod/Part/Gui/AppPartGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Part/Gui/AppPartGui.cpp 2013-10-25 18:49:34.705661219 +0200
++++ freecad-0.13.1830/src/Mod/Part/Gui/AppPartGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -42,7 +42,7 @@
+ #include "Workbench.h"
+
+ #include <Gui/Language/Translator.h>
+-#include "qrc_Part.cpp"
++#include "qrc_Part.cxx"
+
+ #include "Resources/icons/PartFeature.xpm"
+ #include "Resources/icons/PartFeatureImport.xpm"
+diff -Naur freecad-0.13.1830.orig/src/Mod/Part/Gui/AppPartGui.cpp.orig freecad-0.13.1830/src/Mod/Part/Gui/AppPartGui.cpp.orig
+--- freecad-0.13.1830.orig/src/Mod/Part/Gui/AppPartGui.cpp.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Part/Gui/AppPartGui.cpp.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,138 @@
++/***************************************************************************
++ * *
++ * This program is free software; you can redistribute it and/or modify *
++ * it under the terms of the GNU Library General Public License as *
++ * published by the Free Software Foundation; either version 2 of the *
++ * License, or (at your option) any later version. *
++ * for detail see the LICENCE text file. *
++ * Jürgen Riegel 2002 *
++ * *
++ ***************************************************************************/
++
++
++#include "PreCompiled.h"
++#ifndef _PreComp_
++# include <Standard_math.hxx>
++#endif
++
++#include <Base/Console.h>
++#include <Base/Interpreter.h>
++
++#include <Gui/Application.h>
++#include <Gui/BitmapFactory.h>
++#include <Gui/WidgetFactory.h>
++
++#include <Mod/Part/App/PropertyTopoShape.h>
++
++#include "SoBrepShape.h"
++#include "SoFCShapeObject.h"
++#include "ViewProvider.h"
++#include "ViewProviderExt.h"
++#include "ViewProviderPython.h"
++#include "ViewProviderBox.h"
++#include "ViewProviderCurveNet.h"
++#include "ViewProviderImport.h"
++#include "ViewProviderExtrusion.h"
++#include "ViewProvider2DObject.h"
++#include "ViewProviderMirror.h"
++#include "ViewProviderBoolean.h"
++
++#include "DlgSettingsGeneral.h"
++#include "DlgSettings3DViewPartImp.h"
++#include "Workbench.h"
++
++#include <Gui/Language/Translator.h>
++#include "qrc_Part.cpp"
++
++#include "Resources/icons/PartFeature.xpm"
++#include "Resources/icons/PartFeatureImport.xpm"
++
++// use a different name to CreateCommand()
++void CreatePartCommands(void);
++void CreateSimplePartCommands(void);
++void CreateParamPartCommands(void);
++
++void loadPartResource()
++{
++ // add resources and reloads the translators
++ Q_INIT_RESOURCE(Part);
++ Gui::Translator::instance()->refresh();
++}
++
++/* registration table */
++static struct PyMethodDef PartGui_methods[] = {
++ {NULL, NULL} /* end of table marker */
++};
++
++extern "C" {
++void PartGuiExport initPartGui()
++{
++ if (!Gui::Application::Instance) {
++ PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application.");
++ return;
++ }
++
++ // load needed modules
++ try {
++ Base::Interpreter().runString("import Part");
++ }
++ catch(const Base::Exception& e) {
++ PyErr_SetString(PyExc_ImportError, e.what());
++ return;
++ }
++
++ (void) Py_InitModule("PartGui", PartGui_methods); /* mod name, table ptr */
++ Base::Console().Log("Loading GUI of Part module... done\n");
++
++ PartGui::SoBrepFaceSet ::initClass();
++ PartGui::SoBrepEdgeSet ::initClass();
++ PartGui::SoBrepPointSet ::initClass();
++ PartGui::SoFCControlPoints ::initClass();
++ PartGui::ViewProviderPartBase ::init();
++ PartGui::ViewProviderPartExt ::init();
++ PartGui::ViewProviderPart ::init();
++ PartGui::ViewProviderEllipsoid ::init();
++ PartGui::ViewProviderPython ::init();
++ PartGui::ViewProviderBox ::init();
++ PartGui::ViewProviderImport ::init();
++ PartGui::ViewProviderCurveNet ::init();
++ PartGui::ViewProviderExtrusion ::init();
++ PartGui::ViewProvider2DObject ::init();
++ PartGui::ViewProvider2DObjectPython ::init();
++ PartGui::ViewProviderMirror ::init();
++ PartGui::ViewProviderFillet ::init();
++ PartGui::ViewProviderChamfer ::init();
++ PartGui::ViewProviderRevolution ::init();
++ PartGui::ViewProviderLoft ::init();
++ PartGui::ViewProviderSweep ::init();
++ PartGui::ViewProviderOffset ::init();
++ PartGui::ViewProviderThickness ::init();
++ PartGui::ViewProviderCustom ::init();
++ PartGui::ViewProviderCustomPython ::init();
++ PartGui::ViewProviderBoolean ::init();
++ PartGui::ViewProviderMultiFuse ::init();
++ PartGui::ViewProviderMultiCommon ::init();
++
++ PartGui::Workbench ::init();
++
++ // instantiating the commands
++ CreatePartCommands();
++ CreateSimplePartCommands();
++ CreateParamPartCommands();
++
++ // register preferences pages
++ (void)new Gui::PrefPageProducer<PartGui::DlgSettingsGeneral> ( QT_TRANSLATE_NOOP("QObject","Part design") );
++ (void)new Gui::PrefPageProducer<PartGui::DlgSettings3DViewPart> ( QT_TRANSLATE_NOOP("QObject","Part design") );
++ Gui::ViewProviderBuilder::add(
++ Part::PropertyPartShape::getClassTypeId(),
++ PartGui::ViewProviderPart::getClassTypeId());
++
++ // add resources and reloads the translators
++ loadPartResource();
++
++ // register bitmaps
++ Gui::BitmapFactoryInst& rclBmpFactory = Gui::BitmapFactory();
++ rclBmpFactory.addXPM("PartFeature",(const char**) PartFeature_xpm);
++ rclBmpFactory.addXPM("PartFeatureImport",(const char**) PartFeatureImport_xpm);
++}
++} // extern "C"
+diff -Naur freecad-0.13.1830.orig/src/Mod/Part/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Part/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Part/Gui/CMakeLists.txt 2013-10-25 18:49:34.705661219 +0200
++++ freecad-0.13.1830/src/Mod/Part/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -49,7 +49,7 @@
+ fc_wrap_cpp(PartGui_MOC_SRCS ${PartGui_MOC_HDRS})
+ SOURCE_GROUP("Moc" FILES ${PartGui_MOC_SRCS})
+
+-fc_add_resources(PartGui_QRC_SRCS Resources/Part.qrc)
++qt4_add_resources(PartGui_QRC_SRCS Resources/Part.qrc)
+
+ set(PartGui_UIC_SRCS
+ CrossSections.ui
+diff -Naur freecad-0.13.1830.orig/src/Mod/Part/Gui/CMakeLists.txt.orig freecad-0.13.1830/src/Mod/Part/Gui/CMakeLists.txt.orig
+--- freecad-0.13.1830.orig/src/Mod/Part/Gui/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Part/Gui/CMakeLists.txt.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,207 @@
++if(MSVC)
++ add_definitions(-DHAVE_ACOSH -DHAVE_ATANH -DHAVE_ASINH)
++else(MSVC)
++ add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H)
++endif(MSVC)
++
++include_directories(
++ ${CMAKE_SOURCE_DIR}/src
++ ${CMAKE_BINARY_DIR}/src
++ ${CMAKE_CURRENT_BINARY_DIR}
++ ${Boost_INCLUDE_DIRS}
++ ${COIN3D_INCLUDE_DIR}
++ ${OCC_INCLUDE_DIR}
++ ${PYTHON_INCLUDE_PATH}
++ ${SOQT_INCLUDE_DIR}
++ ${QT_INCLUDE_DIR}
++ ${XERCESC_INCLUDE_DIR}
++ ${ZLIB_INCLUDE_DIR}
++)
++link_directories(${OCC_LIBRARY_DIR})
++
++set(PartGui_LIBS
++ Part
++ FreeCADGui
++)
++
++set(PartGui_MOC_HDRS
++ CrossSections.h
++ Mirroring.h
++ DlgBooleanOperation.h
++ DlgExtrusion.h
++ DlgFilletEdges.h
++ DlgPartBoxImp.h
++ DlgPartCylinderImp.h
++ DlgPartImportIgesImp.h
++ DlgPartImportStepImp.h
++ DlgPrimitives.h
++ DlgRevolution.h
++ DlgSettings3DViewPartImp.h
++ DlgSettingsGeneral.h
++ TaskFaceColors.h
++ TaskShapeBuilder.h
++ TaskLoft.h
++ TaskOffset.h
++ TaskSweep.h
++ TaskThickness.h
++ TaskCheckGeometry.h
++)
++fc_wrap_cpp(PartGui_MOC_SRCS ${PartGui_MOC_HDRS})
++SOURCE_GROUP("Moc" FILES ${PartGui_MOC_SRCS})
++
++fc_add_resources(PartGui_QRC_SRCS Resources/Part.qrc)
++
++set(PartGui_UIC_SRCS
++ CrossSections.ui
++ Mirroring.ui
++ DlgBooleanOperation.ui
++ DlgExtrusion.ui
++ DlgFilletEdges.ui
++ DlgPartBox.ui
++ DlgPartCylinder.ui
++ DlgPartImportIges.ui
++ DlgPartImportStep.ui
++ DlgPrimitives.ui
++ Location.ui
++ DlgRevolution.ui
++ DlgSettings3DViewPart.ui
++ DlgSettingsGeneral.ui
++ TaskFaceColors.ui
++ TaskShapeBuilder.ui
++ TaskLoft.ui
++ TaskOffset.ui
++ TaskSweep.ui
++)
++qt4_wrap_ui(PartGui_UIC_HDRS ${PartGui_UIC_SRCS})
++
++SET(PartGui_SRCS
++# ${PartGui_QRC_SRCS}
++ ${PartGui_UIC_HDRS}
++ AppPartGui.cpp
++ Command.cpp
++ CommandSimple.cpp
++ CommandParametric.cpp
++ CrossSections.cpp
++ CrossSections.h
++ CrossSections.ui
++ Mirroring.cpp
++ Mirroring.h
++ Mirroring.ui
++ DlgBooleanOperation.cpp
++ DlgBooleanOperation.h
++ DlgBooleanOperation.ui
++ DlgExtrusion.cpp
++ DlgExtrusion.h
++ DlgExtrusion.ui
++ DlgFilletEdges.cpp
++ DlgFilletEdges.h
++ DlgFilletEdges.ui
++ DlgPartBox.ui
++ DlgPartBoxImp.cpp
++ DlgPartBoxImp.h
++ DlgPartCylinderImp.cpp
++ DlgPartCylinderImp.h
++ DlgPartCylinder.ui
++ DlgPartImportIges.ui
++ DlgPartImportIgesImp.cpp
++ DlgPartImportIgesImp.h
++ DlgPartImportStep.ui
++ DlgPartImportStepImp.cpp
++ DlgPartImportStepImp.h
++ DlgPrimitives.cpp
++ DlgPrimitives.h
++ DlgPrimitives.ui
++ Location.ui
++ DlgRevolution.cpp
++ DlgRevolution.h
++ DlgRevolution.ui
++ DlgSettings3DViewPart.ui
++ DlgSettings3DViewPartImp.cpp
++ DlgSettings3DViewPartImp.h
++ DlgSettingsGeneral.cpp
++ DlgSettingsGeneral.h
++ DlgSettingsGeneral.ui
++ Resources/Part.qrc
++ PreCompiled.cpp
++ PreCompiled.h
++ SoFCShapeObject.cpp
++ SoFCShapeObject.h
++ SoBrepShape.cpp
++ SoBrepShape.h
++ ViewProvider.cpp
++ ViewProvider.h
++ ViewProviderExt.cpp
++ ViewProviderExt.h
++ ViewProviderReference.cpp
++ ViewProviderReference.h
++ ViewProviderBox.cpp
++ ViewProviderBox.h
++ ViewProviderCurveNet.cpp
++ ViewProviderCurveNet.h
++ ViewProviderImport.cpp
++ ViewProviderImport.h
++ ViewProviderExtrusion.cpp
++ ViewProviderExtrusion.h
++ ViewProvider2DObject.cpp
++ ViewProvider2DObject.h
++ ViewProviderMirror.cpp
++ ViewProviderMirror.h
++ ViewProviderPython.cpp
++ ViewProviderPython.h
++ ViewProviderBoolean.cpp
++ ViewProviderBoolean.h
++ Workbench.cpp
++ Workbench.h
++ TaskFaceColors.cpp
++ TaskFaceColors.h
++ TaskFaceColors.ui
++ TaskShapeBuilder.cpp
++ TaskShapeBuilder.h
++ TaskShapeBuilder.ui
++ TaskLoft.cpp
++ TaskLoft.h
++ TaskLoft.ui
++ TaskOffset.cpp
++ TaskOffset.h
++ TaskOffset.ui
++ TaskSweep.cpp
++ TaskSweep.h
++ TaskSweep.ui
++ TaskThickness.cpp
++ TaskThickness.h
++ TaskCheckGeometry.cpp
++ TaskCheckGeometry.h
++)
++
++SET(PartGui_Scripts
++ InitGui.py
++ TestPartGui.py
++)
++
++
++add_library(PartGui SHARED ${PartGui_SRCS})
++target_link_libraries(PartGui ${PartGui_LIBS})
++
++
++fc_target_copy_resource(PartGui
++ ${CMAKE_SOURCE_DIR}/src/Mod/Part
++ ${CMAKE_BINARY_DIR}/Mod/Part
++ ${PartGui_Scripts})
++
++if(MSVC)
++ set_target_properties(PartGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(PartGui PROPERTIES DEBUG_OUTPUT_NAME "PartGui_d")
++ set_target_properties(PartGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Part)
++ set_target_properties(PartGui PROPERTIES PREFIX "../")
++elseif(MINGW)
++ set_target_properties(PartGui PROPERTIES SUFFIX ".pyd")
++ set_target_properties(PartGui PROPERTIES DEBUG_OUTPUT_NAME "PartGui_d")
++ set_target_properties(PartGui PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Part)
++ set_target_properties(PartGui PROPERTIES PREFIX "")
++else(MSVC)
++ set_target_properties(PartGui PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Part)
++ set_target_properties(PartGui PROPERTIES PREFIX "")
++ set_target_properties(PartGui PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
++endif(MSVC)
++
++INSTALL(TARGETS PartGui DESTINATION lib)
+diff -Naur freecad-0.13.1830.orig/src/Mod/Points/Gui/AppPointsGui.cpp freecad-0.13.1830/src/Mod/Points/Gui/AppPointsGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Points/Gui/AppPointsGui.cpp 2013-10-25 18:49:34.868993668 +0200
++++ freecad-0.13.1830/src/Mod/Points/Gui/AppPointsGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -33,7 +33,7 @@
+
+ #include "ViewProvider.h"
+ #include "Workbench.h"
+-#include "qrc_Points.cpp"
++#include "qrc_Points.cxx"
+
+ // use a different name to CreateCommand()
+ void CreatePointsCommands(void);
+diff -Naur freecad-0.13.1830.orig/src/Mod/Points/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Points/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Points/Gui/CMakeLists.txt 2013-10-25 18:49:34.868993668 +0200
++++ freecad-0.13.1830/src/Mod/Points/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -32,7 +32,7 @@
+ )
+ SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS})
+
+-fc_add_resources(Resource_SRCS Resources/Points.qrc)
++qt4_add_resources(Resource_SRCS Resources/Points.qrc)
+ SET(Resource_SRCS
+ # ${Resource_SRCS}
+ Resources/Points.qrc
+diff -Naur freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp freecad-0.13.1830/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp 2013-10-25 18:49:34.872326983 +0200
++++ freecad-0.13.1830/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -31,7 +31,7 @@
+
+ #include "DlgSettingsRayImp.h"
+ #include "Workbench.h"
+-#include "qrc_Raytracing.cpp"
++#include "qrc_Raytracing.cxx"
+
+
+ using namespace RaytracingGui;
+diff -Naur freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp.orig freecad-0.13.1830/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp.orig
+--- freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp.orig 1970-01-01 01:00:00.000000000 +0100
++++ freecad-0.13.1830/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp.orig 2013-02-02 18:09:17.000000000 +0100
+@@ -0,0 +1,81 @@
++/***************************************************************************
++ * Copyright (c) Jürgen Riegel (juergen.riegel@web.de) 2002 *
++ * *
++ * This file is part of the FreeCAD CAx development system. *
++ * *
++ * This library is free software; you can redistribute it and/or *
++ * modify it under the terms of the GNU Library General Public *
++ * License as published by the Free Software Foundation; either *
++ * version 2 of the License, or (at your option) any later version. *
++ * *
++ * This library is distributed in the hope that it will be useful, *
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
++ * GNU Library General Public License for more details. *
++ * *
++ * You should have received a copy of the GNU Library General Public *
++ * License along with this library; see the file COPYING.LIB. If not, *
++ * write to the Free Software Foundation, Inc., 59 Temple Place, *
++ * Suite 330, Boston, MA 02111-1307, USA *
++ * *
++ ***************************************************************************/
++
++
++#include "PreCompiled.h"
++
++#include <Base/Console.h>
++#include <Base/Interpreter.h>
++#include <Gui/Application.h>
++#include <Gui/WidgetFactory.h>
++#include <Gui/Language/Translator.h>
++
++#include "DlgSettingsRayImp.h"
++#include "Workbench.h"
++#include "qrc_Raytracing.cpp"
++
++
++using namespace RaytracingGui;
++
++// use a different name to CreateCommand()
++void CreateRaytracingCommands(void);
++
++void loadRaytracingResource()
++{
++ // add resources and reloads the translators
++ Q_INIT_RESOURCE(Raytracing);
++ Gui::Translator::instance()->refresh();
++}
++
++extern struct PyMethodDef RaytracingGui_methods[];
++
++
++extern "C" {
++void AppRaytracingGuiExport initRaytracingGui()
++{
++ if (!Gui::Application::Instance) {
++ PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application.");
++ return;
++ }
++
++ try {
++ Base::Interpreter().loadModule("Raytracing");
++ }
++ catch(const Base::Exception& e) {
++ PyErr_SetString(PyExc_ImportError, e.what());
++ return;
++ }
++ (void) Py_InitModule("RaytracingGui", RaytracingGui_methods); /* mod name, table ptr */
++ Base::Console().Log("Loading GUI of Raytracing module... done\n");
++
++ // instantiating the commands
++ CreateRaytracingCommands();
++ RaytracingGui::Workbench::init();
++
++ // register preferences pages
++ new Gui::PrefPageProducer<DlgSettingsRayImp> ("Raytracing");
++
++ // add resources and reloads the translators
++ loadRaytracingResource();
++}
++
++} // extern "C" {
+diff -Naur freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Raytracing/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Raytracing/Gui/CMakeLists.txt 2013-10-25 18:49:34.872326983 +0200
++++ freecad-0.13.1830/src/Mod/Raytracing/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -43,7 +43,7 @@
+ fc_wrap_cpp(RaytracingGui_MOC_SRCS ${RaytracingGui_MOC_HDRS})
+ SOURCE_GROUP("Moc" FILES ${RaytracingGui_MOC_SRCS})
+
+-fc_add_resources(Resource_SRCS Resources/Raytracing.qrc)
++qt4_add_resources(Resource_SRCS Resources/Raytracing.qrc)
+ SET(Resource_SRCS
+ Resources/Raytracing.qrc
+ )
+diff -Naur freecad-0.13.1830.orig/src/Mod/Test/Gui/AppTestGui.cpp freecad-0.13.1830/src/Mod/Test/Gui/AppTestGui.cpp
+--- freecad-0.13.1830.orig/src/Mod/Test/Gui/AppTestGui.cpp 2013-10-25 18:49:35.178991988 +0200
++++ freecad-0.13.1830/src/Mod/Test/Gui/AppTestGui.cpp 2013-10-25 18:49:59.455527138 +0200
+@@ -28,7 +28,7 @@
+
+ #include "UnitTestPy.h"
+ #include "UnitTestImp.h"
+-#include "qrc_Test.cpp"
++#include "qrc_Test.cxx"
+
+ #include <Gui/Language/Translator.h>
+ #include <Base/Console.h>
+diff -Naur freecad-0.13.1830.orig/src/Mod/Test/Gui/CMakeLists.txt freecad-0.13.1830/src/Mod/Test/Gui/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Mod/Test/Gui/CMakeLists.txt 2013-10-25 18:49:35.178991988 +0200
++++ freecad-0.13.1830/src/Mod/Test/Gui/CMakeLists.txt 2013-10-25 18:49:59.455527138 +0200
+@@ -30,7 +30,7 @@
+ )
+ SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS})
+
+-fc_add_resources(Resource_SRCS Resources/Test.qrc)
++qt4_add_resources(Resource_SRCS Resources/Test.qrc)
+ SET(Resource_SRCS
+ # ${Resource_SRCS}
+ Resources/Test.qrc
diff --git a/graphics/FreeCAD/no_coin3d_docs.patch b/graphics/FreeCAD/no_coin3d_docs.patch
new file mode 100644
index 0000000000..bf6db9d20b
--- /dev/null
+++ b/graphics/FreeCAD/no_coin3d_docs.patch
@@ -0,0 +1,17 @@
+diff -Naur freecad-0.13.1830.orig/src/Doc/CMakeLists.txt freecad-0.13.1830/src/Doc/CMakeLists.txt
+--- freecad-0.13.1830.orig/src/Doc/CMakeLists.txt 2013-02-02 18:09:17.000000000 +0100
++++ freecad-0.13.1830/src/Doc/CMakeLists.txt 2013-11-19 21:23:26.655733113 +0100
+@@ -53,13 +53,6 @@
+ SET(DOXYGEN_IMAGE_PATH ${CMAKE_SOURCE_DIR}/src/Gui/Icons)
+ SET(DOXYGEN_LAYOUT_FILE ${CMAKE_SOURCE_DIR}/src/Doc/FreecadDoxygenLayout.xml)
+
+- find_package(Coin3DDoc)
+- if( COIN3D_DOC_FOUND )
+- SET(DOXYGEN_TAGFILES
+- ${COIN3D_DOC_TAGFILE}=${COIN3D_DOC_PATH}
+- )
+- endif( COIN3D_DOC_FOUND )
+-
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/BuildDevDoc.cfg.in
+ ${CMAKE_CURRENT_BINARY_DIR}/BuildDevDoc.cfg @ONLY)
+