Commit Graph

159 Commits

Author SHA1 Message Date
Marc Glisse b53de35ff6 Work around Boost changing the name of their macros every other release.
Work around Microsoft defining min/max as macros.
2013-11-01 14:46:20 +01:00
Laurent Rineau 3ac5e524a2 Fix a trivial parsing bug in CGAL_assume
A warning of clang showed me my mistake:

In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/cmake/platforms/x86-64_Linux-Fedora18_llvm-clang-with-g++-4.7/test/Kinetic_data_structures/timings.cpp:14:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Kinetic/Delaunay_triangulation_3.h:32:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Delaunay_triangulation_3.h:31:
In file included from /no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Triangulation_3.h:37:
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/Triangulation_data_structure_3.h:938:7: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
      CGAL_assume(index_v_in_n0 <= 1);
      ^                         ~~
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/assertions.h:86:29: note: expanded from macro 'CGAL_assume'
#    define CGAL_assume(EX) CGAL_ASSUME(EX)
                            ^
/no-raid/home/lrineau/CGAL/CGAL-4.4-I-10/include/CGAL/config.h:334:30: note: expanded from macro 'CGAL_ASSUME'
#  define CGAL_ASSUME(EX) if(!EX) { __builtin_unreachable(); }
                             ^
Trivial bug-fix.
2013-10-29 15:49:19 +01:00
Laurent Rineau 62445a796a CGAL_NO_DEPRECATION_WARNINGS for deprecated headers 2013-05-28 11:38:19 +02:00
Laurent Rineau 1da90b4b8c Do not use __builtin_unreachable in strict-ansi mode 2013-03-19 17:18:12 +01:00
Laurent Rineau 220ddbf6b2 New macro CGAL_GCC_VERSION to help preprocessor conditionals on gcc version
And use it in <CGAL/refine_mesh_3.h>
2013-02-27 19:58:02 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau e4377bf9bd Fix a typo in the message of an assertion 2013-02-21 11:07:08 +01:00
Laurent Rineau 3f894697bc New macros CGAL_assume(EX) and CGAL_assume_code(CODE)
CGAL_assume(EX) is like CGAL_assertion, but is not disabled in release
mode. In debug mode, it is similar to CGAL_assertion(). In release mode, it
uses builtins of the compilateur, like the MSVC __assume or the g++/clang
__builtin_unreachable to give an hint to the compiler that some situation
in the code cannot happen.
2013-02-20 18:34:15 +01:00
Philipp Möller 1720fd845c No isfinite on MSVC
The advertisement is lying about what is implemented in cmath.
2013-02-15 10:48:23 +01:00
Laurent Rineau 29c05b900b Mark BOOST_STATIC_ASSERT with 'CGAL_UNUSED'
In order to fix such a warning from g++-4.8:
  warning: typedef ‘boost_static_assert_typedef_241’ locally defined but
  not used [-Wunused-local-typedefs]
then:
  - create one macro CGAL_UNUSED that is "__attribute__ ((__unused__))"
    with g++ or empty otherwise,
  - use it after BOOST_STATIC_ASSERT in the definition of
    CGAL_static_assertion.
