Commit Graph

262 Commits

Author SHA1 Message Date
Sébastien Loriot 7511b3e1b2 add missing constructor for unsigned int 2018-06-12 12:59:51 +02:00
Sébastien Loriot ef09d971e2 undo unwanted change in 777d305 2018-06-11 22:09:37 +02:00
Andreas Fabri 777d3057d9 Undef the macros at the end, as they are not identical (one has an EXPORT) 2018-05-23 11:48:58 +02:00
Andreas Fabri b33ab791e1 Disable a warning. Fix an allocator call 2018-05-15 15:37:51 +02:00
Laurent Rineau 78e7060525 Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +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
Andreas Fabri d38fea5ffe Add missing #include 2018-02-12 09:44:10 +00:00
Andreas Fabri abe933a684 Address the warning concerning SCL_SECURE for VC++ 2018-02-09 15:00:14 +00:00
Maxime Gimeno 688b5dd06e Move dependencies creation to package_info and add dependencies to git 2018-02-02 12:08:05 +01:00
Maxime Gimeno a676d5a60e Try to fix errors in classification checks 2018-02-02 12:08:05 +01:00
Maxime Gimeno ae36b452bc Add dependencies of all packages 2018-02-02 12:08:05 +01:00
Andreas Fabri c9728abdee build CORE lib without warnings 2018-02-01 10:52:44 +00:00
Andreas Fabri 6cc385c6ec Number_types 2018-01-17 15:47:18 +00:00
Andreas Fabri cbf3a16471 libs compile without warning 2018-01-17 15:02:32 +00:00
Laurent Rineau 3c6640bf59 Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
Renewal of CMake scripts: header-only, ctest, CMake>=3.1

# Conflicts:
#	Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +01:00
Laurent Rineau 26fe3df693 Try to fix link errors on Windows 2017-11-29 11:22:30 +01:00
Laurent Rineau bfc654c929 Change the exports of CGAL_Core, to fix a link error 2017-11-28 17:59:18 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Laurent Rineau a9365554c9 Merge pull request #2550 from sloriot/CGAL-add_SPDX_tags
Add SPDX License Identifier
2017-11-15 16:48:27 +01:00
Laurent Rineau 86fb40832a Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-13 12:01:39 +01:00
Laurent Rineau c6068691fa Merge pull request #2547 from lrineau/CMake-parse_CTest_XML_output-lrineau
CGAL testsuite implemented with CTest plus Python (part.1)
2017-11-13 11:13:54 +01:00
Sébastien Loriot 6b568a8f62 add SPDX identifiers for Core 2017-11-12 10:21:35 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau 62c70d41ca Renew the handle of policies, for CMake-3.10
Now that we require CMake>=3.1, we can forget a lot of old CMake policies.

`CMP0053` `OLD` behavior is still needed, because of a bug in Qt5 CMake files, but it will
not be set with CMake>=3.10. Let's assume that a recent CMake version means
a recent Qt5 version.
2017-11-06 14:58:36 +01:00
Laurent Rineau 1b41c582ba Merge pull request #2306 from lrineau/Installation-fix_link_errors-GF
Fix link errors in the building of the Debian packages
2017-07-28 18:29:38 +02:00
Laurent Rineau 8dfa4f4dc8 Fix link error of demo/Polyhedron, in Debug and CGAL_HEADER_ONLY 2017-07-27 17:28:21 +02:00
Laurent Rineau 15fb0069cc Fix link errors in the building of the Debian packages
- The Debian package uses `-DCGAL_ENABLE_PRECONFIG=OFF` and
  `WITH_GMPXX=ON`. In that setup, GMPXX must in the "essential" 3rd
  party libraries.

- The CGAL_Core library must be linked with its
  dependencies (compilation error with `-zdefs`).
