Commit Graph

51 Commits

Author SHA1 Message Date
albert-github 1cce66c343 Spelling corrections
Spelling corrections `a e...` -> `an e...`
2023-07-30 12:59:17 +02:00
Sébastien Loriot cce3dfd075 Merge pull request #7416 from sloriot/CGAL-toward_6.0
CGAL 6.0 requires c++17
2023-06-22 09:28:15 +02:00
Sébastien Loriot f5803d5a8b MSVC 2015 is no longer supported 2023-06-15 10:43:16 +02:00
Laurent Rineau 5459870e31 create a new CMake function CGAL_setup_CGAL_flags
That new CMake function will ease the work with the Conan CGAL package.
2023-06-13 14:19:06 +02:00
Sébastien Loriot fcd71fa9f3 CGAL now requires C++17 2023-04-28 20:16:28 +02:00
Mael 0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113 2022-12-06 22:21:06 +01:00
Mael da0b13699c
Merge branch 'master' into Kernel-Compare_distance_3_RT_FT__always_Filtered_predicate_RT_FT-GF 2022-12-02 23:19:29 +01:00
Laurent Rineau 5c943e558c Merge pull request #6935 from lrineau/CGAL-fix_autotest_with_ctest-GF
Fix autotest_cgal_with_ctest
2022-11-25 10:15:07 +01:00
albert-github 45478184de spelling corrections
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Laurent Rineau ea35fa8f88 Fix autotest_cgal_with_ctest
That commit makes the CMake variables `CGAL_TEST_SUITE` (the new one)
and `RUNNING_CGAL_AUTO_TEST` (the legacy one) completely equivalent.
2022-10-05 15:06:02 +02:00
Mael Rouxel-Labbé 3529588796 Partial revert of 7c92341be7 (no C++17) 2022-09-22 21:41:02 +02:00
Laurent Rineau 7c92341be7 Introduce CGAL_Kernel_pred_RT_or_FT
This commit introduces a new kind of predicate in
`<CGAL/Kernel/interface_macros.h>`. In addition to
  - `CGAL_kernel_pred` for predicates,
  - `CGAL_Kernel_pred_RT` for predicates that can be implemented using a
    ring-type,

now there is also:
  - `CGAL_Kernel_pred_RT_or_FT` for predicates with multiple overloads of
    `operator()`, some needing a field type and other needing a ring type
    (without the division operator).

