Merged back from 3.3-branch

This commit is contained in:
Fernando Cacciola 2007-06-06 15:56:57 +00:00
parent eb655ddee1
commit cdf3285cb2
1 changed files with 50 additions and 42 deletions

View File

@ -2,7 +2,7 @@ $CGAL/INSTALL.win32
====================================================================== ======================================================================
This file describes how to install CGAL on MS Windows for This file describes how to install CGAL on MS Windows for
Developer Studio .Net 2003 (VC 7.1) and 2005 (VC 8.0) Developer Studio .Net 2003 (VC 7.1) and 2005 (VC 8.0)
Note that you can alternatively install CGAL with the Microsoft compilers using Note that you can alternatively install CGAL with the Microsoft compilers using
Cygwin. For installation on Unix systems and on Cygwin, please see the INSTALL Cygwin. For installation on Unix systems and on Cygwin, please see the INSTALL
@ -26,45 +26,45 @@ Boost
CGAL needs some parts of Boost. You can download it from http://www.boost.org. CGAL needs some parts of Boost. You can download it from http://www.boost.org.
It is enough to unzip the file. Currently only some demo programs It is enough to unzip the file. Currently only some demo programs
in the Kinetic_data_structures directory need the compiled Boost need the compiled Boost library "program_options".
library program_options.
Alternatively you can use the Installer for Boost provided Alternatively you can use the Installer for Boost provided
by Boost Consulting: http://www.boostconsulting/download.html. by Boost Consulting: http://www.boostconsulting/download.html.
It allows you to select precompiled libraries. It allows you to select precompiled libraries.
GMP and MPFR GMP and MPFR
------------ ------------
Some examples and demos need GMP. The CGAL Installer installs Some examples and demos need GMP. The CGAL Windows Installer installs
precompiled versions of GMP 4.1.4 and MPFR 2.1.0. in the directory precompiled versions of GMP 4.2.1 and MPFR 2.1.1. in the directory
CGAL-3.3/auxiliary/gmp. CGAL-3.3/auxiliary/gmp.
We compiled GMP and MPFR, using both VC7.1 and VC8 using a variety We compiled GMP and MPFR, using both VC7.1 and VC8 using a variety
of configurations (with all without any processor specific assembler). of configurations (with all without any processor specific assembler).
Qt Qt
-- --
Most demos use Qt 3. You can download it from http://www.trolltech.no. Most demos use Qt 3. You can download it from http://www.trolltech.com.
You must build the multi-threaded version (/MD).
BLAS and LAPACK
---------------
Only the Jet_fitting_3 and Ridges_3 packages require BLAS and LAPACK.
The CGAL Windows Installer installs precompiled versions of BLAS and LAPACK
in the directory CGAL-3.3/auxiliary/taucs.
TAUCS TAUCS
----- -----
Only examples in the Surface_mesh_parameterization directory need TAUCS. TAUCS is a library of sparse linear solvers. In CGAL, it is used to improve (a lot)
the computations within the Surface_mesh_parameterization package only.
If you want to compile those you need to download and compile TAUCS yourself. The CGAL Windows Installer installs precompiled versions of TAUCS
You can download the official source code from http://www.tau.ac.il/~stoledo/taucs (and all its dependencies) in the directory CGAL-3.3/auxiliary/taucs.
or download a version modified for VC7.1 using the /MD option from the Download section
of http://www.cgal.org.
Due to an incompatibility between ATLAS (a dependency of TAUCS) and Visual C++ debugger,
we provide also the Blas and Lapack reference implementations. They are notably slow and
should be used only for debugging.
See TAUCS documentation to create a "variant" makefile to compile TAUCS
with the /MD option and the appropriate Blas library.
If you want to compile those yourself, you can download the official release
from http://www.tau.ac.il/~stoledo/taucs/ or download a version customized for CGAL
from the Download section of http://www.cgal.org.
Zlib Zlib
---- ----
@ -93,7 +93,7 @@ For that feature to work, the names of the CGAL libraries must follow a conventi
that reflects the compiler and configuration variants. that reflects the compiler and configuration variants.
Thus, while in previous versions of CGAL you could build "CGAL.lib" and link against it, Thus, while in previous versions of CGAL you could build "CGAL.lib" and link against it,
starting from this version you build different variants with names like starting from this version you build different variants with names like
"cgal-vc71-mt-sgd.lib" and such. "cgal-vc71-mt-sgd.lib" and such.
Each library project file contains one configuration for each supported variant. Each library project file contains one configuration for each supported variant.
@ -116,7 +116,7 @@ COMPILER is 'vc71' or 'vc80'
'-sgd' : a static and debug version of the CRT is used. Also, the lib is built with debug information enabled. '-sgd' : a static and debug version of the CRT is used. Also, the lib is built with debug information enabled.
'-gd' : a dynamic and debug version of the CRT is used (a DLL). Also, the lib is built with debug information enabled. '-gd' : a dynamic and debug version of the CRT is used (a DLL). Also, the lib is built with debug information enabled.
'' (empty) : a dynamic version of the CRT is used (a DLL). There is no debug information (neither in the lib nor the CRT used). '' (empty) : a dynamic version of the CRT is used (a DLL). There is no debug information (neither in the lib nor the CRT used).
There isn't any configuration mixing a debug CRT with a release library or viceversa. There isn't any configuration mixing a debug CRT with a release library or viceversa.
If you want to rebuild the CGAL library you should go into the CGALROOT/src/CGAL directory If you want to rebuild the CGAL library you should go into the CGALROOT/src/CGAL directory
@ -129,31 +129,37 @@ If you want to build all variants at once, go to BatchBuild, select all, and cli
NOTE: In previous versions, CGAL.lib was created in CGALROOT/lib/msvc7/, while in this NOTE: In previous versions, CGAL.lib was created in CGALROOT/lib/msvc7/, while in this
version all variants are created in CGALROOT/lib/ version all variants are created in CGALROOT/lib/
The windows installer allows you to install precompiled versions of mpfr and gmp under $(CGALROOT)/auxiliary/gmp. The CGAL Windows installer allows you to install precompiled versions of GMP, MPFR,
Following the mangling scheme described above, we precompiled all the variants for mpfr and gmp. BLAS, LAPACK and TAUCS under $(CGALROOT)/auxiliary.
Following the mangling scheme described above, we precompiled all the variants for these libraries.
Projects files for demos and examples are only provided for VC7.1. Projects files for demos and examples are only provided for VC7.1.
However, they have been specificaly designed to work as-is in Developer Studio 2005, so you only need to open However, they have been specificaly designed to work as-is in Developer Studio 2005, so you only need to open
and convert them right away via the VS Conversion Wizard. and convert them right away via the VS Conversion Wizard.
Besides CGAL itself there is a number of related CGAL-specific libraries that are needed by some demos and examples.
These are CGALCore, CGALImageIO, CGALPDB and CGALQt.
Project and source files for all these libraries are located under CGALROOT/src/<library>.
There is a global solution file under CGALROOT/src/. You can use it to build all these libraries at once.
Paths for Header Files and Libraries Paths for Header Files and Libraries
------------------------------------ ------------------------------------
The individual project files (for the libraries, demos and examples) The individual project files (for the libraries, demos and examples)
use the following enviroment variables to find paths: use the following enviroment variables to find paths:
$(BOOSTROOT) // Required to build libraries, examples and demos. $(BOOSTROOT) // Required to build libraries, examples and demos.
$(CGALROOT) // Also required to build libraries, examples and demos. $(CGALROOT) // Also required to build examples and demos (but not the libraries).
$(QTDIR) // Only required by some demos. $(QTDIR) // Only required to build some demos.
Each of these must point to the ROOT location of the corresponding library. Each of these must point to the ROOT location of the corresponding library.
The windows installer allows you to set $CGALDIR and $BOOSTROOT, for all or just the current user, via The Windows installer allows you to set $CGALDIR and $BOOSTROOT, for all or just the current user, via
an editable text slot and a confirmation checkbox. an editable text slot and a confirmation checkbox.
If any of these variables are already defined in your system, the text slot shows the current value If any of these variables are already defined in your system, the text slot shows the current value
and the checkbox is unchecked to prevent you from accidentally overriding them. and the checkbox is unchecked to prevent you from accidentally overriding them.
For other third party libraries, such as TAUCS, Zlib etc, you must add For other third party libraries, such as Zlib, you must add
the corresponding paths manually, either by modifiying specific project files or from within the corresponding paths manually, either by modifiying specific project files or from within
Developer Studio, going to Tools->Options->Projects->VC++Directories, Developer Studio, going to Tools->Options->Projects->VC++Directories,
tab "Show Directories" for "Include Files" and "Library Files". tab "Show Directories" for "Include Files" and "Library Files".
@ -165,15 +171,15 @@ Building the Examples
--------------------- ---------------------
The examples come in CGALROOT/examples directory. Each example directory contains the The examples come in CGALROOT/examples directory. Each example directory contains the
VC++ 7.1 project files (.vcproj). If you use VC8.0, just open the .vcproj and let the VC++ 7.1 project files (.sln and/or .vcproj). If you use VC8.0, just open the .sln/.vcproj and let the
conversion wizard proceed since the projects files have been designed to work as-is on VC8.0 as well. conversion wizard proceed since the projects files have been designed to work as-is on VC8.0 as well.
Building the Demos Building the Demos
------------------ ------------------
The demos come in CGALROOT/demo directory. Each demo directory contains the The demos come in CGALROOT/demo directory. Each demo directory contains the
VC++ 7.1 project files (.vcproj). To build one demo you should open one of those files. VC++ 7.1 project files (.sln and/or .vcproj). To build one demo you should open one of those files.
If you use VC8.0, just open the .vcproj and let the conversion wizard proceed since If you use VC8.0, just open the .sln/.vcproj and let the conversion wizard proceed since
the projects files have been designed to work as-is on VC8.0 as well. the projects files have been designed to work as-is on VC8.0 as well.
The demos need Qt installed. The projects are configured for commercial users. The demos need Qt installed. The projects are configured for commercial users.
The libraries that are used are qt-mt.lib and qtmain.lib, and you should change The libraries that are used are qt-mt.lib and qtmain.lib, and you should change
@ -187,19 +193,21 @@ Running the Examples and Demos
------------------------------ ------------------------------
The corresponding executable(s) then can be run as usual, from the The corresponding executable(s) then can be run as usual, from the
command prompt, or via Explorer. command prompt, or via Explorer.
Building user projects that use CGAL Building user projects that use CGAL
------------------------------------ ------------------------------------
The simplest way to create a project that uses CGAL is to take some demo .vcproj The simplest way to create a project that uses CGAL is to take some demo .vcproj
(for VC7.1 or VC80) and start from there. Alternatively, you can create (for VC7.1 or VC80) and start from there. Alternatively, you can create
the project file from scratch. the project file from scratch.
Add "$(CGALROOT)/include/CGAL/config/msvc";"$(CGALROOT)/include" -IN THAT ORDER- Add "$(CGALROOT)/include/CGAL/config/msvc";"$(CGALROOT)/include" -IN THAT ORDER-
and "$(CGALROOT)/lib" to the include and library paths. and "$(CGALROOT)/lib" to the include and library paths.
If the project needs gmp, mpfr or CORE, also add "$(CGALROOT)/auxiliary/gmp/include" If the project needs GMP, MPFR or CORE, also add "$(CGALROOT)/auxiliary/gmp/include"
and "$(CGALROOT)/auxiliary/gmp/lib" and "$(CGALROOT)/auxiliary/gmp/lib".
Since auto-linking is used, there is no need to specify any library (not even gmp.lib nor mpfr.lib). If the project needs BLAS, LAPACK or TAUCS, also add "$(CGALROOT)/auxiliary/taucs/include"
and "$(CGALROOT)/auxiliary/taucs/lib".
Since auto-linking is used, there is no need to specify any library (not even gmp.lib, mpfr.lib, ...)
NOTE: Before version 3.3, the include path had "msvc7" instead of "msvc" as the leaf NOTE: Before version 3.3, the include path had "msvc7" instead of "msvc" as the leaf
folder. Likewise, the libraries where located at "/lib/msvc7" instead of just "/lib". folder. Likewise, the libraries where located at "/lib/msvc7" instead of just "/lib".