diff --git a/README.Cygwin b/README.Cygwin deleted file mode 100644 index 5c653f2ba..000000000 --- a/README.Cygwin +++ /dev/null @@ -1,93 +0,0 @@ - -How to build and run FreeCAD under Cygwin -========================================= - -Prerequisites -------------- - -To compile FreeCAD, you will need, besides functioning Cygwin environment -and programming tools (like compiler), the following libraries: - -o Python (http://www.python.org), >= 2.5.x -o Qt (http://www.trolltech.no), >= 4.1.x -o Coin3D (http://www.coin3d.org), >= 2.4.x -o SoQt (http://www.coin3d.org), >= 1.2.x -o Xerces-c (http://xml.apache.org/dist/xerces-c/) -o zlib (http://www.zlib.net/) - -As far as I know, except of Coin3D and SoQt all libraries are available as prebuilt -binary packages from one of the Cygwin mirrors. To install them, first download the -latest version of setup.exe from www.cygwin.com and run it with administrator rights. -Then follow the instructions of the wizard until the list of all available packages -appears. Select the devel files of all the required libraries and install them. - -Then download the source tarballs of Coin3D and SoQt and unpack them into a directory -of your choice. -The Coin library can be built with ./configure --disable-msvc;make; make install. - -Building SoQt is a bit tricky and I haven't managed yet to build it in a proper way. -There are various problems with X11 functions and Windows API functions which I -don't know how to solve. - -And for the Mesh module of FreeCAD the additional libraries -o GTS Library (http://gts.sourceforge.net) -o Wild Magic (http://www.geometrictools.com) -o OpenCASCADE (http://www.opencascade.org), you need >=5.2 here -are required. OpenCASCADE is also needed by the Part and Raytracing modules. - -Note: As OpenCASCADE that is also required by the Mesh, Part and Raytracing - modules is not available for Cygwin it is not possible to build them - for this platform. It is planned for the future to move all OpenCASCADE - dependencies of the Mesh module into a separate module so that at least - this module can be built under Cygwin. - -Note: All libraries listed above must be built as shared library. Refer to their - documentation to see how to do. - -Note: If possible you should enable thread support for the libraries. At least for - Qt thread support is strongly recommended, otherwise you will run into linker - errors at build time of FreeCAD. - -Note: zlib might be already on your system, as this is a library that is used - from a lot of other libraries. - -Note: There seems to be various problems with Qt's uic tool of the Cygwin port. - -Due to these problems it is not possible to run the GUI under Cygwin at the -moment. It is only possible to run the commandline version. - -Configuration -------------- - -For the build process of FreeCAD we make use of configure scripts. -To have an overview of all options type in ./configure --help, first. - -If you have installed all libraries above into standard paths you need not any of the -'--with' options at all. Unless you have installed any library into a non-standard path, -then make use of the --with-XXX-includes or --with-XXX-libs options. -(XXX represents the corresponding library.) - -Note: Due to some limitations of the Windows platform it is not possible to build -libraries with unresolved symbols at link time. Thus it is strongly recommended to run -./configure with the option LDFLAGS=-no-undefined, otherwise the creation of shared -libraries fails. For more details see section 11.2.1 Creating Libtool Libraries with -Automake of the libtool documentation. - -Note: To specify FreeCAD's root directory it is recommended to use only the '--prefix' -option from the configure script but not the --bindir, --libdir, ... options, because -at startup FreeCAD makes assumptions where its lib-, doc-, .. directories reside. -The default root directory is located in ~/FreeCAD. - -If you know how to work with GNU autoconf, feel free to contribute improvements -to our configuration scripts --- that would be great. - - -Installation ------------- - -Once you have built the sources successfully using 'make' with 'make install' you can -install FreeCAD onto your machine whereever you want. Go to the directory FreeCAD/bin -and just type in ./FreeCADCmd. -FreeCAD's default root directory resides under ~/FreeCAD, so you don't need root privileges -therefore. - diff --git a/README.Linux b/README.Linux deleted file mode 100644 index d61f98b95..000000000 --- a/README.Linux +++ /dev/null @@ -1,99 +0,0 @@ - -How to build and run FreeCAD under Linux -======================================== - -Prerequisites -------------- - -To compile FreeCAD you will need, besides functioning Linux -and programming tools (like compiler), the following libraries: - -o Python (http://www.python.org), >= 2.5.x -o boost (http://www.boost.org), >= 1.33.1 -o Qt (http://qt-project.org/), >= 4.1.x -o PySide (http://qt-project.org/wiki/category:LanguageBindings::PySide::Downloads) -o Coin3D (http://www.coin3d.org), >= 2.4.x -o SoQt (http://www.coin3d.org), >= 1.2.x -o Xerces-C++ (http://xml.apache.org/dist/xerces-c/), >= 2.6 -o zlib (http://www.zlib.net/) - -And for the some FreeCAD modules the additional libraries -o OpenCascade (http://www.opencascade.org), >= 5.2 -o Eigen3 (http://eigen.tuxfamily.org/index.php?title=Main_Page), >= 3.0.1 -o FreeType -are required. - -Note: zlib might be already on your system, as this is a library that is used - by a lot of libraries, too. - -Note: All libraries listed above must be built as shared library. Refer to their - documentation to see how to do. - -Note: If possible you should enable thread support for the libraries. At least for - Qt thread support is strongly recommended, otherwise you will run into linker - errors at build time of FreeCAD. - -Note: The package for SoQt for Debian based systems may lack of the soqt.m4 macro file. - You should download the file from www.coin3d.org and copy it to /usr/share/aclocal. - -Note: The package for SoQt (at least for older Debian based systems) is usually built to link - against Qt3. This, however, causes a segmentation fault when using with FreeCAD because - it links against Qt4 and you get a mixup of Qt3 and Qt4 libraries. - To fix this problem you must download the sources from www.coin3d.org and run - configure with the 'with-qt=DIR' switch specifying the location of Qt4. - Probably, it's best to 'make install' the newly built SoQt into a different directory - than the installed SoQt to avoid to corrupt your package database and/or to keep other - applications working. When configuring FreeCAD you have to use the '--with-soqt=DIR' - switch specifying the path of the newly installed SoQt. - For newer Debian releases this already solved by a new package that links against Qt4. - - -During the compilation some Python scripts get executed. So the Python interpreter has -to work properly. - -Optionally, you can build the Qt plugin that provides all custom widgets of FreeCAD -we need for the Qt Designer. The sources are located under Tools/plugins/widget. -So far, we don't provide a makefile but calling 'qmake plugin.pro' creates it and -calling 'make' will create the library libFreeCAD_widgets.so. To make known this library -to your Qt Designer you have to copy the file to $QTDIR/plugin/designer. - -On our Wiki you'll find more information to build with different Linux distributions at -http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=CompileOnUnix - - -Configuration -------------- - -For the build process of FreeCAD we make use of configure scripts. -To have an overview of all switches type in ./configure --help, first. - -You don't need any of these switches unless you have installed a library into a non-standard -path. In this case make use of the appropriate --with-XXX-include or --with-XXX-lib switches, -please. (XXX stands for the corresponding library.) -Of course, for above mentioned problem with SoQt you should use the '--with-soqt=DIR' switch. - -Note: To specify FreeCAD's root directory it is recommended to use only the '--prefix' -switch from the configure script but not the --bindir, --libdir, ... switches, because at startup -FreeCAD makes assumptions about where its module directories are installed. - - -Installation & Running FreeCAD ------------------------------- - -Once you have built the sources successfully using 'make', with 'make install' you can -install FreeCAD onto your machine whereever you want. FreeCAD's default root directory -is $HOME/FreeCAD, so you don't need root privileges therefore. To run FreeCAD go to -$PREFIX/FreeCAD/bin and type in ./FreeCAD. - -Note: In the past there were a lot of problems that the Part workbench couldn't be loaded. - The problem is that the system wasn't able to find the OpenCascade library files. - To fix this problem you are strongly recommended to add the path of these libraries - to LD_LIBRARY_PATH or even to add it to ld.so.conf and run ldconfig. - - -So, just have fun! - - - -Werner Mayer -June 2014 diff --git a/README.MinGW b/README.MinGW deleted file mode 100644 index 1aee79449..000000000 --- a/README.MinGW +++ /dev/null @@ -1,324 +0,0 @@ - -How to build and run FreeCAD under MSYS/MinGW -============================================= - -Prerequisites -------------- - -Here comes a short introduction how to setup a MSYS/MinGW environment -on a Windows system, to build all needed libraries and finally to build -the FreeCAD sources. - -o MSYS/MinGW -If not already installed get a MinGW installer from the Sourceforge page at -http://sourceforge.net/projects/mingw. When writing this tutorial the latest -version was mingw-get-inst-20100831.exe. Download and just double-click the -excutable. This installs the compiler and a minimal Windows developer environment. -Make sure to also install the Fortran compiler because there is a single Fortran -file in the 3rd party folder of the FreeCAD sources. - -Then as second step MSYS needs to be installed to have an environment to run -./configure scripts which we make heavy use of in order to build all needed -libraries. From the Soureforge page the file MSYS-1.0.11.exe was taken. - -A virginal MSYS/MinGW installation lacks of a few modules we later need. -First, we need the utility pexport which can be found in the file -pexports-0.44-1-mingw32-bin.tar.lzma. I don't know where to put this file -and how to make MSYS to install the stuff inside. But the file can be opened -with a ZIP program and the content can be copied to their destination manually. -Here, the pexports utility can go to the bin directory of your MinGW installation. - -Then, we also need the development files for the pthreads module which is part -of the file pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma. Just download and copy -the files inside to your MinGW installation. - - -o CMake -Download the CMake utility from http://www.cmake.org/cmake/resources/software.html. -Get the archive with the binaries for the Windows platform and unpack whereever you -want. There is nothing further to do for this. - -o SWIG -Download the SWIG utility from www.swig.org and extract it somewhere on your harddisk. - - -Third party libraries ---------------------- - -Here is a description which libraries we need for FreeCAD and how to build them from -the sources. In order not to pollute our MinGW installation with too many files from -the 3rd party libraries we have to build you can e.g. create a sub-directory "local" -in your MSYS installation. If you have installed MSYS under C:\MSYS then simply create -the directory C:\MSYS\1.0\local. - - -o zlib -For zlib there is already a ready package for MinGW. So, therefore simply download -the file libz-1.2.3-1-mingw32-dev.tar.gz from the Sourceforge site and extract the -two directories lib and include to C:\MSYS\1.0\local. - - -o Python -It seems to be nearly impossible to build the Python sources directly with the MinGW -compiler. This is because some Python modules require some features which are not -implemented on the MinGW platform. Fortunately, the Python sources are plain C code -and instead of trying to build it with MinGW you can get a ready binary package built -with the MSVC compiler. You can install the Python stuff whereever you want. Afterwards -copy the include folder to C:\MSYS\1.0\local, the DLL can go to C:\MSYS\1.0\local\bin. - -Now we also need the so called import library. There we cannot use the .lib file which -comes together with the installer. But it's easy to create one with the pexports/dlltool -utilities. Assuming the Python version is 2.6 do these two steps: - - pexports python26.dll > python26.def - dlltool -D python26.dll -d python26.def -l libpython26.dll.a - -The file libpython26.dll.a can now be moved to C:\MSYS\1.0\local\lib. - - -o f2c -For this library we don't need any header files but only the import library to build the -Salome SMESH sources. The easiest way to build this file is: - - pexports libgfortran-3.dll > f2c.def - dlltool -D libgfortran-3.dll -d f2c.def -l libf2c.dll.a - -The file libf2c.dll.a can now be moved to C:\MSYS\1.0\local\lib. - - -o xerces-c -Download a source archive from http://xml.apache.org/dist/xerces-c/ and extract it. -Open a MSYS command line window and change to the xerces-c sources. From there run - - ./configure LDFLAGS=-no-undefined - -Once ./configure has finished it's best to move to the source directory because we -don't need to build the dozens of test applications and other stuff. So, do this: - - cd src - make - make install - -This takes a few minutes to be done. - - -o boost -For boost there exists a testing package with cmake support. This, however, seems to be -stable enough to build with the MinGW compiler. So, get the file boost-1.41.0.cmake0.zip -from http://sodium.resophonic.com/boost-cmake/1.41.0.cmake0/ and unpack it. - -Now, start the cmake-gui.exe from within the MSYS command line. This is necessary for cmake -in order to find the compiler and other stuff. Select the folder of the boost sources with -the CMakeLists.txt file, select a build directory and start Configure. You'll be asked for -which system you want to generate the Makefiles. Select MSYS/Makefiles, not MinGW/Makefiles. - -When the configuration step has finished go to the options and search for WINMANGLE_LIBNAMES. -Switch this off because otherwise the boost library names contain the compiler name. This -causes the boost cmake check to fail later when we try to build the FreeCAD sources. And for -the installtion folder choose the directory C:\MSYS\1.0\local. - -So, reconfigure boost and press on Generate once it has finished. Close the CMake GUI window -and enter - - make - make install - -into the command line. This will take a couple of minutes. - - -o eigen2 -Download eigen-2.0.15.tar.gz or any later version from http://eigen.tuxfamily.org/index.php?title=Main_Page. -Unpack the files and start again cmake-gui. Set the installation directory to C:\MSYS\1.0\local -and press on Configure and Generate. Close the window and start the installation with - - make - make install - - -o Qt4 -From the Qt website at ftp://ftp.trollech.com you can download already prebuilt packages for the -MinGW platform. But depending on the version you have installed it can happen that they don't fit -together. In this case the source tarball must be downloaded. Use version 4.5.3 or higher. Unpack -the sources and start the configure.exe you'll find inside the sources. - - ./configure - -By default the build the debug and release version. If you only want the release version use the -option "-release". - -Configure will ask you some questions under which license you want to use Qt. Choose LGPL here. -Now run the build with - - make - -This can take quite some time because Qt has become a really huge library over the years. Once the -build has finished run a - - make install - -to copy the header files to their right place. All the binaries and header files are still inside -the source folder. If you like you can copy all the .dll, .a, and the direcories under "include" to -the subdirectories of C:\MSYS\1.0\local. - - -o Coin -Get a source archive from www.coin3d.org. Unpack the sources and run - - ./confiure - make - make install - -It may happen that a message dialog pops up due to a missing cygwin1.dll. You simply ignore this. - - -o SoQt -Get a source archive from www.coin3d.org. Unpack the sources and run - - ./configure CXXFLAGS="-DCOIN_DLL" --with-qt=/usr/local - make - make install - -In case your Qt development files are not under /usr/local choose the correct directory there. -Again a message dialog may pop up due to the missing cygwin1.dll. - - -o PyQt/sip - -Warning: the following is obsoleted from version 0.14, since FreeCAD is now using -pySide instead of PyQt. At the moment, PySide suport for MingW seems still not complete: -https://bugreports.qt-project.org/browse/PYSIDE-113?page=com.atlassian.jira.plugin.system.issuetabpanels%3aall-tabpanel - -Download the sources archives for sip and PyQt4 from www.riverbankcomputing.co.uk. - -In order to build sip extract the archive and open a MSYS command line. From within -its source archive call - - python configure.py --platform win32-g++ --destdir=/usr/local - make - -It may happen that this step aborts because the Python include headers cannot be found. -In this case edit the Makefile and add the include path for the ython headers and also -the path and filename of the Python library. - -Unfortunately, the 'make install' command doesn't work because the Makefile was generated -to use Windows batch commands instead of bash commands. Thus, copy the following files to -a path where Python can find it, e.g. /usr/local/bin. - - sipconfig.py - sipdistutils.py - siputils.py - sip.pyd - sip.exe - -In order to build PyQt4 extract the source archive and open a MSYS command line. Go to the -directory and start - - export PATH=/usr/local/lib/:$PATH - python configure.py --destdir=/usr/local/lib/site-packages - make - -Since the Makefile doesn't find the Python header files copy them all and also the file sip.h -to a directory where they can be found. A good place seems to be the directory of the Qt sources. -There copy the files to $QTDIR/include. The Python library file python26.dll.a can go $QTDIR/lib. - -After the build has finished you have to copy all files that end with .pyd to their destination, -e.g. /usr/local/lib/site-packages/PyQt4. Lateron when you have built the FreeCAD sources you have -to copy the PyQt4 directory and sip.pyd to the FreeCAD bin directory or set a symlink. - - -o ODE -TODO: Still not clear if this will be used. (http://www.ode.org), >= 0.10.x - - -o OpenCASCADE -For the build of the OpenCASCADE libraries get the sources from www.opencascade.org or alternatively -it is also possible to download a stripped source tarball from the Debian mirrors which don't include -any fonts and other resource files. - -Unpack the sources and download a CMake script from http://opencascade-cmake.googlecode.com/svn/trunk/ -and the file occ_config.h.cmake. Copy both files into the 'ros' directory, start cmake-gui from -within a MSYS command line and select MSYS Makefiles. In the options the following switches can be -disabled: - - OPENCASCADE_WRAPPERS - OPENCASCADE_VISUALISATION - OPENCASCADE_OCAF - OPENCASCADE_DRAW - -Then specify for OPENCASCADE_INSTALL_PREFIX C:/MSYS/1.0/local as destination directory- - -Now click the Configure button which takes a while and afterwards the Generate button. - -Note: The original sources don't completely compile with MinGW. Therefore you have to apply the patch - OpenCASCADE6.3.0-MinGW.patch from http://code.google.com/p/opencascade-cmake/source/browse/trunk - -Note: The original sources includes also a configure script and the Makefile.am files. - But it appeared to be very hard to build the libraries this way. Thus, it highly - recommended to do it the CMake way. - -Note: For a couple of libraries the arguments passed to the linker exceeds the number of - allowed characters and thus the linker stops with an error: "Bad file number". - To solve this issue you can open the file build.make of the according library and - split the block (e.g. TKGeomAlgo_OBJECTS) into several smaller ones and modify the - build rule this way that you create first a static library, add the other object - files to the group and then unpack the static archive into one directory. This - trick solves the problem to reduce the whole number of characters. - Afterwards the shared library can be built out of these object files. - Example: - If the build.make file has a line of the form - g++ -shared -o libTKGeomAlgo.dll $(TKGeomAlgo_OBJECTS) - then change it into - ar rcs win32/libTKGeomAlgo.a $(TKGeomAlgo_OBJECTS1) - ar q win32/libTKGeomAlgo.a $(TKGeomAlgo_OBJECTS2) - ... - ar x win32/libTKGeomAlgo.a - g++ -shared -o libTKGeomAlgo.dll *.obj - rm -f *.obj - -o Netgen -Modify the following files: -* libsrc/meshing/improve2.hpp - Add DLL_HEADER to class MeshOptimize2d -* libsrc/meshing/meshclass.hpp - Add DLL_HEADER to CalcSurfacesOfNode -* libsrc/meshing/meshtype.hpp - Add DLL_HEADER to classes SurfaceElementIndex, MeshPoint, Element2d (int anp), -* libsrc/occ/occgeom.hpp - Add DLL_HEADER to classes Line, OCCGeometry, OCCParameters, OCCGenerateMesh -* libsrc/occ/occmeshsurf.hpp - Add DLL_HEADER to classes OCCSurface, Meshing2OCCSurfaces, MeshOptimize2dOCCSurfaces, OCCRefinementSurfaces - -Run the configure script with these arguments - ./configure --prefix=/usr/local --enable-shared --enable-occ --with-occ=/usr/local --with-tcl=/usr/local/lib --enable-nglib CXXFLAGS="-DNGLIB_EXPORTS -DWNT" - make && make install - - -Building the FreeCAD sources ----------------------------- - -In order build the FreeCAD sources either get the developer sources from the SVN repository -or get one of the .tar.gz tarballs and extract it. -Now start cmake-gui.exe from within a MSYS command line window and browse to the FreeCAD -sources and also define the build directory. Now run Configure. It may happen that cmake -complains about some not found libraries. In this case go through the listed libraries and -choose the include directory and/or the path to the library where needed. Once Confgiure -accepts all your input create the Makefiles by clicking on Generate. Now close the window -and enter - - make - make install - -This will take a couple of minutes. From the command line window change to the FreeCAD bin -folder and start the application with ./FreeCAD. In case it complains about some DLLs it cannot -find you have to extend your PATH environment variable with - - export PATH=$PATH:/usr/local/bin:/usr/local/lib - -If no grave problems remains repeating ./FreeCAD should start the application now. - -Note: In order to let CMake detect the boost libraries you must make sure that the - DLLs are in the system path because the check builds some test applications - and tries to start them. If the DLLs are not in path CMake says that it cannot - find boost. In this case do a export PATH=/usr/local/lib:$PATH - -Have fun! diff --git a/README.Win32 b/README.Win32 deleted file mode 100644 index fbb53a47f..000000000 --- a/README.Win32 +++ /dev/null @@ -1,82 +0,0 @@ - -How to build and run FreeCAD under Windows -========================================== - -Prerequisites -------------- - -On Windows we use the IDE MS VisualStudio 9 with the highest service pack. -In case you don't want to use MS products you can also use the MinGW compiler, -alternatively. In this case continue on reading the manual README.MinGW. -You need cMake 2.6 or higher to generate the project files for VisualStudio. -Also you need all the 3rd party libraries to succsefully compile FreeCAD. - -Using LibPack -------------- - -To make it easier to get FreeCAD compiled, we provide a collection of all -needed libraries. It's called the LibPack. You can find it on the download -page on sourceforge. - -Python needed -------------- - -During the compilation some Python scripts get executed. So the Python interpreter -has to function on the OS. Use a command box to check it. If the Python library is -not properly installed you will get an error message like Cannot find python.exe. -If you use the LibPack you can also use the python.exe in the bin directory. - -Compile -------- - -In order to build the FreeCAD sources start the GUI frontend of cmake. If -doesn't already find the header files and libraries of the LibPack you have to -define the path where you have unpacked it. - -After you conform to all prerequisites the compilation is - hopefully - only -a mouse click in VC ;-) - -After Compiling ---------------- - -To get FreeCAD up and running from the compiler environment you need to move a -few files from the LibPack to the "bin" folder where FreeCAD.exe is installed -after a successfull build: - - * python.exe and python_d.exe from LIBPACK/bin - * python26.dll and python26_d.dll from LIBPACK/bin - * python26.zip from LIBPACK/bin - * make a copy of python26.zip and rename it to python26_d.zip - - -Additional stuff ----------------- - -If you want to build the source code documentation you need DoxyGen. -To create an intstaller package you need WIX. - - -Additional information on building special 3rd party libraries --------------------------------------------------------------- - -* Mefisto2F - -The Salome SMESH library needs the Mefisto2F library which contains some Fortran code. -The easiest way is to convert the Fortran code into C code and use the f2c library to -build a static library. - -1. Get the f2c utility from http://netlib.sandia.gov/f2c/mswin/index.html -2. Convert the Fortran file trte.f into a C file trte.c using the f2c utility - >>> f2c trte.f -3. Get the sources for the lib f2c from http://netlib.sandia.gov/f2c/libf2c.zip and - unpack them. -4. Apply the patch 'mefisto2f.patch' -5. Run nmake -f makefile.vc - -Alternatively, you can use the Watcom Fortran compiler. The needed project file can be get from -here: http://sourceforge.net/p/salomesmesh/code/HEAD/tree/trunk/adm/win32-watcom/ -However, this doesn't work for x64 targets at the moment. - -* FreeType - -http://stackoverflow.com/questions/6207176/compiling-freetype-to-dll-as-opposed-to-static-library