2017-07-26 16:57:19 +02:00
Andreas Fabri cc3c4c93ba CGAL_Core: make it less verbose to fix #1915 2017-04-03 12:36:43 +02:00
Laurent Rineau 97352da979 Fix CGAL_Core and CGAL_HEADERS_ONLY_STEP_2 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
Laurent Rineau ff15d0e5fc Simplify the CMakeLists.txt of our libraries 2017-03-27 17:23:26 +02:00
Laurent Rineau 6d79ebdaf8 Merge pull request #1916 from sloriot/Core-bug_fix_large_MSB
Fix Expr computation when a Node in the tree has a large MSB bound
2017-02-21 17:50:21 +01:00
Laurent Rineau 784ce69bea Merge pull request #1923 from sloriot/CORE-Expr_approx_bound
Make sure the approximation exceeds the separation bound
2017-02-21 17:50:08 +01:00
Sébastien Loriot aab162e81c use a thighter approximation 2017-02-21 17:30:24 +01:00
Sébastien Loriot 3dc5f7d800 make sure the approximation exceeds the separation bound 2017-02-21 17:12:56 +01:00
Sébastien Loriot e9cfce4f45 Do the approximation computation even if MSB bounds are too large
extLong manages overflow and underflow, this patch forces the
approximation to be done even if the bounds are too large
2017-02-20 18:15:49 +01:00
Laurent Rineau 9271ddf1c9 Same for CGAL_Core/src/CGAL_Core/CMakeLists.txt 2017-02-10 19:01:13 +01:00
Laurent Rineau b73a88babc CGAL_Core MemoryPool<T> will always use Boost.Thread with g++
Because of bug in gcc, even if the C++11 `thread_local` keyword can be
used, it cannot be used for the TLS static member of the class template
`MemoryPool<T>`. That triggers a bug in gcc (tested with g++ 6.3.1):
```
.../include/CGAL/CORE/MemoryPool.h:113:25: error: redefinition of 'bool __tls_guard'
 MemoryPool<T, nObjects> MemoryPool<T, nObjects>::memPool;
                         ^~~~~~~~~~~~~~~~~~~~~~~
.../include/CGAL/CORE/MemoryPool.h:113:25: note: 'bool __tls_guard' previously declared here
.../include/CGAL/CORE/MemoryPool.h:113: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/cc4xCWuR.out file, please attach this to your bugreport.
```

The bug seems to be from g++ >= 5:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54948
2017-02-08 17:05:13 +01:00
Laurent Rineau 4e1b250b9c Followup for PR #1744
The commit 6c77740485 was not complete:
> CORE MemoryPool<T> has to be destroyed last
>
> If Boost implementation of thread local storage is used, the order of
> destructors is reversed, compared to C++11 `static thread_local`. The
> solution for CORE `MemoryPool<T>` is to make the static variable a
> static member of the class, and initialize the pointer only inside the
> function. That ensures that the destructor will be called after the
> destructor of local static variables.

Actually the explanation about the reverse order is not right, and even
with C++ `thread_local`, we have to ensure that the static data member
of `MemoryPool<T>` is created before any other CORE static variable.

This commit is a followup of the commit
6c7774048521d2779d1657871f476624a46d220b: even in C++11, the `memPool`
variable becomes a thread-local data member, instead of a thread-local
variable at function scope.

