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.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
(CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))