Now, when a switch is done by the user between Qt4 and Qt5, all the qt executables are refound, searching the proper version of them (Qt4 or Qt5)
A new bug, that wasn't noticed the first time, has been found and corrected into Mesh_3.
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))
Distribute dijktra header file from boost 1.55 to work around
a bug in the version 1.54. The header file is only used if the
user compiles with boost 1.54
Tested in CGAL-4.5-Ic-102
Approved by the release manager
Conflicts:
Installation/changes.html
Actually, in my opinion that was also a bug with other versions of
CMake.
Before this commit, in Installation/src, CGAL_CONFIGURED_LIBRARIES was
set to the empty string "" *in the parent scope* (Installation),
then the variable is modified in the current scope Installation/src, and
then the variable value is copied to a cache variable of the same name.
In my opinion, that means that the parent scope (Installation) has a
non-cache variable CGAL_CONFIGURED_LIBRARIES that is empty (""), and a
cache variable that is not empty (that contains, for example
"CGAL_Core;CGAL_Qt4;CGAL_ImageIO"). The document of CMake-3.0 precisely says
that the semantic of variables is such that cache variables have the
lowest priority. See:
http://www.cmake.org/cmake/help/v3.0/manual/cmake-language.7.html#variables
As far as I know, that was supposed to be the same for CMake 2.8, but I
cannot find out where it is described in the documentation. Anyway, the
bug was visible with CMake 2.8 and not with CMake 3.0.
The patch simply does not set the empty value of
CGAL_CONFIGURED_LIBRARIES in the parent scope, but only in the current
local scope.
Tested in CGAL-4.5-Ic-100
Approved by the release manager
Conflicts:
Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/CMakeLists.txt
Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin.cpp
Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/PS_demo_poisson_plugin_cgal_code.cpp
Taucs, Lapack and Blas supports are no longer tested
Approved by the Release Manager
Tested in CGAL-4.5-Ic-97
Conflicts:
Polyhedron/demo/Polyhedron/CMakeLists.txt
Introduces the Surface modeling package that allows
to deform a triangulated surface mesh
Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager
Conflicts:
Installation/changes.html
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
Reintroduce the possibility to use CGAL without GMP
(to use LEDA number types instead for example).
The cmake option to set to switch off GMP when building
the lib is CGAL_DISABLE_GMP.
Tested in CGAL-4.5-Ic-86
Approved by the release manager
ge is necessary,
Fixes bugs in the 3D convex hull traits concept, in particular due to the
handling of coplanar points
Tested in CGAL-4.5-Ic-72
Approved by the release manager
Conflicts:
Installation/changes.html
- Aymeric's merge commit 566ad109eb
removed non-ascii characters from Installation/changes.html. That was
not intended.
- At the same time, merge two sections about changes to Mesh_3 for 4.5.
This small feature adds a new constructor in Labeled_mesh_domain_3 and
a new function wrapper. A Labeled_mesh_domain_3 can be built from an
Iso_cuboid_3 now.
(cf. https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper)
The new wrapper, Implicit_multi_domain_to_labeling_function_wrapper, is a
helping class to get a function with integer values labeling the
components of a multi-domain. This small feature was successfully tested in
the internal release CGAL-4.5-Ic-45.
Approved by the Release Manager.
Conflicts:
Installation/changes.html
* replaced private implementation of kd-tree in Snap_rounding with
officical implementation of Kd_tree in Spatial_search package
* added reserve() and capacity() to Kd_tree
* removed kd_tree package that was only used by Snap_rounding_2
Tested in CGAL-4.5-Ic-6
Approved by the Release Manager
Fix warnings about unused variables/parameters
Use pragmas, when that is needed (for Boost named parameters)
Tested in CGAL-4.5-Ic-7.
Approved by the Release Manager.
bug-fix: preserve edges marked as non-removable
See Features/Small_Features/SMS_with_constrained
Tested in CGAL-4.4-Ic-119 and CGAL-4.4-Ic-120
Conflicts:
Installation/changes.html
This branch provides new options to developers (the public API is not changed) to use the Sliver_criterion they chose to optimize the quality of a C3t3 using the perturb_mesh_3 operator. New perturbation directions can also be added by developers.
The small feature is described here :
https://cgal.geometryfactory.com/CGAL/Members/wiki/Perturber_Sliver_criteria
Approved by the release manager
* Enhancing the testsuite---adding tests for
batched, point location
vertical decomposition, and
triangulation point location.
* Various bug fixes:
bugs in point location.
memory leaks found by Andreas.
* Resolving several small issues to remove compiler warnings.
Tested last in CGAL-4.4-Ic-54.
Approved by the release manager
null_dart_handle is no longer static; implies to move several methods from Dart concept into CMap concept. This will simplify the changing of the underlying container in the near future.
Small feature Combinatorial map dart attribute pre-approved in May 2013.
Approved by the release manager.
Introduces a faster alternative to MP_Float and Gmpzf
(see the documentation to see on which platforms it is available).
When activated, it is used as default exact ring number type for exact
evaluation of predicates (that only require ring operations).
It is possible to switch back to the previous behavior by defining
CGAL_DO_NOT_USE_MPZF
Successfully tested in CGAL-4.4-Ic-29
Approved by the Release Manager
Fix memory leaks in CORE, and in two tests:
Installation/link_to_CGAL_ImageIO.cpp
Profiling_tools/test_memory_sizer.cpp
Tested successfully in CGAL-4.4-Ic-14.
Approved by the Release Manager for CGAL-4.4.
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.
Compact_mesh_cell_base_3 has a different API than Mesh_cell_base_3. Unless
one uses the default template parameters, the new API is less
convenient. We cannot deprecate Mesh_cell_base_3 so easily.
This leads to false positives
(cherry picked from commit a5d9d001aa995c4a66d73a40cbc6a1a22b795d4d)
Message added by Laurent Rineau:
that commit was tested in CGAL-4.3-Ic-168
This is a followup-up to the following commit:
| commit 16d42c0adf
| Author: Laurent Rineau <laurent.rineau@cgal.org>
| Date: Tue Aug 20 15:47:00 2013 +0200
|
| Hide the variables CGAL_*_PACKAGE_DIR
|
| Those three variables are for internal use only, and should not be exposed
| to the users in the cmake cache:
| CGAL_INSTALLATION_PACKAGE_DIR
| CGAL_MAINTENANCE_PACKAGE_DIR
| CGAL_CORE_PACKAGE_DIR
Those variables are declared twice, in two 'if()'-branches. I forgot to
modify one copy of them.
== Setting paths ==
-- Build CGAL from release in directory CGAL-4.3-beta1
CMake Warning (dev) at CMakeLists.txt:99 (set):
Cannot set "CGAL_CONFIGURED_PACKAGES_NAMES": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
The reason is that in the release there is not parent directory. As that
cmake instruction is need only if the Doxygen documentation is there, I
have surrounded the corresponding line of code by:
if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/Documentation")
endif()
Those three variables are for internal use only, and should not be exposed
to the users in the cmake cache:
CGAL_INSTALLATION_PACKAGE_DIR
CGAL_MAINTENANCE_PACKAGE_DIR
CGAL_CORE_PACKAGE_DIR
That is a late follow-up to the following commit:
| commit 12744ab7ff
| Author: Laurent Rineau <Laurent.Rineau__CGAL@normalesup.org>
| Date: Thu Apr 28 13:11:09 2011 +0000
|
| Track dependencies between libraries and examples/demos
|
| With this patch, when CGAL as been configured with WITH_examples and/or
| WITH_demos, then the executables of examples and demos depends on the CGAL
| libraries. That means if one change a file involved in a CGAL library, and
| ask the rebuild of an executable, then the CGAL library will be rebuilt
| first.
|
| Notes:
| r63187 branches/next
Or maybe the bug was re-introduced by recent modifications of our CMake
scripts.
If the debug versions are not found, the release versions will be used instead
for the debug mode.
If the tbb_malloc library is not found, doesn't link with it.
- Untabified
- Does not link with the TBB mallow proxy anymore, but set
TBB_MALLOCPROXY_DEBUG_LIBRARY and TBB_MALLOCPROXY_RELEASE_LIBRARY
so that a user can still link with it if necessary
Note: the malloc proxy is not available on MacOS.
- Calls include_directories ( ${TBB_INCLUDE_DIRS} ) and
link_directories( ${TBB_LIBRARY_DIRS} ) to set paths
Successfully tested in CGAL-4.3-Ic-59
Approved by the release manager
Conflicts:
Kernel_23/doc/Kernel_23/CGAL/intersections.h
Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
Kernel_d/doc/Kernel_d/Kernel_d.txt
STL_Extension/doc/STL_Extension/CGAL/iterator.h
related to this small-feature:
Features/Small_Features/Property_maps_change_of_key_type
Successfully tested in CGAL-4.3-Ic-59 and approved by the release manager
Conflicts:
Installation/changes.html
the primitive container was clear before deleting the nodes
(which was not done since the container was empty)
At the same time I made the delete of the KD-tree done only
if it was constructed