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
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/.
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...
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).
........
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).
- Make get_dependency_version found the print_${LIB}_version.cpp, even
if the lib is compiled separately.
- Rename FindQt3.cmake to FindQt3-patched.cmake and Qt3Macros to
Qt3Macros-patched.
- Make CGAL-Qt3 compilable separately.
- Fix all commited CMakeLists.txt:
- use Qt3-patched and Qt3Macros-patched, and s/QT_/QT3_/
- add a comment about FindQt3-patched,
- wrap target creation with if(CGAL_FOUND AND QT3_FOUND)/else/endif
- Modified cgal_create_cmake_script
- fix flags for Core and CGALQt shared libraries
- add $(CUSTOM_LDFLAGS) to $(CGAL_SHARED_LIB_LDFLAGS)
- move a few flags from $(CGAL_CGAL_LDFLAGS) to $(CGAL_LDFLAGS), so that
$(CGAL_CGAL_LDFLAGS) only contains -lCGAL (or the equivalent for other
compilers).
- new targets for libCGAL.a, libCGAL.so, libCGAL.so.*
- fix rules when SOVERSION is empty (use GNU/make idioms)
- Additional vpath in src/CGALQt/makefile, so that one can build it directly
from a checkout of the trunk.
- fix the build of libCGALBenchmark.
- fix the bison special stuff, so that we no longer rely on the expr and
the $(shell) function of GNU/make.
"Everybody was dreaming of this commit log:
- factorization of makefiles for libCGAL, libCGALimageIO, libCore, and
libBenchmark.
- SONAMEs for everybody."
Add:
- fix platforms without SONAME,
- unify Benchmark/src/Benchmark/makefile with other makefiles.
This required to pass CXXFLAGS on the make command-line, and therefore
I took this opportunity to also pass CGAL_MAKEFILE on the command-line,
which in turn allowed to get rid of the prepare_lib_makefiles function.