We declare
cmake_minimum_required(VERSION 2.6.2)
but we also use
cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.
That way, we no longer need any declaration of specific policies.
Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
For that:
- Split internal::Static_filters into two classes: one with only filtered
functors, for Epeck, and one that use the filtered functors, but also use
directory unfiltered functors of the Cartesian kernel (for predicates that
only compare doubles).
- Add a functor Get_approx in <CGAL/internal/Static_filters/tools.h>, that
is the identity for all types but lazy types (in that case its returns
"x.approx()").
- Use Get_approx in static-filters versions of predicates, so that they can
be used with Lazy_kernel too.
- Use Static_filters<K_base, false> as base class of Lazy_kernel.
- Rewrite <CGAL/Exact_predicate_exact_constructions_kernel.h>, to use
static filters for Epeck, but also to simplify that file by the use
Exact_type_selector<double>::Type as number type.
(The testsuite of Kernel_23 is OK on the platform
x86-64_Linux-2.6_g++-4.4.4_F13).
in revision 58154, Filtered_bbox_circular_kernel_2<Lazy_circular_kernel_2<K> >
was no longer working.
In Circular_kernel_2:
*The Rep type of Circular_arc_2, Line_arc_2 and Circular_arc_point_2 in
Filtered_bbox_circular_kernel_2 now inherits from the Rep of the kernel
template parameter. To allow Lazy filtering mechanism on
Filtered_bbox_circular_kernel_2::{Circular_arc_2,Line_arc_2,Circular_arc_point_2}
it was needed to explicit some conversions (with Lazy_circular_kernel, we add another
implicit construction, thus the compiler cannot find the correct constructor).
In Filtered_kernel:
*explicit some conversions
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
that allows to specify if static filters are activated or not.
It allows to have both variants at the same time, which allows for
a faster test-suite.
CGAL_NO_STATIC_FILTERS still allows to tweak the default.