Commit Graph

142 Commits

Author SHA1 Message Date
Sébastien Loriot ab48f63e30 update latest cmake version tested 2021-11-09 10:58:47 +01:00
Mael Rouxel-Labbé 8166579e55 Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF 2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé 590ddf8015 Various fixes for pmaps:
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
  a reference (to avoid `typename PM::reference r = get(m, k)`,
  which will take a ref to a temporary if the `reference`
  typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
  **mutable** property map: the `put()` is `map[k] = v`, which
  is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
  not a reference in `get(map, key)`. You can have a readable property map
  returning a reference through its `get(map, key)`, but if there is
  no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
  or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
  of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
  * `value_type& operator[](key&)`
  * `ref get(map, const key&)`
  * `put(map, const key&, const value_type&)`
  and non-mutable lvalue pmap:
  * `const value_type& operator[](const key&)`
  * `ref get(map, const key&)`
  but not everything fits properly...
2021-10-08 15:38:47 +02:00
Sébastien Loriot 47028cd184 automatically move data files in data dir + update paths
Done for OFF/OBJ/STL/XYZ/PWN/PLY
2021-10-04 09:42:49 +02:00
Sébastien Loriot f632a11d0d fix invalid OFF headers 2021-09-23 18:56:15 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Maxime Gimeno c49152359c update max version of cmake and announce the new minimal in CHANGE.md 2021-04-15 15:08:54 +02:00
Maxime Gimeno 90d725f3c0 fix mesh_estimation 2021-02-16 15:15:36 +01:00
Maxime Gimeno 1f7b43d141 Don't build the programs if boost_program_options is not found 2021-02-02 09:16:35 +01:00
Maxime Gimeno 1a693828e1 Clean-up boost-program_options usage 2021-02-01 16:01:11 +01:00
Sébastien Loriot f4935dc199 Merge branch 'CGAL-Eigen3_support-5.1' 2021-01-15 10:54:02 +01:00
Sébastien Loriot eecb00534e fix macro name to be consistent with find_package 2021-01-15 10:43:34 +01:00
Laurent Rineau a98d5ec638 Merge pull request #5261 from lrineau/fix-Wnon-c-typedef-for-linkage
Fix warnings [-Wnon-c-typedef-for-linkage] In Ridges and Jet_fitting
2020-12-16 17:47:53 +01:00
Laurent Rineau 5cf51b0bb7 Fix warnings [-Wnon-c-typedef-for-linkage]
Example of such a warning:
```
.../test/Jet_fitting_3_Examples/PolyhedralSurf.h:148:19: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
    typedef struct {
                  ^
                   FGeomTraits
.../test/Jet_fitting_3_Examples/PolyhedralSurf.h:149:5: note: type is not C-compatible due to this member declaration
    public:
    ^~~~~~~
.../test/Jet_fitting_3_Examples/PolyhedralSurf.h:151:7: note: type is given name FGeomTraits for linkage purposes by this typedef declaration
    } FGeomTraits;
      ^
```
2020-12-10 14:58:06 +01:00
Maxime Gimeno 9c15f2c9dc Use FeatureSummary in the demo, and remove CGAL_FOUND 2020-08-04 12:46:17 +02:00
Simon Giraudot 421096fd7f Use imported targets everywhere 2020-04-15 14:06:13 +02:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot 8b153fb495 Merge branch 'cgal/releases/CGAL-5.0-branch'
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 0a46621dc6 Merge branch 'cgal/releases/CGAL-4.14-branch'
whitespace+tab removal, merged with option -Xignore-all-space
2020-03-26 13:28:46 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Simon Giraudot 6c8fd43ebb Use CGAL_target_use_* mechanism for Eigen, LASLIB, OpenCV, TensorFlow, GLPK, SCIP, Boost IOStreams and Serialization 2020-02-10 11:57:56 +01:00
Laurent Rineau 4fbf00fb8a CMake>=3.13: opt for for new policies up to 3.15 2019-06-19 14:34:59 +02:00
Laurent Rineau 7bcad36d7e
Merge branch 'master' into Installation-remove_FindBLAS_LAPACK_TAUCS-GF 2019-05-14 16:03:28 +02:00
Laurent Rineau 870ff45168 Merge pull request #3886 from lrineau/CGAL-Adapt_to_Boost_1.70-GF
Adapt to Boost 1.70
2019-05-07 15:48:03 +02:00
Laurent Rineau aebb058b58 Merge pull request #3886 from lrineau/CGAL-Adapt_to_Boost_1.70-GF
Adapt to Boost 1.70
2019-05-07 15:45:00 +02:00
Laurent Rineau 665c4e2c84 Fix Jet_fitting_3 with Boost 1.70 2019-05-06 09:34:37 +02:00
Andreas Fabri 7231fc77e9 include EIGEN_USE_FILE, otherwise CGAL_EIGEN3_ENABLED is not defined 2019-04-03 11:08:34 +02:00
Simon Giraudot 911bea4021 Remove Lapack support from Jet_fitting, PSP, Ridges and Solver_interface 2019-03-08 09:53:21 +01:00
Guillaume Damiand 92ba7fa6c9 Update minimum cmake required version in all CMakeLists.txt 2018-10-18 14:49:23 +02:00
Guillaume Damiand 0bd9088b5a Remove all include( ) and include( CGAL_CreateSingleSourceCGALProgram ) in CMakeLists.txt; they are no more required. 2018-10-17 14:17:08 +02:00
Sébastien Loriot a89ccb10e7 remove non UTF-8 characters 2017-01-19 15:20:26 +01:00
Sébastien Loriot 6b338eeb1f improve the name of projects in cmake scripts of examples 2016-09-08 00:02:55 +02:00
Sébastien Loriot 881e4d3199 request Core only in examples, tests and demos when really needed 2016-03-07 22:36:57 +01:00
Andreas Fabri 2cff1012de only use it if it is available 2016-01-26 17:42:35 +01:00
Andreas Fabri 4b8944e5b2 Replace #ifdef CGAL_USE_BOOST_PROGRAM_OPTIONS with #ifndef DONT_USE_BOOST_PROGRAM_OPTIONS 2016-01-26 17:16:02 +01:00
Laurent Rineau f9917c487e CMake 2.8.11 2015-07-13 12:36:43 +02:00
Andreas Fabri ed44821ba9 How did Cartesian.h sneak in again?? 2013-11-10 09:41:08 +01:00
Andreas Fabri d5f2a1d64d Switch from char* to std::string
This leads to more proper code, and we get rid of a memory leak more elegantly
2013-11-08 15:30:41 +01:00
Andreas Fabri 97d04b8f37 switch to Simple_cartesian 2013-09-05 10:56:15 +02:00
Andreas Fabri d2f0eff3cb Switch to Simple_cartesian.
Remove a superfluous .cpp
Reorder #includes
2013-08-27 09:56:39 +02:00
Andreas Fabri 876a4a5753 remove unused variables and #if 0 buggy non used code 2013-02-26 17:05:13 +01:00
Laurent Rineau 2db4effa7e CMake: Fix the handling of cmake_policy
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;
}
2012-08-22 12:35:03 +00:00
Eric Berberich 357d6258f5 cmake's link_libraries is deprecated
removed almost all occurenced (missing UseFiles). While
doing so, some CMakeLists.txt could also be simplified. In fact
many more CMakeLists.txt can be simplified, in one of two ways:
1) add external libs to CGAL_3RD_PARTY_LIBRARIES and
2) call cgal_create_single_source_program
2012-08-03 22:32:39 +00:00
Sébastien Loriot e702f20986 Eigen 3-1 is out.
Require Eigen 3.1.0 in CMake scripts.
2012-06-27 12:38:32 +00:00
Andreas Fabri 055248b0e4 Remove unnecessary #includes 2012-01-12 16:08:02 +00:00
Sébastien Loriot 9b75cd5506 require Eigen 3.1 or greater 2011-12-22 16:06:37 +00:00
Sébastien Loriot 62ed832e2b *Add a model for SVDTraits using Eigen and use it by default. Update the doc.
*Add non-sparse matrix class (thus renamimg of the existing one)
*specialisation of the matrix class in Eigen_solver_traits according
 whether this is a symmetric or asymmetric matrix
*update use-files of lapack and Taucs to get definitions
2011-09-21 12:36:13 +00:00
Laurent Rineau 3c02e07b23 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.
2011-04-28 17:45:22 +00:00
Laurent Rineau c97205f085 Global handling of CMake policies (second part)
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).
2011-04-28 10:55:56 +00:00