The CMake script was only testing if the sub-directory auxiliary/taucs/
existed. That directory exists in Git for a while, because we ship a README
file in it. Now the CMake script checks for auxiliary/taucs/include/. That
is as naive as before but at least it will work.
/wd4503 disables the warning C4503 "decorated name length exceeded"
/bigobj is sometimes required, and the only flaw is the incompatibility
with MSVS before MSVS 2005.
CGAL_assume(EX) is like CGAL_assertion, but is not disabled in release
mode. In debug mode, it is similar to CGAL_assertion(). In release mode, it
uses builtins of the compilateur, like the MSVC __assume or the g++/clang
__builtin_unreachable to give an hint to the compiler that some situation
in the code cannot happen.
In order to fix such a warning from g++-4.8:
warning: typedef ‘boost_static_assert_typedef_241’ locally defined but
not used [-Wunused-local-typedefs]
then:
- create one macro CGAL_UNUSED that is "__attribute__ ((__unused__))"
with g++ or empty otherwise,
- use it after BOOST_STATIC_ASSERT in the definition of
CGAL_static_assertion.
If the current working directory is a checkout of a commit that is not a
branch, for example, a commit in the ancestors of a branch, then CGAL CMake
scripts gave that CMake error:
== CMake setup ==
fatal: ref HEAD is not a symbolic ref
CMake Error at Installation/cmake/modules/CGAL_SCM.cmake:36 (string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
command.
Call Stack (most recent call first):
CMakeLists.txt:17 (include)
== CMake setup (DONE) ==
This patch fixes the error. If HEAD is not a branch, then CGAL_GIT_BRANCH
is equal to "HEAD".
The Intel Compiler, even when it tries to emulate the GNU/C++ compiler,
does not implement the GNU extension "statement expressions". The macro
CGAL_CFG_NO_STATEMENT_EXPRESSIONS must be defined with __INTEL_COMPILER is
defined.
When one is using the non-deprecated form of the macro, the version of
the deprecation has to be used - not the version where the original
macro appeared first.