Commit Graph

313 Commits

Author SHA1 Message Date
Laurent Rineau ec1dd745e0 Remove cpp11::(tuple|get)
And use `#ifdef CGAL_NO_DEPRECATED_CODE` around the backward
compatibility code in `<CGAL/config.h>`.
2020-06-09 20:11:45 +02:00
Laurent Rineau 9b8ecd720b Merge pull request #4636 from sgiraudot/CMake-Third_party_imported_targets-GF
CMake: Use Imported Targets for 3rd Party Libs
2020-06-05 17:54:14 +02:00
Laurent Rineau a828cb0d06 Merge pull request #4620 from janetournois/Tetrahedral_remeshing-new-jtournois
Tetrahedral remeshing - new package
2020-06-03 16:23:17 +02:00
Maxime Gimeno 4af1e73f69 Work around for moc bug 2020-06-02 10:12:10 +02:00
Jane Tournois b6912d92ea fix warnings
- move #define a better location
- conversion double/size_t
- unused parameters
- automatic conversion int/boolean
2020-05-15 13:54:19 +02:00
Jane Tournois 3d5fc5c1ca silent warning "STL4009: std::allocator<void> is deprecated in C++17."
from boost-1_71\boost/bimap/detail/manage_additional_parameters.hpp(86):
warning C4996: 'std::allocator<void>': warning STL4009: std::allocator<void>
 is deprecated in C++17.
You can define _SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING or
_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
to acknowledge that you have received this warning.

