Commit Graph

90 Commits

Author SHA1 Message Date
Laurent Rineau 3dd4069bf0 Fix a bug with CMake 3.0
Actually, in my opinion that was also a bug with other versions of
CMake.

Before this commit, in Installation/src, CGAL_CONFIGURED_LIBRARIES was
set to the empty string "" *in the parent scope* (Installation),
then the variable is modified in the current scope Installation/src, and
then the variable value is copied to a cache variable of the same name.

In my opinion, that means that the parent scope (Installation) has a
non-cache variable CGAL_CONFIGURED_LIBRARIES that is empty (""), and a
cache variable that is not empty (that contains, for example
"CGAL_Core;CGAL_Qt4;CGAL_ImageIO"). The document of CMake-3.0 precisely says
that the semantic of variables is such that cache variables have the
lowest priority. See:
  http://www.cmake.org/cmake/help/v3.0/manual/cmake-language.7.html#variables
As far as I know, that was supposed to be the same for CMake 2.8, but I
cannot find out where it is described in the documentation. Anyway, the
bug was visible with CMake 2.8 and not with CMake 3.0.

The patch simply does not set the empty value of
CGAL_CONFIGURED_LIBRARIES in the parent scope, but only in the current
local scope.
2014-07-22 15:04:12 +02:00
Laurent Rineau 92f464232a Allow to add CGAL_DISABLE_GMP lately in the cache 2013-03-15 16:39:59 +01:00
Philipp Möller 1adf441b18 Convert all CRLF files to LF 2012-12-03 18:44:24 +01:00
Eric Berberich dc0c0d7d9f removed debug output 2012-08-03 20:59:22 +00:00
Eric Berberich f46d0ced7d name now has CGAL_ prefix 2012-08-03 20:55:49 +00:00
Eric Berberich 5f524b0802 subdirectories in src finally get correct name 2012-08-03 17:21:30 +00:00
Laurent Rineau 8e167590c8 Use include_directories(SYSTEM ...) for 3rd-party libraries
gcc has an option -isystem, that can replace -I. The documentation is:

 -isystem dir

     Search dir for header files, after all directories specified by -I but
     before the standard system directories. Mark it as a system directory,
     so that it gets the same special treatment as is applied to the
     standard system directories. If dir begins with "=", then the "=" will
     be replaced by the sysroot prefix; see --sysroot and -isysroot.


The "special treatment" means that gcc will not warn about constructions in
headers in directories pointed by -isystem instead of -I.

In the CGAL testsuite, there are a lot of warnings that comes from
third-party libraries (mostly from Boost, but also from Eigen).

