mbarbier
56f57215b6
Fixing ICPC usage with modern cmake and wrappers
...
Related to conan's conan-io/conan-center-index#25843
replaced 'fp-model strict' by 'fp-model=strict' https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-8/fp-model-fp.html
for more compatibility with nvcc. as 'fp-model=strict' will be directly
transmited to the compiler while 'fp-model strict' will have 'strict'
being treated as a file input.
Also added a CXX only filter for newer cmake 3.3+
2024-11-27 09:19:23 +00:00
Laurent Rineau
3a223ebd1e
cmake_minimum_required(VERSION 3.12...3.29)
2024-06-06 20:19:44 +02:00
Sébastien Loriot
44b7ec6f3a
improve detection of cases when Core can be used
2024-03-14 11:11:18 +01:00
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