see https://github.com/boostorg/beast/issues/1272
it seems that this warning is an error in msvc
2020-05-14 13:51:41 +02:00
Mael Rouxel-Labbé 01d5e5f2b8 Add CGAL_NO_UNIQUE_ADDRESS 2020-05-12 12:53:59 +02:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Laurent Rineau 0dfd416395 Use [[noreturn]] directly 2020-03-06 09:26:54 +01:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Laurent Rineau 47fcaf3d47 Merge pull request #4265 from lrineau/CGAL-really_header_only-GF
Do not require -DCGAL_HEADER_ONLY
2019-10-15 16:34:09 +02:00
Laurent Rineau 119055d688 Merge pull request #4281 from sloriot/CGAL-default_endian
Add a way to define a default endianness
2019-10-15 16:31:39 +02:00
Laurent Rineau b6a935c3cf Merge pull request #4292 from maxGimeno/CGAL_Config-Fix_typo-maxGimeno
Remove extra S in macro
2019-10-15 16:31:24 +02:00
Maxime Gimeno 856b7722f1 Remove extra S in macro 2019-10-15 09:03:13 +02:00
Laurent Rineau 9c67734dcc Push the `#define CGAL_HEADER_ONLY` at the top 2019-10-11 12:02:25 +02:00
Laurent Rineau e872e74654 Refactor the code 2019-10-10 17:59:46 +02:00
Sébastien Loriot 2f1ab3a86d rename macro 2019-10-10 14:45:42 +02:00
Sébastien Loriot 66e3b216be add a way to define a default endian 2019-10-10 13:00:33 +02:00
Laurent Rineau 779ef144fe Do not require -DCGAL_HEADER_ONLY
Now, that macro is set unless `CGAL_NOT_HEADER_ONLY` is 1.
2019-10-01 18:10:30 +02:00
Sébastien Loriot 983645a51a match @{ and @} 2019-07-05 21:49:46 +02:00
Laurent Rineau 2a5b558eb5 Merge branch 'master' into NewKernel_d-lazy_Epeck_d-glisse 2019-06-20 10:28:01 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Andreas Fabri 5532b84b4f nullptr_t -> std::nullptr_t 2019-06-05 07:28:56 +02:00
Maxime Gimeno 78db3f646d Solve conflicts 2019-04-09 10:04:44 +02:00
Laurent Rineau 3a32f3f3ef Restore CGAL::cpp11 temporarily
This reverts commit 04978d8aae.
2019-04-01 18:27:35 +02:00
Andreas Fabri b84f54a9e3 Do not define the macro CGAL_CFG_NO_CPP0X_DELETED_AND_DEFAULT_FUNCTIONS for VC2013 as suggested in Issue #3436 2019-02-08 09:46:18 +01:00
Marc Glisse 34cbb9cd4b Make Epeck_d work & C++14-only cleanups
Still some rough edges:
1) double tab[]={.1,.2,.3}; Point_d p(tab+0,tab+3); lazily stores
iterators to tab, so tab had better still be alive when we need
update_exact.
2) One functor (point on a sphere) cannot be done exactly exactly with
a representation center+squared radius.
3) Several hacks that make this not as generic as it should be.
2019-02-03 23:16:28 +01:00
Laurent Rineau c68cf8fc4c Merge pull request #3129 from sgiraudot/Point_set_processing-Callbacks-GF
Point Set Processing: Callbacks
2018-06-27 10:21:40 +02:00
Simon Giraudot 24ac59a01c Avoid using std::unordered_set for MSVC2013 as performances can be very bad
See: https://medium.com/plaxis/embarrassingly-poor-performance-of-regular-point-sets-with-std-unordered-set-418cb413974b
2018-06-21 16:11:03 +02:00
Simon Giraudot 6480cf2205 Define a CGAL::cpp11::thread wrapper for TBB or STD 2018-05-29 11:42:04 +02:00
Laurent Rineau 01ab4856b0 Set BOOST_PARAMETER_MAX_ARITY very early 2018-05-15 14:56:21 +02:00
Laurent Rineau 5fea3c3eb1 Add CGAL_CXX14
and remove uses of `__cplusplus` that are not in `<CGAL/config.h>`.
2018-04-17 17:15:04 +02:00
Andreas Fabri 303b0ab46e Fix detection of CGAL_CXX11 for VC++ and fixes of usage of std::allocator_traits 2018-04-16 11:00:03 +01:00
Sébastien Loriot 01af331c72 use https for all links to www.cgal.org and doc.cgal.org 2018-03-14 15:59:38 +01:00
Andreas Fabri bcbbf35dad Define CGAL_NORETURN also for VC++ and move the macro before the functions 2018-02-14 14:51:40 +00:00
Laurent Rineau 4b3244384f Merge pull request #2695 from sgiraudot/Point_set_shape_detection-Introducing_callbacks-GF
Shape Detection: Add Callback Mechanism
2018-01-17 10:42:41 +01:00
Laurent Rineau e8fca04385 Merge pull request #2691 from lrineau/Installation-fix_Boost_thread_required_or_not-GF
Installation: fix the detection of C++11 and the need for Boost Thread
2018-01-17 10:42:09 +01:00
Simon Giraudot d1179b5b04 Add cpp11::function (using either std::function or boost::function) 2018-01-12 09:54:14 +01:00
Laurent Rineau fa9f256781 Fix the use of __has_cpp_attribute
When =std=c++03 is used, `__has_cpp_attribute(something)` still returns
non-zero for valid C++11 attributes.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81513
2018-01-04 11:47:13 +01:00
Laurent Rineau e80136e750
Merge branch 'master' into Aos_2-surface_sweep-efif 2017-12-07 15:00:47 +01:00
Efi Fogel f1483cfa25 Merge branch 'Aos_2-surface_sweep-efif-old' into Aos_2-surface_sweep-efif
Merging Sebastien's fix to the surface-sweep cod.
Also, replaced all occurrences of '_SL_' with '_SS_'.
2017-12-07 15:56:00 +02:00
Laurent Rineau 777717ba7e Move config/ to cmake/modules/config/
That way, the directory will be installed along with CMake modules.
2017-12-06 12:53:05 +01:00
Laurent Rineau 3c6640bf59 Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
Renewal of CMake scripts: header-only, ctest, CMake>=3.1