Fix #1844.
2017-02-07 14:18:32 +01:00
Laurent Rineau ee21a5a077 Merge pull request #1744 from afabri/CORE-static-GF
CGAL_CORE:  Make it thread safe
2017-01-12 11:10:38 +01:00
Laurent Rineau 6c77740485 CORE MemoryPool<T> has to be destroyed last
If Boost implementation of thread local storage is used, the order of
destructors is reversed, compared to C++11 `static thread_local`. The
solution for CORE `MemoryPool<T>` is to make the static variable a
static member of the class, and initialize the pointer only inside the
function. That ensures that the destructor will be called after the
destructor of local static variables.
2017-01-10 16:27:44 +01:00
Andreas Fabri e869afa8af bugfix 2017-01-10 14:09:27 +01:00
Andreas Fabri 7b6e4a27ca Even read only static const variables must be thread local
as otherwise their destructor is called after the destructor
of the CORE memory pool.
2017-01-10 13:53:50 +01:00
Laurent Rineau 01c804ca67 Merge pull request #1454 from lrineau/CGAL_Core-fix_imports_exports-lrineau
CGAL_Core: fix -fvisibility issues on Linux
2017-01-09 15:34:03 +01:00
Andreas Fabri 46c6ea1f3f Deal with CGAL_NO_ATOMIC 2017-01-09 15:08:42 +01:00
Sébastien Loriot e696a857f9 use direct initialization also in header-only mode 2017-01-09 15:08:42 +01:00
Sébastien Loriot 109f021a3a use direct initialization 2017-01-09 15:08:42 +01:00
Andreas Fabri 185208646a fixed and tested 2017-01-09 15:08:42 +01:00
Andreas Fabri f1a39ef43f No need for static 2017-01-09 15:08:42 +01:00
Andreas Fabri 8972c92a14 make Memory pool thread safe 2017-01-09 15:08:42 +01:00
Andreas Fabri 1b2fcdb82a make static variable for pretty printing const 2017-01-09 15:08:42 +01:00
Andreas Fabri fab26b5a05 make variables atomic 2017-01-09 15:08:42 +01:00
Andreas Fabri 1d0ec5bd38 WIP: make variables atomic; it no longer compiles :( 2017-01-09 15:08:42 +01:00
Andreas Fabri 8faf83433b declare constants const 2017-01-09 15:08:42 +01:00
Andreas Fabri 4b79bd484f NT_TYPE is not used anywhere 2017-01-09 15:08:42 +01:00
Andreas Fabri 36b34b3e63 declare constants const 2017-01-09 15:08:42 +01:00
Andreas Fabri e0d026d552 polyWilkinson is not used anywhere 2017-01-09 15:08:42 +01:00
Andreas Fabri 4f71d02c6f Remove random functions as they are not in the CGAL Core API 2017-01-09 15:08:42 +01:00
Andreas Fabri 5321a90c27 Remove the geometry files 2017-01-09 15:08:42 +01:00
Andreas Fabri fa7217c682 declare constants const 2017-01-09 15:08:41 +01:00
Laurent Rineau 71965fa7e7 Fix a warning 2016-11-14 15:18:11 +01:00
Andreas Fabri bb033e2037 Remove export declaration for member functions as the class is exported. Suppress VC++ warnings 2016-09-22 12:11:35 +02:00
Laurent Rineau 54fe1b8b56 CGAL_Core: fix -fvisibility issues on Linux 2016-09-14 16:12:02 +02: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 ff1b240a37 replace assert by CGAL_assertion in CGAL code 2016-08-25 11:12:17 +02:00
Guillaume Damiand 0fc00c87e3 cgal core link for header only 2016-06-24 14:37:53 +02:00
Laurent Rineau 68df272c01 Fix CORE header-only 2016-03-09 18:53:58 +01:00
Clement Jamin dd3ed5b07c Remove the "S" from HEADERS_ONLY 2016-03-09 10:58:55 +01:00
Clement Jamin 35a11c0e13 Use CGAL_HEADERS_ONLY everywhere 2016-03-09 10:56:11 +01:00
Guillaume Damiand 6d55c3b140 Do the target_link_libraries in all CGAL_XXX libraries only in non header only mode. 2016-03-09 10:22:43 +01:00
Philipp Möller 4211a4f01e Globally remove CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS
This is a Cmake 2.4.3 variable that isn't even documented anymore.
2016-02-16 17:02:55 +01:00
Andreas Fabri 42aa03596f We delete blocks if all T's are on the internal free list 2016-01-28 10:35:49 +01:00
Andreas Fabri 8f63e80716 Do not warn as it potentially covers other warnings in the testsuite 2016-01-27 15:58:24 +01:00
Andreas Fabri d7bfb7f754 Only delete if it is possible 2016-01-27 15:47:57 +01:00
Andreas Fabri 145ac2a3d7 Replace CGAL_assertion with CGAL_warning 2016-01-26 16:57:09 +01:00
Andreas Fabri 24f6180732 Add full instantiation of ConstPolyRep<BigRat> 2016-01-22 08:40:26 +01:00
Andreas Fabri 28e9563943 Add full instantiation of ConstPolyRep<BigInt> 2016-01-22 08:28:43 +01:00
Andreas Fabri b93783010b fix 2016-01-21 08:40:58 +01:00
Andreas Fabri d45ce47cc3 more exports more instantiations 2016-01-19 08:56:08 +01:00
Andreas Fabri fa2384de63 Assure that new/delete happen BOTH inside the CORE dll 2016-01-18 17:39:15 +01:00
Andreas Fabri a27b6f453f fix: use ::operator delete(void*) 2016-01-16 11:52:49 +01:00
Andreas Fabri 57531cc6b5 prefix delete with :: ; debug output as I can't reproduce VC++ testsuite result locally 2016-01-16 11:22:28 +01:00
Andreas Fabri 2ffe1b211c int -> size_t 2016-01-16 07:58:21 +01:00
Andreas Fabri 58542b3a13 Delete allocated blocks 2016-01-15 17:27:53 +01:00
Clément Jamin 0fa401d03a Use CGAL_CORE_EXPORT instead of CGAL_EXPORT 2015-11-02 10:52:20 +01:00
Laurent Rineau d6866de068 Fix license headers
Follow-up to 3293c2a68d

Fix #48
2015-10-05 13:00:07 +02:00
Guillaume Damiand e4342d50d2 Merge remote-tracking branch 'cgal-dev/CGAL_headers_only-gdamiand_cjamin' into CGAL_headers_only-gdamiand_cjamin 2015-10-01 09:48:54 +02:00
Guillaume Damiand cf1c0ea0ca Merge branch 'CGAL_headers_only-gdamiand_cjamin-OLD' into CGAL_headers_only-gdamiand_cjamin 2015-10-01 09:12:55 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Laurent Rineau f9917c487e CMake 2.8.11 2015-07-13 12:36:43 +02:00
Laurent Rineau 9550a41b67 Merge pull request #133 from bo0ts/Installation-add_exports-pmoeller
Add a CGALExports.cmake file

Conflicts:
	GraphicsView/src/CGAL_Qt5/CMakeLists.txt
	Installation/cmake/modules/CGALConfig_binary.cmake.in
	Installation/cmake/modules/CGALConfig_install.cmake.in

There was also a conceptual conflict in:
	Installation/src/CMakeLists.txt
2015-07-10 14:03:20 +02:00
Sébastien Loriot d164633493 remove REQUIRED keyword 2015-07-07 11:23:46 +02:00
Philipp Möller 33a1fdbcbc Replace CGAL_LIBRARY with the actual CGAL target
The variable CGAL_LIBRARY is no longer defined within the build as it is
completely unnecessary and using the actual target allows more features.
2015-07-03 12:30:23 +02:00
Guillaume Damiand 17c0403abd Cleanup core in cgal header only 2015-06-09 16:01:24 +02:00
Guillaume Damiand 8df781d3da Merge branch 'CGAL_headers_only-gdamiand_cjamin-old' into CGAL_headers_only-gdamiand_cjamin 2015-06-09 14:56:48 +02:00
Andreas Fabri 3293c2a68d Fix #48 2015-04-27 17:21:18 +02:00
Clement Jamin ed3113f89d Code clean-up 2015-03-16 17:01:49 +01:00
Guillaume Damiand 9c78897ba5 Merge branch 'CGAL_headers_only-gdamiand_cjamin-old' into CGAL_headers_only-gdamiand_cjamin 2015-03-16 14:00:43 +01:00
Laurent Rineau 9debd6a471 Merge branch 'CGAL-various_fixes-lrineau'
s/const static/static const/

Tested in CGAL-4.6-Ic-79. Approved by the Release Manager.
2014-12-17 17:07:57 +01:00
Clement Jamin f532cbc013 Forgot 2 *_impl.h files 2014-12-15 21:57:51 +01:00
Clement Jamin 93a007616a Header-only CGAL_Core 2014-12-15 21:34:29 +01:00
Laurent Rineau 2d774b061f This example needs CGAL_Core 2014-06-27 15:11:44 +02:00
Laurent Rineau 06dac30143 Fix 'const static <type>'
The storage specified (static) is not allowed inside the type
specifier. It must be prefix or postfix (but not infix).

That is strange no C++ compiler gives an error on such a construction.

s/const static/static const/
2014-02-20 19:14:26 +01:00
Laurent Rineau 367314623d Add a script to detect wrong permissions, and fix permissions
The script uses zsh, and lists regular files that have the
'executable' permission.

At the same time, I fix the permissions of several files.
2014-02-06 18:49:09 +01:00
Laurent Rineau 8a65c3b9c6 Fix a warning about an unused parameter 2013-12-10 18:46:28 +01:00
Andreas Fabri 4de4805e46 Fix a memory leak in BigFloat::exp2 2013-11-19 18:02:32 +01:00
Laurent Rineau af8201eaf9 Fix a leak in operator>>(std::istream&, CORE::Real&) in case of error
When i.eof() or i.fail(), the allocated char[] was not deleted before the
return.

Thanks to clang-3.4 LeakSanitizer.
2013-10-30 11:29:03 +01:00
Laurent Rineau 33a662f57e bug fix: fix a typo in CORE/Timer.h
Detected by a warning -Wheader-guard of clang
2013-10-24 15:53:33 +02:00
Laurent Rineau 26a7e70785 New license.txt files (eol changes)
The new version 2.13.0 of licensecheck has changed the spaces at eol.
2013-02-19 16:46:39 +01:00
Philipp Möller 8b15717ee4 Use the correct type when iterating std::strings 2012-11-14 10:25:10 +01:00
Eric Berberich 9b59d33596 new name of package 2012-08-03 17:37:50 +00:00
Eric Berberich 679e15c749 core is shipped with CGAL (and fix packagename to reflect libraryname) 2012-08-03 17:30:42 +00:00