That is a followup-to my commit last year:
| ------------------------------------------------------------------------
| r63198 | lrineau | 2011-04-28 19:45:22 +0200 (Thu, 28 Apr 2011) | 5 lines
|
| Try to fix my last revision about cmake_policy, with CMake-2.6.x
|
| CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
| x.y.z is greater than the current CMake version.
|
| ------------------------------------------------------------------------
The following check:
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
is useless just after a call to:
cmake_minimum_required(VERSION 2.6.2)
The script used to fix that was:
#!/usr/bin/env perl
$replacement=<<'END';
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
cmake_policy(VERSION 2.8.4)
else()
cmake_policy(VERSION 2.6)
endif()
END
while(<>) {
if(/if\("\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6\)/) {
while(<>) {
if(/^endif\(\)/) {
print "$replacement";
while(<>) {
print;
}
exit 0
}
}
}
print;
}
For resources that are shipped by the CGAL_Qt4 library, one need to call
CGAL_QT4_INIT_RESOURCES, a macro that calls CGAL_Qt4_init_resources
(exported by the CGAL_Qt4 DLL)
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)
* 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
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_segments_2.h
M Principal_component_analysis/demo/Principal_component_analysis/linear_least_squares_fitting.cpp
Made modifications to remove compilation errors.
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_tetrahedrons_3.h
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_spheres_3.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_points_2.h
M Principal_component_analysis/include/CGAL/centroid.h
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_points_3.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_2.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_3.h
M Principal_component_analysis/include/CGAL/util.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_circles_2.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_segments_2.h
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_segments_3.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_rectangles_2.h
A Principal_component_analysis/include/CGAL/PCA_tags.h
M Principal_component_analysis/include/CGAL/linear_least_squares_fitting_triangles_2.h
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_triangles_3.h
A Principal_component_analysis/include/CGAL/linear_least_squares_fitting_cuboids_3.h
D Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_segments.cpp
D Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_rectangles.cpp
D Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_triangles.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_spheres_3.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_points_2.cpp
M Principal_component_analysis/examples/Principal_component_analysis/centroid.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_points_3.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_circles_2.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_ankit.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_segments_2.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_segments_3.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_rectangles_2.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_triangles_2.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_cuboids_3.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_triangles_3.cpp
D Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting.cpp
D Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_circles.cpp
A Principal_component_analysis/examples/Principal_component_analysis/linear_least_squares_fitting_tetrahedrons_3.cpp
Doc: added definitions, did many fixes.
IMPORTANT: sylvain: double-check the definitions, and precise the dimension and types available for each of your function.
important change: I suggest to rename the function bounding_box to axis_aligned_bounding_box (min case later you will hack on the general one).