# Conflicts:
#	Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +01:00
Laurent Rineau 28bd89af65 Fix a stupid typo 2017-11-28 10:24:13 +01:00
Laurent Rineau 9eb2e30745 Deal with the macro CGAL_TEST_SUITE in header-only 2017-11-23 17:06:46 +01:00
Laurent Rineau a2a5ca91a1 Unify CGAL_HEADER_ONLY and CGAL_HEADER_ONLY_STEP_2 2017-11-23 17:06:46 +01:00
Efi Fogel 7936109c6c Merge branch 'Aos_2-surface_sweep-efif-old' into Aos_2-surface_sweep-efif
Conflicts:
	.travis.yml
	.travis/packages.txt
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_bounded_planar_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_default_overlay_traits.h
	Arrangement_on_surface_2/include/CGAL/Arr_overlay_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_spherical_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_topology_traits_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_bounded_planar_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_planar_topology_traits_base_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_batched_pl_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_insertion_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_overlay_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_topology_traits_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_vert_decomp_helper.h
	Arrangement_on_surface_2/include/CGAL/Arr_unb_planar_topology_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Arr_vertical_decomposition_2.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_default_planar_topology.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_global.h
	Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_basic_insertion_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_batched_pl_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_construction_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_default_overlay_traits_base.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_insertion_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_no_intersection_insertion_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_ss_visitor.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_subcurve.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_overlay_traits_2.h
	Arrangement_on_surface_2/include/CGAL/Surface_sweep_2/Arr_vert_decomp_ss_visitor.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_meta_traits.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op_sweep.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_agg_op_visitor.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_polygon_simplifier.h
	Boolean_set_operations_2/include/CGAL/Boolean_set_operations_2/Gps_polygon_validation.h
	CGAL_ipelets/demo/CGAL_ipelets/arrangement.cpp
	Documentation/doc/Documentation/dependencies
	Installation/include/CGAL/config.h
	Snap_rounding_2/include/CGAL/Snap_rounding_2.h
	Surface_sweep_2/examples/Surface_sweep_2/CMakeLists.txt
	Surface_sweep_2/include/CGAL/Surface_sweep_2/No_intersection_surface_sweep_2_impl.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2/No_overlap_event_base.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2/Surface_sweep_2_utils.h
	Surface_sweep_2/include/CGAL/Surface_sweep_2_algorithms.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_construction_event.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_construction_subcurve.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Arr_insertion_sl_visitor.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_2_visitors.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_curve_pair.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_functors.h
	Sweep_line_2/include/CGAL/Sweep_line_2/Sweep_line_subcurve.h
	Sweep_line_2/include/CGAL/Sweep_line_empty_visitor.h
2017-11-16 16:31:52 +02:00
Laurent Rineau c6068691fa Merge pull request #2547 from lrineau/CMake-parse_CTest_XML_output-lrineau
CGAL testsuite implemented with CTest plus Python (part.1)
2017-11-13 11:13:54 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau 05a3370ad3 Rename to <CGAL/functional.h> 2017-10-04 16:32:11 +02:00
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Andreas Fabri 2c2e26f07e Include CGAL/unary_function.h 2017-10-04 13:36:00 +01:00
Laurent Rineau 931a0a2689 second fix for: Add hack in config.h for boost detection of CXX11 features with ICC 2017-07-11 11:59:40 +02:00
Laurent Rineau 33871eac4b fix: "Add hack in config.h for boost detection of CXX11 features with ICC"
We have to check `__GXX_EXPERIMENTAL_CXX0X__`.

The issue in Boost-1.53 is that the other macro
`__GXX_EXPERIMENTAL_CPP0X__` is checked instead.
2017-07-11 11:59:39 +02:00
Simon Giraudot 6bc9fb5852 Add hack in config.h for boost detection of CXX11 features with ICC 2017-07-11 11:59:18 +02:00
Efi Fogel d10ed5ad2c Introduced CGAL_CFG_NO_CPP0X_TEMPLATE_ALIASES and used it 2017-07-10 12:29:17 +03:00
Laurent Rineau b0336e6558 Workaround for https://svn.boost.org/trac10/ticket/12534
That is a workaround for the bug about the partial specialization of

    boost::is_enum<std::pair<T, U> >

