CGAL 3.5 will include TAUCS/BLAS/LAPACK precompiled libraries for Visual C++ 8.0 and 9.0.
Auto-link is modified accordingly.
* Also fixed compatibility of cgal_test_with_cmake.bat scripts with VC++ 9.0.
Removed _HAS_ITERATOR_DEBUGGING=0 setting to go back to default settings.
This setting could create conflicts with third party libraries like _SECURE_SCL=0 crashes boost program options.
Note that no conflict with _HAS_ITERATOR_DEBUGGING was reported. This is just a safety change.
Fixed link with Boost.ProgramOptions on Windows/VC++
- Code cleaning:
CGAL_USE_TAUCS #define has been moved back to CGAL_UseTAUCS.cmake
- Added back traces of third-party libraries found.
FindBLAS.cmake and FindLAPACK.cmake in CMake 2.6.
The result is more or less equivalent to install_cgal's behavior.
TODO:
- use a C++ compiler instead of a Fortran one
- try to be compatible with CMake 2.4
- find CBLAS (http://www.netlib.org/cblas)?
Jet_fitting_3 and Surface_mesh_parameterization compile now with CMake
(tested on Linux/gcc and Windows/VC++ 2005).
Enforced CGAL_NDEBUG rule:
- code under include/CGAL/ and src/ must not use NDEBUG and assert(), but CGAL_NDEBUG and CGAL assertion macros.
- code under demo/, examples/ and test/ must use NDEBUG and assert().
- there is a clear distinction between internal errors (aka bugs) and not supported input files (typically models which are not topological discs),
- internal errors trigger a test suite failure.
The main consequence is that OpenNL errors trigger now a test suite failure.
in order to catch input meshes that do not respect them and avoid crashes in Release mode:
- For fixed border parameterizations:
Preconditions:
check that the border is mapped onto a convex polygon.
check that the input mesh is triangular (expensive check).
check that the input mesh is a surface with one connected component (expensive check).
Postconditions:
check one-to-one mapping.
- For free border parameterizations:
Preconditions:
check that the input mesh is triangular (expensive check).
check that the input mesh is a surface with one connected component (expensive check).
Postconditions:
check one-to-one mapping.
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed