If CGAL_FULL_VERSION is not set in the cache, in the sub-directory src/ its value is empty. That creates wrong library names, on Windows, such as:
libCGAL_ImageIO-vc120-mt-.lib
This variable is more sensible to be used in documentation. The
corresponding set in non branch-build does not require a PARENT_SCOPE,
because it has no parent in the release layout.
This call to add_config_flag has no effect. It is made before the
file(WRITE ${CMAKE_BINARY_DIR}/include/CGAL/compiler_config.h ...) which
overwrites the contents of the file.
This is surely a bug, because ${CGAL_EXT_LIB_${lib}_PREFIX} expands to
things like GMP or MPFR which would be really bad defines.
The code tried to prevent running the config tests to often by caching
their values and only rerunning them when the CMAKE_CXX_FLAGS change.
While this is smart it only buys us a few seconds and is not actually
correct. One of those bugs could be triggered through linker flags or
debug flags as well and just checking CMAKE_CXX_FLAGS is far from
enough. To be on the safe side we accept the extra
configuration-time (which is usually also minimized by using compiler
caches).
This also removes a warning caused by CMake policy CMP0054.
CMAKE_CXX_COMPILER_ID can expand to the string MSVC, which is also a
variable name which has been expanded by before CMP0054 has been
introduced.
This would lead to a bug *if* we would MATCHES against the string "MSVC",
but only triggers a warning.
Also quote some implicit string in a MATCHES for style reasons.
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
If CMAKE_BUILD_TYPE is not set in the initial run, is only
defined *after* this code is run. Since the build type is cached this
seemed to work when a cmake cache was already present, but not without.
Add an export-name to libraries created with collect_cgal_library and
use it in install(EXPORT). Fake the behavior of export(EXPORT) by
looking for created targets manually.
While it might seem cleaner to simply add the -g0 argument, removing -g
is safer: -g0 would need to be added after any possible -g flags. Since
CMake makes no guarantees how the COMPILE_OPTIONS of a target are
actually initialized and we cannot change them on an individual basis
this is not easy to achieve. Hence we strip the CXX_FLAGS of -g. This
also still allows specifying it manually through CGAL_CXX_FLAGS.
Taucs, Lapack and Blas supports are no longer tested
Approved by the Release Manager
Tested in CGAL-4.5-Ic-97
Conflicts:
Polyhedron/demo/Polyhedron/CMakeLists.txt
This is a followup-up to the following commit:
| commit 16d42c0adf
| Author: Laurent Rineau <laurent.rineau@cgal.org>
| Date: Tue Aug 20 15:47:00 2013 +0200
|
| Hide the variables CGAL_*_PACKAGE_DIR
|
| Those three variables are for internal use only, and should not be exposed
| to the users in the cmake cache:
| CGAL_INSTALLATION_PACKAGE_DIR
| CGAL_MAINTENANCE_PACKAGE_DIR
| CGAL_CORE_PACKAGE_DIR
Those variables are declared twice, in two 'if()'-branches. I forgot to
modify one copy of them.
== Setting paths ==
-- Build CGAL from release in directory CGAL-4.3-beta1
CMake Warning (dev) at CMakeLists.txt:99 (set):
Cannot set "CGAL_CONFIGURED_PACKAGES_NAMES": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
The reason is that in the release there is not parent directory. As that
cmake instruction is need only if the Doxygen documentation is there, I
have surrounded the corresponding line of code by:
if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/Documentation")
endif()
Those three variables are for internal use only, and should not be exposed
to the users in the cmake cache:
CGAL_INSTALLATION_PACKAGE_DIR
CGAL_MAINTENANCE_PACKAGE_DIR
CGAL_CORE_PACKAGE_DIR