being too late.

The bug has been in Boost-1.62 only. For that version (currently the
default version in Debian-testing), we include a header from Boost
container as soon as possible: in `<CGAL/config.h>`.
2017-07-07 11:23:21 +02:00
Laurent Rineau 718512a7ba Handle <CGAL/compiler_config.h> for MSVC
Actually, in our testsuite results, no other compiler has any bug
detected by the `CGAL_CFG*BUG` macros.
2017-03-27 18:04:53 +02:00
Laurent Rineau 1f3ba3c7ab Improvements to CGAL_HEADER_ONLY
- Now `<CGAL/compiler_config.h>` is no longer used.
  - GMP and MPFR are assumed.
- `<CGAL/version.h>` is in the distribution.
2017-03-27 18:04:52 +02:00
Andreas Fabri 8186bf41ae Fix CGAL_pragma_warning for Visual C++ 2017-03-22 14:50:47 +01:00
Simon Giraudot 1385d5fc9b Add macros with old versions of boost 2017-02-27 14:21:20 +01:00
Simon Giraudot 6525d58fbf Fix error (removed lines by mistake) in config.h 2017-02-27 10:03:51 +01:00
Simon Giraudot 588c8634b9 Add CGAL::cpp11::unordered_set/map using boost or std 2017-02-27 09:56:54 +01:00
Laurent Rineau 680210cab5 Improvements
- move `CGAL_WARNING` in `<CGAL/config.h>`,

- create the macro `CGAL_pragma_warning`,

- use `CGAL_pragma_warning` to simplify `<CGAL/license/lgpl.h>` and
  `<CGAL/license/gpl.h.in>`.

- add messages in `include/CGAL/license/generate_files.cmake`

- add test files, that do nothing but can be modified to check errors
  and warning.
2017-01-19 15:20:23 +01:00
Marc Glisse c58d0c319a Allow CGAL_EIGEN3_DISABLED to disable auto-detection of Eigen3. 2016-11-07 21:46:10 +01:00
Marc Glisse 933cb0f14a If we detect that Eigen3 is present, enable it. 2016-11-04 16:22:52 +01:00
Laurent Rineau 08126075a7 Merge pull request #1582 from afabri/Circular_kernel_2-ICL_variant_bug-GF
Circular_kernel_2: Add a dummy field to the variant to work around an ICL bug
2016-10-20 09:47:35 +02:00
Andreas Fabri eb64523536 Make the additional type a maco. Add operator(int) for a visitor 2016-10-18 16:03:40 +02:00
Laurent Rineau 78c8179ae6 Fix for clang
With clang, at least with older version like 3.5,
`__has_attribute(fallthrough)` is true but the syntax

    __attribute__(fallthrough)

