- Factorize the logic of Installation/examples/CMakeLists.txt and
Installation/demo/CMakeLists.txt in to a function defined in
Installation/CMakeLists.txt
- Call cgal_create_cmake_script, potentially out-of-build, when the
CMakeLists.txt does not exist.
| ------------------------------------------------------------------------
| r65982 | lrineau | 2011-10-20 17:49:05 +0200 (Thu, 20 Oct 2011) | 8 lines
| Changed paths:
| M /branches/next/Scripts/scripts/cgal_create_cmake_script
|
| Improvement of cgal_create_cmake_script
|
| This allows to create a CMakeLists.txt in a directory whereas the sources
| are in another directory.
|
| This will allow out-of-sources creation of CMakeLists.txt files. And, in
| the end, that will improve the branch-build.
|
| ------------------------------------------------------------------------
Make create_single_source_cgal_program() compatible with absolute paths
The diff to changes.html is:
<h3>General</h3>
<ul>
<li>On Windows, CGAL libraries are now built by default as shared
libraries (also called DLL). To run applications that use .dll files
of CGAL, you must either copy the .dll files into the directory of
the application, or add the path of the directory that contains those
.dll filesinto the PATH environment variable.
</li>
<li>On Windows, the CMake scripts of CGAL now search for shared version
of the Boost libraries. You must ensure that the .dll files of Boost are
found by the dynamic linker. You can, for example, add the path to
the Boost .dll files to the PATH environment variable.
</li>
</ul>
incremental neighbor search classes were storing a nested ref_counted iterator
for begin() which implies that a call to operator++ on a copy of an iterator
increment the internal copy of the class (cannot make several pass).
There is still a problem in case of copy outside of the class but this is
a first step (a deep_copy method should be provided for iterators which would
need a small feature).
At the first run of CMake, CGAL_INSTALLATION_PACKAGE_DIR is not known when
Subversion_GET_REVISION and Subversion_GET_URL are called. That gives an
svn error, that is fixed at the second run of CMake. Use CMAKE_SOURCE_DIR
and CMAKE_CURRENT_SOURCE_DIR instead.
... into a new function Subversion_GET_INFO. The function
Subversion_GET_REVISION is also moved to <branch_root>/CMakeLists.txt
instead of <branch_root>/Installation/CMakeLists.txt, because that function
is used only in the case of a branch-build anyway.
We adopt the naming scheme of Boost libraries, with the "lib" prefix for
static libraries. And with the CGAL_VERSION as suffix.
For example, static libraries will be named:
libCGAL_Qt4-vc100-mt-gd-3.10-Ic-123.lib
and DLL will be named:
CGAL_Qt4-vc100-mt-gd-3.10-Ic-123.dll
Long-waited feature: Installation/installation.tex no longer contains the
release number!
All occurrences of "CGAL-3.9" have been turned into CGAL-\cgalversionnumber
Details:
- use alltt instead of verbatim, in order to user macros inside,
- rename \cgaldir to \cgalrel,
- all "CGAL-3.9" are turned into "\cgalrel",
- the remaining "3.9" is turned into "\cgalversionnumber".
And also:
- remove the old macro \yourcgaldir and \cgalinstconfdir (related to the
old install_cgal script!),
- modify the introduction of CMake: CMake is a build system *generator*,
and not a build system!
The function build_cgal_library defined in
Installation/src/CMakeLists.txt now handles a lot more than before, to
factorize between the various */src/*/CMakeLists.txt files used to
build CGAL libraries.
For example, the definition of mangled names is now factorized in that
function.
Installation/src/CMakeLists.txt also sets the output directories for
runtime, shared libraries, and static libraries. DLLs will be created
in bin/ instead of lib/.
I have grepped for auto_link/(GMP|MFR)|AUTO_?LINK_(GMP|MPFR) and I removed
completely any support for auto-linking of GMP and MPFR from CGAL.
That is no longer necessary, nor relevant, no that we provide precompiled
GMP and MPFR libraries under standard names libgmp-10.lib and
libmpfr-4.lib.
To test in candidates:
Core
Installation
Number_types
| ------------------------------------------------------------------------
| r65557 | lrineau | 2011-09-26 16:49:02 +0200 (Mon, 26 Sep 2011) | 9 lines
| Changed paths:
| M /branches/next/Installation/cmake/modules/CGAL_UseBLAS.cmake
| M /branches/next/Installation/cmake/modules/CGAL_UseLAPACK.cmake
| M /branches/next/Installation/cmake/modules/FindBLAS.cmake
| M /branches/next/Installation/cmake/modules/FindLAPACK.cmake
| M /branches/next/Installation/doc_tex/Installation/installation.tex
|
| BLAS and LAPACK do not have header files.
|
| One implementation of BLAS or LAPACK can have a header file, but that is
| not mandatory for an implementation, and (hopefully) nothing in CGAL tries
| to include a blas.h or a lapack.h.
|
| The current revision removes mentions of BLAS_INCLUDE_DIR and
| LAPACK_INCLUDE_DIR in CGAL cmake scripts about BLAS and LAPACK.
|
|
------------------------------------------------------------------------
Reason:
For the implementation cblas/clapack, our use of that implementation does
need a header <blaswrap.h> to work.
CGAL_Boost_USE_STATIC_LIBS is now an (advanced) CMake option on all
platforms, and is stored in the generated CGALConfig.cmake. That way, its
value is proposed as the default value for the same option when programs
using CGAL are configured using CMake.
The script UseCGAL includes the module CGAL_TweakFindBoost, to define
Boost_USE_STATIC_LIBS and Boost_ADDITIONAL_VERSIONS.
Previously there was a variable CGAL_SHARED_LIBS defined by
CGALConfig.cmake. This one is now unified with CGAL_BUILD_SHARED_LIBS.
And the option CGAL_BUILD_SHARED_LIBS is only defined as an option if one
are building CGAL libraries. If CGAL_Common.cmake is included from another
project, such as from UseCGAL.cmake, then this variable is set in
CGALConfig.cmake as a regular (non-cached) CMake variable.
One implementation of BLAS or LAPACK can have a header file, but that is
not mandatory for an implementation, and (hopefully) nothing in CGAL tries
to include a blas.h or a lapack.h.
The current revision removes mentions of BLAS_INCLUDE_DIR and
LAPACK_INCLUDE_DIR in CGAL cmake scripts about BLAS and LAPACK.
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
*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
*remove mutable data members
*accelerate_distance_queries is not const
*clear_search_tree is not const
*root_node() const returns a const Node*
*add root_note() non-const version
*update documentation of AABB_tree class. function constness was not documented
*update changes.html
remove all mutable member variable and leave only one const_cast in the kd-kdtree private function
const_build. This function is called in const predicates when the tree is not already internally built.
The documentation has been update and a few typos fixed at the same time.
It may happen that a file all_files.cpp had been created in-source by a
previous in-source build. We certainly do not want to include that file in
the new all_files.cpp, because .cpp files would be included twice, and that
breaks the one-definition rule (ODR).
Remember: in-source build is evil...
- Fix titles.
- Add a few <code>...</code>.
- Change the order (new packages first, then new feature in the order of
the manual, then sort the rest in the order of the manual).
- Minor rewording of Combinatorial Maps.
The revision 64600 was the merge of next into the branch
features/Aos_2-new_functors-tau. For an unknown reason (maybe a buggy svn
version), that merge forgot to apply some revision of next. And those
revision were thus cancelled when the branch has been reintegrated back
into next.
I am trying to fix that. This branch is a copy of the branch
features/Aos_2-new_functors-tau@64599 where the merge of next has been
reapplied. Let's see what are the differences with the buggy revision
64000.
If CGAL_INSTALLATION_PACKAGE_DIR is not set in CGALConfig.cmake, then when
one compile a demo/example on Windows, Installation/auxiliary (where
precompiled version of some third party libraries should be put) cannot be
found and used. That replaces the old CMake variable CGAL_SOURCE_DIRECTORY
(before branch-build).
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.
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).
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.
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
- clean up CGALConfig files (gmp/mpfr version)
- special role of LEDA
- gmp/mpfr need version
- removed SetupGMP ;-)
- clean up Dependencies
- NTL without USE_FILE
- added mandatory libs
The idea is that all developers can put their change-log here
and we use html2text to generate the file CHANGES.
When a release happens we update releases.html
- Intel the Runtime Library (RTL) can be in a different directory from the
MKL library. That is why a new variable INTEL_RTL_LIB_DIR can be used to
indicate its path.
- On Linux with g++, -lm must be used at link time to use MKL (otherwise it
is not found).
Patch to trunk/Installation/ to display the full version message of the
compiler, if RUNNING_CGAL_AUTO_TEST is set (in the testsuite). That will
help to know which compiler are run by tests platforms.
Display also the result of `uname -a`
variable CGAL_INSTALL_MAN_DIR is set to an empty string.
- CGAL_INSTALL_DOC_DIR can also be set to an empty string.
- Fix a typo in the unused CPack section
| ------------------------------------------------------------------------
| r57847 | lrineau | 2010-08-06 14:11:31 +0200 (Fri, 06 Aug 2010) | 4 lines
|
| Turn cgal_setup_module_path into a CMake function.
| Fix the CMake errors with CMake-2.6.0 and CMake-2.6.1 (VERSION_LESS if IF
| has been introduced in CMake-2.6.2).
| ------------------------------------------------------------------------
| r57816 | lrineau | 2010-08-05 15:56:57 +0200 (Thu, 05 Aug 2010) | 17 lines
|
| Clean the CMake configuration:
|
| - CGALConfig_install.cmake.source.in is removed. The variable
| SOURCE_INSTALL/CGAL_SOURCE_INSTALL were unused, and probably not tested
| for a long time (I found errors in
| CGALConfig_install.cmake.source.in). This has been cleaned.
|
| - CGALConfig_install.cmake.fhs.in is renamed (no .fhs. in it).
|
| - The module path is now modified in a macro (defined in
| CGAL_Macros.cmake), and the variable CGAL_CMAKE_MODULE_PATH is no
| longer stored or used in CGALConfig.cmake (the reason is that is was
| used as a path, where it is actually a list of paths).
|
| - The UseCGAL.cmake file only link with CGAL libraries that has been
| configured.
|
| ------------------------------------------------------------------------
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r57154 | sloriot | 2010-06-28 15:37:16 +0200 (Mon, 28 Jun 2010) | 2 lines
update CHANGES
........
r57160 | sloriot | 2010-06-28 16:42:37 +0200 (Mon, 28 Jun 2010) | 12 lines
merge from trunk:
r56793: Remove recursive call of create_star_3:
-create an internally used vector that can reserve its size when constructed
-create an internally used class to store information required to emulated the call stack
-the stack used to emulate the call stack is a static thread-safe vector of the function (thus a memory overhead)
These choices have been made so that the running time of the triangulation is still the same.
r57155: add macro CGAL_TDS_USE_OLD_CREATE_STAR_3 in TDS_3.h so that user can
still use the old recursive version of create_star_3.
........
r57174 | lrineau | 2010-06-28 23:24:05 +0200 (Mon, 28 Jun 2010) | 2 lines
CMake-2.8.2 is now official released.
........
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r56903 | lrineau | 2010-06-21 11:37:34 +0200 (Mon, 21 Jun 2010) | 2 lines
Search also for the name of mpfr-3.0.0 on Windows: libmpfr-4(.lib)
........
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r56835 | lrineau | 2010-06-17 12:56:52 +0200 (Thu, 17 Jun 2010) | 6 lines
Remove the constructor Gmpfr(long double) on Microsoft Visual C++. A big
comment in the source code explains why.
The testsuite will check that the construction of Gmpfr from a long double
on MSVC still works and produces the right Gmpfr.
........
r56864 | afabri | 2010-06-18 11:04:47 +0200 (Fri, 18 Jun 2010) | 1 line
Use tie from boost::
........
r56865 | afabri | 2010-06-18 11:11:49 +0200 (Fri, 18 Jun 2010) | 1 line
Use bind from boost::
........
r56866 | afabri | 2010-06-18 11:38:50 +0200 (Fri, 18 Jun 2010) | 1 line
Use bind from boost:: (detected in Mesh_3 VC10 testsuite)
........
r56867 | lrineau | 2010-06-18 11:39:24 +0200 (Fri, 18 Jun 2010) | 3 lines
cmake-2.8.2rc2 is out.
/bigobj is necessary
........
r56868 | afabri | 2010-06-18 11:52:37 +0200 (Fri, 18 Jun 2010) | 1 line
Add #include <fstream>
........
r56869 | afabri | 2010-06-18 11:55:33 +0200 (Fri, 18 Jun 2010) | 1 line
Shorten filename as with path it exceeds easily 256 letters which poor Visual C++ can't handle
........
r56870 | afabri | 2010-06-18 12:24:30 +0200 (Fri, 18 Jun 2010) | 1 line
Use tie from boost::
........
r56876 | lrineau | 2010-06-18 16:40:36 +0200 (Fri, 18 Jun 2010) | 3 lines
New try to fix the issue of Gmpfr(long double) with MSVC and libmpfr-1.dll
compiled by Mingw.
........
r56895 | lrineau | 2010-06-20 23:16:40 +0200 (Sun, 20 Jun 2010) | 3 lines
Using boost::bind is not sufficient" "bind" without qualifier was
ambiguous, according to MSVC2010, with std::bind (from C++0x).
........
r56896 | lrineau | 2010-06-20 23:18:29 +0200 (Sun, 20 Jun 2010) | 3 lines
Qualify "bind" with "boost::", to avoid the ambiguity (according to
MSVC2010), with std::bind (C++0x).
........
r56897 | lrineau | 2010-06-20 23:19:17 +0200 (Sun, 20 Jun 2010) | 2 lines
Stupid typo!
........
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r56833 | lrineau | 2010-06-17 12:02:47 +0200 (Thu, 17 Jun 2010) | 4 lines
Move the message "CGAL_Core needs GMP, cannot be configured." to the place
where CGAL_NO_CORE is set. That is more compatible with the disabling of
Core under 64 bits (on the trunk).
........
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch
........
r56724 | stayeb | 2010-06-14 09:01:34 +0200 (Mon, 14 Jun 2010) | 14 lines
Backport from trunk:
| New Revision: 56647
| Author: stayeb
| Date: 2010-06-08 17:28:21 +0200 (Tue, 08 Jun 2010)
| Log message:
| Try another workaround for VC++ and Intel compiler (CGAL::centroid). Add a call of overloaded CGAL::centroid function in test-suite.
| New Revision: 56702
| Author: stayeb
| Date: 2010-06-11 09:41:10 +0200 (Fri, 11 Jun 2010)
| Log message:
| Fix VC++ workaround (tested with MSVS2005)
........
r56795 | lrineau | 2010-06-16 15:05:02 +0200 (Wed, 16 Jun 2010) | 35 lines
Backport fixes for VC10 from trunk:
| ------------------------------------------------------------------------
| r56726 | afabri | 2010-06-14 09:11:59 +0200 (Mon, 14 Jun 2010) | 1 line
| Changed paths:
| M /trunk/Cartesian_kernel/include/CGAL/Cartesian/Cartesian_base.h
|
| For VC-10 we have to change FT* to cpp0x<>::const_iterator
| ------------------------------------------------------------------------
| ------------------------------------------------------------------------
| r56758 | lrineau | 2010-06-14 22:29:51 +0200 (Mon, 14 Jun 2010) | 11 lines
| Changed paths:
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/Homogeneous_base.h
|
| Remove extra typename (broken testsuite) after revision 56725:
| | ------------------------------------------------------------------------
| | r56725 | afabri | 2010-06-14 09:08:25 +0200 (Mon, 14 Jun 2010) | 1 line
| | Changed paths:
| | M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/Homogeneous_base.h
| | M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h
| | M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h
| |
| | For VC-10 we have to change FT* to cpp0x<>::const_iterator
| | ------------------------------------------------------------------------
| ------------------------------------------------------------------------
| r56725 | afabri | 2010-06-14 09:08:25 +0200 (Mon, 14 Jun 2010) | 1 line
| Changed paths:
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/Homogeneous_base.h
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h
|
| For VC-10 we have to change FT* to cpp0x<>::const_iterator
| ------------------------------------------------------------------------
........
r56796 | lrineau | 2010-06-16 15:10:30 +0200 (Wed, 16 Jun 2010) | 2 lines
Commit CHANGES for support of VC10.
........
r56797 | lrineau | 2010-06-16 15:14:49 +0200 (Wed, 16 Jun 2010) | 1 line
Commit mergeinfo stuff.
........
r56798 | lrineau | 2010-06-16 15:31:05 +0200 (Wed, 16 Jun 2010) | 60 lines
Backport from trunk the changes to the GMP/MPFR support on Windows:
- autolink now depends on CMake options CGAL_AUTO_LINK_GMP and
CGAL_AUTO_LINK_MPFR (default to ON).
- the environment variables GMP_INC_DIR GMP_LIB_DIR MPFR_INC_DIR
MPFR_LIB_DIR are used *before* searching into auxilary/gmp/.
- search names for libraries now includes libmpfr-1 and libgmp-10 (names
of Windows libraries obtained from the compilation of gmp-5.0.1 and
mpfr-2.4.2).
List of backported commits:
| ------------------------------------------------------------------------
| r56751 | lrineau | 2010-06-14 18:47:06 +0200 (Mon, 14 Jun 2010) | 6 lines
| Changed paths:
| M /trunk/Installation/cmake/modules/CGALConfig_binary.cmake.in
| M /trunk/Installation/cmake/modules/CGAL_GeneratorSpecificSettings.cmake
| M /trunk/Installation/cmake/modules/CGAL_SetupGMP.cmake
| M /trunk/Installation/cmake/modules/FindGMP.cmake
| M /trunk/Installation/cmake/modules/FindMPFR.cmake
|
| Reintegrate the work of /branches/unsorted-branches/Test-no_autolink-for-gmp_mpfr-branch/Installation:
|
| If(MSVC), create CMake variables CGAL_AUTO_LINK_GMP and CGAL_AUTO_LINK_GMP
| that can be set to OFF to disable the autolinking for GMP and MPFR. Those
| variables are stored in the cache, and in CGALConfig.cmake
|
| ------------------------------------------------------------------------
| r56752 | lrineau | 2010-06-14 18:51:25 +0200 (Mon, 14 Jun 2010) | 1 line
| Changed paths:
| M /trunk/Installation/cmake/modules/CGALConfig_install.cmake.fhs.in
| M /trunk/Installation/cmake/modules/CGALConfig_install.cmake.source.in
|
| Patch all CGALConfig*.in the same way.
| ------------------------------------------------------------------------
| r56775 | lrineau | 2010-06-15 19:25:37 +0200 (Tue, 15 Jun 2010) | 3 lines
| Changed paths:
| M /trunk/Installation/cmake/modules/FindGMP.cmake
| M /trunk/Installation/cmake/modules/FindMPFR.cmake
|
| Fix the library names hints of gmp and mpfr in FindMPFR.cmake and
| FindGMP.cmake
|
| ------------------------------------------------------------------------
| r56777 | lrineau | 2010-06-15 20:10:23 +0200 (Tue, 15 Jun 2010) | 2 lines
| Changed paths:
| M /trunk/Installation/cmake/modules/FindGMP.cmake
|
| The env variable must be searched *before* auxiliary/gmp/...
|
| ------------------------------------------------------------------------
| r56778 | lrineau | 2010-06-15 20:10:56 +0200 (Tue, 15 Jun 2010) | 2 lines
| Changed paths:
| M /trunk/Installation/cmake/modules/FindMPFR.cmake
|
| Search the library also in auxiliary/gmp, even if autolink=OFF.
|
| ------------------------------------------------------------------------
........
r56808 | lrineau | 2010-06-16 18:10:11 +0200 (Wed, 16 Jun 2010) | 4 lines
Set CGAL_AUTO_LINK_GMP and CGAL_AUTO_LINK_MPFR defaults to FALSE if MSVC10
(because GeometryFactory has not generated any autolink-enabled binaries
of gmp and mpfr for msvc-2010).
........