2013-02-07 18:15:23 +01:00
Laurent Rineau 5ddbb68176 Add the macro CGAL_USE_TYPE(), and a test for <CGAL/use.h> 2013-01-31 14:08:36 +01:00
Philipp Möller beed9c5acc No isfinite on MSVC
The advertisement is lying about what is implemented in cmath.
2013-01-29 10:54:18 +01:00
Laurent Rineau 4b38c0b73e The Intel Compiler has the "bug" CGAL_CFG_NO_STATEMENT_EXPRESSIONS.
The Intel Compiler, even when it tries to emulate the GNU/C++ compiler,
does not implement the GNU extension "statement expressions". The macro
CGAL_CFG_NO_STATEMENT_EXPRESSIONS must be defined with __INTEL_COMPILER is
defined.
2013-01-07 13:01:21 +01:00
Philipp Möller f16a152aec Make the feature checks more resilient to old Boost.Versions 2012-12-19 16:24:14 +01:00
Philipp Möller cd7c3e3592 Use the right BOOST_VERSION
When one is using the non-deprecated form of the macro, the version of
the deprecation has to be used - not the version where the original
macro appeared first.
2012-12-12 11:24:07 +01:00
Philipp Möller feceb5a028 Add the macro CGAL_CFG_NO_CPP0X_UNIFIED_INITIALIZATION_SYNTAX 2012-12-11 17:41:54 +01:00
Philipp Möller ab5c017c08 Unconditionally disable NO_TR1 defines.
Those cause trouble, because on MSVC the include paths for tr1
components are different from gcc. Instead of fixing up the include
paths depending on platform, just never use a tr1 component. Nothing
of value is lost compared to the boost equivalents and it removes
another code-path.
2012-09-28 13:15:14 +00:00
Laurent Rineau 90414d195f Move <CGAL/Testsuite/use.h> to <CGAL/use.h> (in the Installation package)
That is a followup to the following commit:
  | ------------------------------------------------------------------------
  | r71090 | pmoeller | 2012-08-07 13:04:32 +0200 (Tue, 07 Aug 2012) | 6 lines
  | Changed paths:
  |    M /branches/next/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h
  |    M /branches/next/Circulator/include/CGAL/circulator.h
  |    M /branches/next/Convex_decomposition_3/include/CGAL/Convex_decomposition_3/Reflex_vertex_searcher.h
  |    M /branches/next/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
  |    M /branches/next/Kernel_d/include/CGAL/Cartesian_d.h
  |    M /branches/next/Mesh_3/include/CGAL/IO/File_medit.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/make_mesh_3.h
  |    M /branches/next/Nef_2/include/CGAL/Bounded_kernel.h
  |    M /branches/next/Nef_2/include/CGAL/Nef_polyhedron_2.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/ID_support_handler.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/Infimaximal_box.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/vertex_cycle_to_nef_3.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_polyhedron_3.h
  |    M /branches/next/Nef_3/test/Nef_3/nef_union_error_llvm.cpp
  |    M /branches/next/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h
  |    M /branches/next/OpenNL/include/CGAL/OpenNL/blas.h
  |    M /branches/next/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h
  |    M /branches/next/Point_set_processing_3/include/CGAL/mst_orient_normals.h
  |    M /branches/next/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h
  |    M /branches/next/STL_Extension/include/CGAL/iterator.h
  |    M /branches/next/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_simple_site_2.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Polyhedron_decorator_3.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Subdivision_mask_3.h
  |    M /branches/next/Surface_mesher/include/CGAL/Surface_mesh_default_criteria_3.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Adaptation_traits_functors.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_inserters.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_removers.h
  | 
  | WARNFIX: Silence a good part of unused variable/parameter warnings.
  | 
  | Wextra results in a dreadful wall of yellow in the test-suite and is
  | scary when using CGAL. Reduce some of the noise by silencing the
  | obvious cases with CGAL_USE or comments.
  | 
  | ------------------------------------------------------------------------

The reason is that everything from CGAL/Testsuite/ is removed in public
releases (that was discussed at a CGAL developers meetings, long ago). That
means that r71090 introduced compilation errors undetectable by the tests
of internal releases. I hope that the minutes of that developers meeting
say that I was against the removal of headers between internal and public
releases!  -- Laurent Rineau
2012-08-09 15:34:08 +00:00
Laurent Rineau 4953bbbc86 Remove buggy executable bits 2012-07-04 19:28:22 +00:00
Philipp Möller 8720500433 Guard some macros with an additional check against BOOST_VERSION
This will not hinder usability. Compiling a three year old Boost
release with C++11 enabled is a bad idea anyway.
2012-06-13 12:33:33 +00:00
Marc Glisse ad2e67797a next, prev, copy_n in C++11. 2012-05-20 15:09:15 +00:00
Marc Glisse c26419086e CGAL_CFG_NO_STATEMENT_EXPRESSIONS only for gcc 2012-05-20 14:15:03 +00:00
Marc Glisse 2644615fae remove now unused file 2012-05-20 13:14:56 +00:00
Marc Glisse 9de2b137e3 move gcc macros 2012-05-20 13:14:34 +00:00
Philipp Möller 542f5d9c51 Merged ^/branches/next here 2012-04-16 08:53:21 +00:00
Laurent Rineau a429b26316 Cherry-pick that revision from /branches/features/Mesh_3-parallel-cjamin/
| ------------------------------------------------------------------------
  | r68020 | cjamin | 2012-03-12 18:27:30 +0100 (Mon, 12 Mar 2012) | 1 line
  | 
  | To be able to build CGAL on MSVC11
  |
  ------------------------------------------------------------------------