is not recognized.
2016-10-17 13:45:42 +02:00
Laurent Rineau 5df371c0c1 Oops! 2016-10-17 13:45:42 +02:00
Laurent Rineau 90aa157c7b Conditional definition of CGAL_FALLTHROUGH 2016-10-17 13:45:42 +02:00
Andreas Fabri 0cf03af615 Preliminary support for adressing the -Wimplicit-fallthrough warning 2016-10-17 13:45:42 +02:00
Laurent Rineau f2205ee9da Merge pull request #1128 from maxGimeno/Fix_for_1127-GF
Add a macro to customize deprecation warnings
2016-10-17 10:01:40 +02:00
Laurent Rineau 451577719c Merge pull request #1542 from lrineau/Installation-fix_CGAL_SetupBoostlrineau
try_run to detect the C++ version
2016-10-07 14:38:22 +02:00
Laurent Rineau 95f3b09de3 Use the same test as in <CGAL/config.h> 2016-10-05 10:14:53 +02:00
Marc Glisse 942f13c26b Update list of boost headers that break Qt4 moc. 2016-09-30 11:12:19 +02:00
Laurent Rineau 1ec30bd830 Merge branch 'releases/CGAL-4.8-branch'
This merge imports:
> Merge pull request #1304 from sloriot/Installation-remove_config_test
2016-07-27 16:18:33 +02:00
Sébastien Loriot 98121af143 replace library compile time test 2016-07-26 11:58:03 +02:00
Maxime Gimeno dc797391a3 Fix macro mithout argument. 2016-07-13 10:27:24 +02:00
Clement Jamin 280036e488 Fix CGAL_DEPRECATED_UNUSED definition 2016-07-01 16:54:58 +02:00
Guillaume Damiand d544f4a5f7 Remove the unused variable warning for the deprecated variable default_random. 2016-06-03 18:11:34 +02:00
Maxime Gimeno 1a76a04931 Add a macro to customize deprecation warnings. 2016-06-02 15:45:20 +02:00
Clement Jamin fd1b4889f0 Disable auto-link when using header-only CGAL 2016-03-09 10:20:05 +01:00
Sebastien Loriot 6c88ccaeab Merge pull request #663 from afabri/CGAL-rename_cfg-GF
Fix macro name
2016-01-25 08:45:38 +01:00
Sébastien Loriot 551b3fa24d Merge remote-tracking branch 'cgal/releases/CGAL-4.7-branch' into HEAD 2016-01-25 08:29:55 +01:00
Laurent Rineau 235b601b73 Fix a bug in Boost.Config<1.57 with gcc>=5.0
`BOOST_HAS_VARIADIC_TMPL` and `BOOST_NO_CXX11_VARIADIC_TEMPLATES` can be
wrong, with Boost-1.57 and gcc>=5.0.

Fixes the following warnings with gcc>=5.0 in C++98 mode:
> CGAL-4.8-Ic-106/include/CGAL/array.h:78:31: warning: variadic templates only available with -std=c++11 or -std=gnu++11
> template< typename T, typename... Args >
>                               ^
> CGAL-4.8-Ic-106/include/CGAL/array.h:80:28: warning: variadic templates only available with -std=c++11 or -std=gnu++11
> cpp11::array< T, 1 + sizeof...(Args) >
>                            ^
> CGAL-4.8-Ic-106/include/CGAL/array.h:81:42: warning: variadic templates only available with -std=c++11 or -std=gnu++11
>  make_array(const T & t, const Args & ... args)
>                                           ^
2016-01-25 08:28:06 +01:00
Andreas Fabri 567f027484 Fix macro name 2016-01-21 11:32:48 +01:00
Sebastien Loriot 155dba5e96 Merge pull request #641 from lrineau/Installation-do_not_use_deprecated_macros_from_Boost_Config-lrineau
Boost.Config: check both deprecated name and new names (Boost>=1.50)
2016-01-21 09:25:57 +01:00
Sebastien Loriot a5ab3281d5 Merge pull request #642 from lrineau/Install-add_CGAL_CAN_USE_CXX11_ATOMIC-lrineau
Add <CGAL/atomic.h> and CGAL_CAN_USE_CXX11_ATOMIC
2016-01-21 09:25:39 +01:00
Laurent Rineau a32ba4b0af Boost.Config>=1.56 defines BOOST_NO_CXX11_HDR_ATOMIC 2016-01-15 18:46:46 +01:00
Laurent Rineau 68c6941cbb Add <CGAL/atomic.h> and CGAL_CAN_USE_CXX11_ATOMIC
- Change the way the macros `CGAL_CAN_USE_CXX11_THREAD_LOCAL` and
  `CGAL_CAN_USE_CXX11_MUTEX` are defined, so that other compilers are
  also supported.