This patch tells cmake to use -isystem with gcc, for all CGAL 3rd-party
directories.
2012-08-01 10:53:37 +00:00
Eric Berberich bc6d9c1005 fixed typo: added missing '_' 2012-07-03 10:53:25 +00:00
Eric Berberich d4cb1c2212 SetupDependicies needs also to check for essential lib (not just WITH_<lib>), side effect: mandatory->essential 2012-06-29 15:24:30 +00:00
Eric Berberich b5a4e941fd the mandatory libs need an particular order, and we simplify with a macro 2012-06-29 09:24:19 +00:00
Eric Berberich eb6c435c4a correct spelling of GMPXX_FOUND variable
FOUND_GMPXX -> GMPXX_FOUND
2012-06-28 13:02:32 +00:00
Eric Berberich df72a1aa08 macro use_lib now has an optional second parameter for UseFile
this avoids a nasty hack with checking for a leading ### in a string and 
allows to use "use_lib( FOO )" in other places much easier
2012-06-28 12:20:52 +00:00
Eric Berberich 60efbec2d3 merge from next 2012-05-20 11:50:30 +00:00
Laurent Rineau 7b2e34d267 merge with next 2012-01-27 16:46:42 +00:00
Laurent Rineau 2fbd163e14 Factorize the installation command of CGAL library into the macro
The macro build_cgal_library(..) now defines the installation rules. That
should also fix a bug: now .dll files will be installed in
${CGAL_INSTALL_BIN_DIR}.
2012-01-25 16:49:39 +00:00
Laurent Rineau 8b413cef28 Remove variables CGAL_<lib>_BASENAME: no longer used. 2012-01-25 16:37:06 +00:00
Eric Berberich bc29e5cccf fix typo 2012-01-24 10:37:01 +00:00
Eric Berberich 832c6c02e7 merge from next; installation.tex got major changes 2012-01-23 13:54:58 +00:00
Eric Berberich 9d3dffc06e DO NOT IGNORE WITH_CGAL_Core 2012-01-19 13:41:30 +00:00
Eric Berberich a42d72acaa CGAL_USE_GMPXX is only set by use_lib macro 2012-01-11 00:00:05 +00:00
Eric Berberich 00d31036ea build_cgal_library -> collect_cgal_library (new macro name) 2012-01-10 18:17:53 +00:00
Eric Berberich 19fccf9969 more output 2012-01-10 14:36:42 +00:00
Eric Berberich 1c0474c1aa link only with GMP/MPFR and GMPXX if configured 2012-01-10 12:31:44 +00:00
Eric Berberich 48f9a4628f general use_lib for found libs must be used 2012-01-10 10:34:25 +00:00
Eric Berberich 0def3cb179 improved formatting 2012-01-10 10:17:43 +00:00
Eric Berberich 609ad2d43d for some reason CGAL lib needs GMP/MPFR (check includes!) 2012-01-10 10:17:27 +00:00
Laurent Rineau 099d46877e Bug-fix: really add the "lib" prefix for CGAL lib names on Windows 2011-10-28 12:14:01 +00:00
Laurent Rineau fc204cd04d Do not create the .rc file if not WIN32 2011-10-26 09:43:02 +00:00
Laurent Rineau 7c64fe7394 Add versioninfo to created DLLs. 2011-10-25 15:17:08 +00:00
Laurent Rineau a136c46405 Fix previous commit about new name mangling for Windows libraries 2011-10-21 14:46:12 +00:00
Laurent Rineau a49a4976a2 Change the name mangling of CGAL libraries, on Windows
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
2011-10-21 14:10:52 +00:00
Laurent Rineau c37ce187ff Factorize the settings of VERSION/SOVERSION properties of libraries 2011-10-19 15:53:46 +00:00
Laurent Rineau 9059b29647 Fix and factorize post-build commands on Windows
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/.
2011-10-17 16:02:12 +00:00
Laurent Rineau b28fb2f764 Remove debugging messages 2011-10-06 09:51:48 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00
Laurent Rineau 9daee5c42f Add link_directories during the CGAL library creation (needed for auto-linking
on Windows).
2011-10-05 09:51:35 +00:00
Laurent Rineau dbf3ace24b merge from next 2011-09-22 07:56:49 +00:00
Laurent Rineau fcfc1f5092 Bug-fix to the creation of all_files.cpp by CMake
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...
2011-09-06 12:54:37 +00:00
Eric Berberich 2466257f18 improved poutput 2011-04-20 14:33:38 +00:00
Laurent Rineau ff2044190d Fix the branch-build in next 2011-04-15 09:33:26 +00:00
Eric Berberich eb7a5ed11e branch-build is now HOT on next ;-) 2011-04-15 09:12:06 +00:00
Laurent Rineau 4a3b9888d6 Add a workaround in src/CMakeLists.txt, to avoid that a variable
WITH_CGAL_Core is copied from the reference cache, if Core is disabled
(on 64bits platforms).
2010-06-23 09:04:56 +00:00
Laurent Rineau 18f49da592 Merged revisions 56833 via svnmerge from
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).
........
2010-06-17 10:04:25 +00:00
Sébastien Loriot d72337785c remove dependance on CGAL_PDB: merge from the branche created for that purpose
I do not remove the directory CGAL_PDB as I am allowed to use svn remove.
2010-06-10 17:26:38 +00:00
Michael Hemmer b379564462 mv Bbox_3 intersect with line/ray/segment to bbox_intersection_3.h file,
it must be a template function since it depends on the Kernel
rm Intersections_3/src/CGAL/Bbox_3_intersections.cpp since it is empty
2010-01-28 15:40:48 +00:00
Laurent Rineau f3078e4547 Quote the characters '"' in post-build commands. If TargetDir==C:\Program
Files\CGAL-3.4\, that is needed.
2008-12-16 14:47:16 +00:00
Laurent Rineau 38cbc3926c If GMP is not here, CGAL_Core cannot be compiled. 2008-12-03 13:57:18 +00:00
Andreas Fabri cb44718771 bye bye install_cgal 2008-12-01 10:08:29 +00:00
Fernando Cacciola d70bdaea18 Prefixed cmake variables with CGAL_ 2008-10-23 14:59:02 +00:00
Laurent Rineau d256a634c3 Add src/CGAL/test_FPU_rounding_mode.cpp
That file creates a global (static const) object that:
  - at its creation (start of the program), it stores the FPU rounding mode,
  - at its destruction (end of the program), it emits a CGAL_warning is the
current rounding mode is different from the stored one.

That will permit to track if all CGAL kernel code restore the FPU rounding
mode correctly (needed for some CGAL user and GeometryFactory customers).
2008-10-15 12:53:41 +00:00