It adapts CGAL CMake scripts and CGAL auto-link headers to MSVC2011.

Thanks to Clement Jamin, from Inria, for the patch.
2012-03-19 14:26:17 +00:00
Laurent Rineau 3d01e09cb8 Workaround for a bug in Boost, that checks WIN64 instead of _WIN64
https://svn.boost.org/trac/boost/ticket/5519
2012-01-30 10:15:20 +00:00
Laurent Rineau aa6184e8a1 merge changes from next 2012-01-27 12:55:23 +00:00
Laurent Rineau a8988af6a7 Typo in the macro Q_MOC_RUN 2012-01-26 13:22:08 +00:00
Laurent Rineau 76f6503a3f Try to fix the bug between Qt moc and "namespace BOOST_JOIN(...)" 2012-01-26 12:00:16 +00:00
Laurent Rineau 24ec9f43fb merge changes from next 2012-01-25 11:23:02 +00:00
Laurent Rineau 7177fa5a63 Add a check that NDEBUG is not defined by test platforms 2012-01-25 11:14:17 +00:00
Laurent Rineau baeec2d53f merge all the changes from next! 2012-01-20 17:45:27 +00:00
Laurent Rineau 7f0df0919c Fix the license header
That file is under Boost Software License. We cannot relicence it like we
want!
2012-01-19 16:50:34 +00:00
Laurent Rineau e597f13bf7 Remove that auto-generated file! 2012-01-17 10:21:58 +00:00
Philipp Möller 6415622971 Removed unused define. 2011-12-14 10:38:31 +00:00
Laurent Rineau 7c64fe7394 Add versioninfo to created DLLs. 2011-10-25 15:17:08 +00:00
Laurent Rineau 13447f666c auto-link files must include <CGAL/config.h>
<CGAL/config.h> includes <CGAL/compiler_config.h>, that is generated during
the build of libraries. CGAL_BUILD_SHARED_LIBS is defined in it.
2011-10-24 09:23:21 +00:00
Laurent Rineau a49a4976a2 Change the name mangling of CGAL libraries, on Windows
We adopt the naming scheme of Boost libraries, with the "lib" prefix for
static libraries. And with the CGAL_VERSION as suffix.

For example, static libraries will be named:
  libCGAL_Qt4-vc100-mt-gd-3.10-Ic-123.lib
and DLL will be named:
  CGAL_Qt4-vc100-mt-gd-3.10-Ic-123.dll
2011-10-21 14:10:52 +00:00
Laurent Rineau 338c6a9925 Update the export feature to non-Microsoft compilers
Support the ELF visibility feature of gcc/icl/clang
2011-10-18 16:53:54 +00:00
Laurent Rineau badcdb5871 Completely remove the support for auto-linking of GMP and MPFR
I have grepped for auto_link/(GMP|MFR)|AUTO_?LINK_(GMP|MPFR) and I removed
completely any support for auto-linking of GMP and MPFR from CGAL.

That is no longer necessary, nor relevant, no that we provide precompiled
GMP and MPFR libraries under standard names libgmp-10.lib and
libmpfr-4.lib.

To test in candidates: 
   Core
   Installation
   Number_types
2011-10-14 13:39:45 +00:00
Laurent Rineau dfba14f23c Rename <CGAL/$LIB/export.h> to <CGAL/export/$LIB.h> 2011-10-12 09:43:19 +00:00
Laurent Rineau 87148361ff Rename CGAL_BUILD_SHARED_LIB to CGAL_BUILD_SHARED_LIBS
Better name, and more coherent with CMake variable name:
  BUILD_SHARED_LIBS
2011-10-11 13:52:25 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Laurent Rineau 3d3662850e <CGAL/export.h> must be included *after* <CGAL/compiler_config.h>
because CGAL_BUILD_SHARED_LIB is defined in the later.
2011-10-07 14:26:14 +00:00
Laurent Rineau 02d3b31a33 merge next into this branch 2011-10-06 16:06:34 +00:00
Laurent Rineau aa00f78883 Also support the compilation of CGAL libraries as static libs, with MSVC. 2011-10-06 16:01:16 +00:00
Laurent Rineau b0fe1aa5c9 Make the messages generated by CGAL_LIB_DIAGNOSTIC a bit more recognizable 2011-10-06 11:49:20 +00:00
Andreas Fabri 8c9865daef Add GF copyright header 2011-10-06 09:59:07 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00