- Add the macro `CGAL_CAN_USE_CXX11_ATOMIC` and the header
  `<CGAL/atomic.h>`.
2016-01-15 18:26:44 +01:00
Laurent Rineau 65cad196df Check both deprecated name and new names (Boost>=1.50)
The deprecated names may be removed from future versions of Boost, and
we do not want our C++11 support be dropped for users using newest
versions of Boost.
2016-01-15 17:47:45 +01:00
Sebastien Loriot 4e9448cb9e Merge pull request #451 from GilesBathgate/throwing-destructors
Introduces a CGAL_destructor_assertion macro.
2016-01-14 14:08:10 +01:00
Giles Bathgate f0ac236713 Introduces a GCAL_NO_ASSERTIONS_BOOL macro
This macro is always defined. Its value will be true when assertions are defined
and false when assertions are not defined. This macro can then be used in place
of a true false constant, such as is needed for CGAL_NOEXCEPT.
2016-01-08 20:31:59 +00:00
Sebastien Loriot 2b49997c7e Merge pull request #493 from afabri/CGLAL-thread_local_storage-GF
Remove boost thread dependency
2016-01-04 16:49:26 +01:00
Giles Bathgate ab7b34846e Use boost detection of CXX11 noexcept keyword.
BOOST_NO_NOEXCEPT and BOOST_NO_CXX11_NOEXCEPT provide a more
convenient way of determining whether the CXX11 noexcept keyword
is available.

See: http://www.boost.org/doc/libs/1_50_0/libs/config/doc/html/boost_config/boost_macro_reference.html
2015-12-10 10:54:36 +00:00
Andreas Fabri dd17f1ad5d Set BOOST_PARAMETER_MAX_ARITY to the needed value in the concerned packages 2015-12-01 17:05:53 +01:00
Sebastien Loriot b5546cb802 Merge pull request #486 from lrineau/Installation-visual_leak_detector-lrineau
Enable the use of Visual Leak Detector in CGAL
2015-11-26 14:30:14 +01:00
Giles Bathgate 3a725499ad Introduces CGAL_NOEXCEPT macro.
This macro is available for future compatibility with c++11, which
by default marks destructors noexcept(true). Some destructors
in CGAL do throw exceptions an so should be marked noexcept(false).
Since noexcept is not available in c++0x and below the macro is
disabled when CGAL_CXX11 is not defined since it is not required.
2015-11-23 16:47:59 +00:00
Andreas Fabri 2ce8b07ec0 Define BOOST_PARAMETER_MAX_ARITY in <CGAL/config.h>
This macro has to be larger than the default value
and it must be set before including <boost/parameter.hpp>

Instead of setting it to 12 in the packages that
need it, we do this in <CGAL/config.h> and produce
an error if a user has set it to a value < 12
2015-11-16 11:21:31 +01:00
Andreas Fabri 6b2c4dd7c6 Merge branch 'CGLAL-thread_local_storage-GF-old' into CGLAL-thread_local_storage-GF 2015-11-09 14:26:42 +01:00
Volodymyr Boichentsov f06bea8d8d fixed boost endianness check 2015-10-09 09:26:00 +01:00
Volodymyr Boichentsov 64cceb7bb4 revert back arch's define check 2015-10-08 07:26:09 +01:00
Volodymyr Boichentsov ee8d3d7fa3 added endianness check with boost
added few more arch's
added include for `<OpenGLES/ES2/gl.h>` header for ios
2015-10-07 22:43:08 +01:00
Andreas Fabri ca54af03c2 Use <mutex> starting with Visual 2012 and g++ 4.8 with std=c++11 2015-10-05 12:19:13 +02:00
Andreas Fabri a14cf913e9 WIP: In Lazy.h we now have a single macro for boost and c++11 thread 2015-09-11 14:54:11 +02:00
Andreas Fabri aa649eccc9 bug fix 2015-09-11 08:58:32 +02:00
Andreas Fabri 434e66a0f1 move detection of that the keyword threadlocal can be used from Mpzf.h to config.h 2015-09-10 12:44:52 +02:00
Andreas Fabri bf975ead95 No longer forward declare struct std:hash 2015-08-23 14:30:54 +02:00
Andreas Fabri 5db9675db8 Add #defines to trick moc 2015-01-19 17:54:26 +01:00
Jane Tournois 6b6af12353 fix the BOOST_JOIN parse error in demos
somehow, boost/random.hpp includes boost/type_traits/has_binary_operator.hpp,
and the "parse error" happens in this file (as said in the bug report)

