Change of Qt4or5 variables names.
Now: QT_VERSION => contains "QtX", with x 4 or 5 depending of the version wanted by the user.
USE_QT_VERSION => variable to force the version of Qt wanted. If this variable is set, the Qt Choice drop-down menu doesn't appear on CMake-gui.
QT_VERSION_USED => number of Qt version wanted (4 or 5).
QT4 => TRUE if Qt4 chosen.
QT5 => TRUE if Qt5 chosen.
Now, we have choice between "WITH_CGAL_Qt4" and "WITH_CGAL_Qt5" (like before because differents CGAL_QtX sources folders return).
Once the libCGALQt4 or libCGALQt5 configured, an cmake config variable "CGAL_QT_RECENT" allow us to know what is the more recent libCGAL_QtX configured.
Automaticaly,the demonstrations chose this recent version of Qt to build their project (even if a Qt version choice is proposed during CMake configuration)
During CMake configuration, when the user change the version of libCGAL_QtX, that change automaticaly the Qt version of find_package(QtX)
Now Qt4or5 is the thing allowing the choice between Qt4 and Qt5 (find_package(CGAL COMPONENT Qt4or5) or find_package(Qt4or5))
This is a copy from the branch CMap_no_dart-gdamiand by keeping only the part with dart_handle.
The modifications are the ones given in the small feature Combinatorial map dart attribute.
* clarify all the tests of group/ungroup cases for non void attributes
* create specialized functors allowing to consider all the different cases
(group two edges along their two extremities, only the first or the second...)
* make many cleanup to move functors in different files, and to comment them
* add namespace before global functions
Still to do: sewable for dim>3 (build the isomorphism); try to improve onsplit
test by testing only one out of two modified darts; add a parameter to
operations to do not test group/ungroup; do a functor which updates the
attributes of all the map (avoid do make many small tests, and do only one
big test once).
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;
}
On Windows, CMake makes the difference between the target
linear_cell_complex_3 (from examples) and Linear_cell_complex_3 (from
demo). But those two targets only differ by the case, and that makes
a confusion at the level of nmake.