src/CGAL_Qt4/DemosMainWindow.cpp was the sole user of the macro
CGAL_SVN_REVISIONS, in CGAL's master branch. That macro is useless since
the switch to Git.
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.
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}.
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/.
That allows to build libCGAL_Qt4 and the Polyhedron demo with
-fvisibility-ms-compat on Linux.
That may allow to build CGAL_Qt4 as a DLL on Windows, one day.
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)
release is a public release.
If the CGAL_Qt4 library is configured while there is an environment
variable CGAL_FAKE_PUBLIC_RELEASE, then the release version string is
stripped from its -I-.* part, so that is it equivalent to the version
string of the public release.