Also update the link to the official Qt bug report
2014-12-11 12:17:44 +01:00
Andreas Fabri 9b0a59972f Support for LEDA_numbers on Windows
trivial fix for master (and approved by the Release Manager)
2014-08-07 14:16:38 +02:00
Laurent Rineau 865eee70f7 Support LEDA with thread-support
If one use a library of LEDA that support threads, without setting
LEDA_MULTI_THREAD, then one can get segfaults when creating new LEDA
objects.
2014-08-04 15:53:58 +02:00
Sébastien Loriot 2aadba50d7 Merge branch 'BGL-redesign_final-GF'
Introduces a redesign of the CGAL extension of the BGL API

Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager

Conflicts:
	Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
2014-07-08 19:45:16 +02:00
Andreas Fabri c726cedbbb As BOOST_NO_CXX11_RANGE_BASED_FOR has been introduced with Boost 1.51
we need a CGAL macro
2014-07-03 09:24:20 +02:00
Marc Glisse 897f585f12 Merge branch 'Kernel_d-rewrite-glisse-old' into Kernel_d-rewrite-glisse
Need the Interval_nt/long interoperability for Eigen.
2014-05-07 18:41:17 +02:00
Laurent Rineau cf5d6e041e Use pragmas to fix warnings 2014-04-10 20:06:04 +02:00
Marc Glisse 1241b2f14f Use boost::int128_type instead of __int128. This makes __extension__
useless, hence removed.
2014-03-13 17:06:43 +01:00
Marc Glisse b257e85427 Rework test for __int128 availability. 2014-03-13 16:50:22 +01:00
Marc Glisse 09f3db2025 define CGAL_CXX11. 2014-03-12 14:07:47 +01:00
Laurent Rineau d8c4aa09df Merge branch 'Number_types-sse2fabs-GF'
Use SSE2 to implement CGAL::abs(double), with MSVC.

Tested in CGAL-4.4-Ic-119.
2014-02-17 16:21:13 +01:00
Sébastien Loriot cae96035cb work around a bug of MSVC2013 for initializer lists
http://connect.microsoft.com/VisualStudio/feedback/details/792161/constructor-initializer-list-does-not-support-braced-init-list-form
2014-02-13 17:45:53 +01:00
Andreas Fabri fccd75b4c5 Use a more specific test for switching to SSE2 for fabs 2014-01-31 16:18:48 +01:00
Andreas Fabri c1f46dc382 As std::fabs is slow on Windows, we switch to an implementation using sse2.
This version is already in CGAL, but it is protected with an #ifdef
So this commit consists of a #define for VC++
2014-01-15 16:35:14 +01:00
Andreas Fabri 2860662f77 Merge branch 'Installation-visual_leak_detector-lrineauTMP' into Installation-visual_leak_detector-lrineau 2013-11-19 14:46:39 +01:00
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 ea6e24200c Allow the use of Visual Leak Detector
See the small feature [[Small features/Visual_Leak_Detector]] in CGAL
developers wiki:
  https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Visual_Leak_Detector

See also:
  http://vld.codeplex.com/
2013-09-11 12:25:01 +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 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 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
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 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 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 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 7177fa5a63 Add a check that NDEBUG is not defined by test platforms 2012-01-25 11:14:17 +00:00
Philipp Möller 6415622971 Removed unused define. 2011-12-14 10:38:31 +00:00