The C++ code can discriminate between the two cases with a special wrapper
for the return type: `CGAL::Needs_FT<result_type` instead of `result_type`
(defined in `<CGAL/tags.h>`.

In `<CGAL/Filtered_predicate.h>`, in addition to the usual class template
 `Filtered_predicate`, there is now also `Filtered_predicate_RT_FT` that
 takes three predicates as template parameters instead of two:
  - the exact predicate with an ring-type,
  - the exact predicate with a field-type,
  - the approximate predicate (with `Interval_nt` as number-type).

For the moment, only `Compare_distance_3` in
`<CGAL/Cartesian/function_objects.h>` is using the new
`Filtered_predicate_RT_FT`.

Before this commit, the file
`Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h` was testing
`Compare_distance_3` only with three points or for points. This commit adds:
  - a test with `Point_3, Point_3, Segment_3`, and
  - a test with `Line_3, Point_3, Point_3`, that actually needs a field type
    with its current implementation.

In the test `Kernel_23/test/Kernel_23/Filtered_cartesian.cpp`, the macro
`CGAL_NO_MPZF_DIVISION_OPERATOR` is defined, to remove the division operator
from `CGAL::Mpzf`. `CGAL::Mpzf` is a ring-type, even with its `operator/`
(because that `operator/` can only compute exact divisions), but with
`CGAL_NO_MPZF_DIVISION_OPERATOR` defined, that is now checked by the compiler.
2022-09-02 11:31:47 +02:00
Laurent Rineau 755c9d5d42 Merge pull request #6646 from lrineau/Installation-optional_ASAN-GF
Use ASAN optionally
2022-06-29 09:52:15 +02:00
Laurent Rineau 5a038abf34 Fix a CMake bad code
https://cmake.org/cmake/help/latest/command/if.html#command:if
> `if(ENV{some_var})` will always evaluate to false.
2022-06-20 09:55:12 +02:00
Laurent Rineau b99f1afac6 Disable TBB when ASAN is used 2022-06-15 16:05:10 +02:00
Laurent Rineau 35f29ecbe8 Use ASAN optionally 2022-06-07 12:00:30 +02:00
Laurent Rineau 35ec6c83ac Add CGAL include paths first 2022-05-19 14:38:35 +02:00
Laurent Rineau f237c761c2 Resore the requirement for CMake 3.11 2022-05-06 09:44:14 +02:00
Laurent Rineau 2288225448 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Laurent Rineau 55a3b3f1aa Active CMake policies up to CMake-3.23 2022-05-06 09:28:17 +02:00
Laurent Rineau 80c3baa196 /wd4503 is only for MSVC 2015 2022-05-05 16:09:51 +02:00
Laurent Rineau c00c481e06 Remove workarounds for CMake<3.11 2022-05-05 16:08:51 +02:00
Laurent Rineau af14540751 Use THREADS_PREFER_PTHREAD_FLAG 2021-07-22 17:05:43 +02:00
Laurent Rineau f9444fa85d CGAL depends on threads-support... for all compilers! 2021-07-21 11:03:36 +02:00
Laurent Rineau 530616534a Fix and document the CMake CGAL_HAS_NO_THREADS option 2021-06-16 17:12:59 +02:00
Laurent Rineau aa6dbfe4f2 Make CGAL unconditionally depend on Threads::Threads 2021-06-15 12:56:25 +02:00
Maxime Gimeno 2ed89ef35e simplify CGAL_setup dependencies. 2020-10-12 12:24:13 +02:00
Maxime Gimeno 39f97ca56b remove NOT CGAL_HEADER_ONLY 2020-10-05 15:44:05 +02:00
Laurent Rineau 8db4503904 Merge pull request #4710 from danston/CGAL-clangmp_bug_fix-danston
boost mp on Apple clang issue fix

# Conflicts:
#	Installation/cmake/modules/CGAL_SetupCGALDependencies.cmake
2020-06-03 16:22:55 +02:00
Laurent Rineau dc4427c998 Move the code in CGAL_SetupCGALDependencies.cmake 2020-05-28 12:44:25 +02:00
Adrian Bunk 5e70fceba9 Fix gcc option setting for Alpha 2020-05-22 11:21:58 +03:00
Laurent Rineau 41316e25ef Protect MSVC specific compilation flags with $<COMPILE_LANGUAGE:CXX>
Fix issue #4571
2020-03-11 09:57:46 +01:00
Laurent Rineau 779ef144fe Do not require -DCGAL_HEADER_ONLY
Now, that macro is set unless `CGAL_NOT_HEADER_ONLY` is 1.
2019-10-01 18:10:30 +02:00
Laurent Rineau 8539c09179 CGAL requires C++14. 2019-04-01 18:35:58 +02:00
Maxime Gimeno 1a6ef33010 WIP from git and upload to private page 2019-03-14 16:36:11 +01:00
Maxime Gimeno 42f3928de3 Fix CGAL_DISABLE_GMP 2019-02-22 16:00:53 +01:00
Laurent Rineau de1753566b Speed improvement with CGAL_HEADER_ONLY and WITH_{tests|examples}..
When `CGAL_HEADER_ONLY` and `WITH_{examples|tests|demos}`, then only
the first call to `find_package(CGAL)` does the job. The subsequent
calls return very fast, by caching the results in global properties.
2018-03-14 23:04:09 +01:00
Laurent Rineau 9b06a70e91 Merge pull request #2819 from afabri/CGAL-remove_SCL_SECURE_NO_DEPRECATE-GF
Address the warning concerning SCL_SECURE for VC++
2018-02-19 14:26:23 +01:00
jasjuang de47e36dac prevent GCC flags propagating to NVCC, fixes #2775 2018-02-09 09:46:50 -08:00
Andreas Fabri abe933a684 Address the warning concerning SCL_SECURE for VC++ 2018-02-09 15:00:14 +00:00
jasjuang 374bd7e223 fix incorrect INTERFACE_INCLUDE_DIRECTORIES 2018-01-02 08:06:13 -08:00
Laurent Rineau 9eb2e30745 Deal with the macro CGAL_TEST_SUITE in header-only 2017-11-23 17:06:46 +01:00
Laurent Rineau 18caaba64d Fix the "-fp-model strict" for Intel
`-fp-model strict` is two arguments, not one!

```
[  4%] Building CXX object src/CGAL/CMakeFiles/CGAL.dir/all_files.cpp.o
cd /home/cgal_tester/build/src/cmake/platforms/CentOS7-ICC-2016-Release/src/CGAL && /opt/intel/compilers_and_libraries_2016.4.258/linux/bin/intel64/icpc   -DCGAL_EXPORTS -I/home/cgal_tester/build/src/cmake/platforms/CentOS7-ICC-2016-Release/include -I/mnt/testsuite/include  -w1 -O3 -DCGAL_NDEBUG -fPIC   "-fp-model strict" -o CMakeFiles/CGAL.dir/all_files.cpp.o -c /home/cgal_tester/build/src/cmake/platforms/CentOS7-ICC-2016-Release/src/CGAL/all_files.cpp
icpc: command line warning #10159: invalid argument for option '-fp-model'
```
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.12-Ic-97/Installation/TestReport_lrineau_CentOS7-ICC-2016-Release.gz
2017-11-21 13:51:24 +01:00
Laurent Rineau 3f3f5b1a52 Do not rely on CMAKE_MODULE_PATH 2017-11-15 14:45:12 +01:00
Laurent Rineau 03f84dc94b Handle the compiler flags
That setup was previously in `Installation/CMakeLists.txt`.
2017-11-13 14:28:51 +01:00
Laurent Rineau a0155a70ed Add Sphinx documentation
The `Makefile` can be used to generate the documentation:

    make html

`sphinx-build` must be in the path.
2017-03-27 18:04:55 +02:00
Laurent Rineau 98156dc1a7 CGAL_Setup${cgal_lib}CoreDependencies improve
- Now even CGAL_Core has one.
- The `${cgal_lib}_FOUND` are now set in those modules, after having chec
- For self-consistency, `Use_CGAL_Qt5_headers` is included by
  `CGAL_SetupCGAL_Qt5Dependencies`.
2017-03-27 18:04:52 +02:00
Clement Jamin e209c57269 Add -DCGAL_HEADER_ONLY when relevant 2017-03-27 17:23:27 +02:00
Laurent Rineau 98890c9924 Fix the INTERFACE_INCLUDE_DIRECTORIES of CGAL 2017-03-27 17:23:27 +02:00
Laurent Rineau 429bfa4315 move the add_config_flag calls 2017-03-27 17:23:26 +02:00