Merge branch 'releases/CGAL-4.12-branch'

This commit is contained in:
Laurent Rineau 2018-05-25 10:43:23 +02:00
commit ad588cfe87
5 changed files with 49 additions and 30 deletions

View File

@ -41,11 +41,6 @@ make
where the second line creates a `CMakeLists.txt` file (check
its options in Section \ref seccreate_cgal_CMakeLists for various details).
Note that, until CGAL 4.6, \ref seccreate_cgal_CMakeLists only recognized
source files ending in `.cpp` or `.C`; if the above fails on the `cmake` command
or produces an empty `Makefile`, check whether your source files go by such a name.
Recent versions find all source files ending in
`.cc`, `.cp`, `.cxx`, `.cpp`, `.CPP`, `.c++`, or `.C`.
In a less ideal world, you probably have to install CMake, a makefile
generator, and third party libraries. That is what this manual is about.
@ -105,7 +100,7 @@ It is a self extracting executable that installs the \cgal source, and that allo
to select and download some precompiled third party libraries. However, you will need to compile
the library using your favorite compiler.
A <a href="https://www.cgal.org/windows_installation.html">tutorial</a> is provided on how to proceed with Microsoft Visual Studio 2010.
A <a href="https://www.cgal.org/windows_installation.html">tutorial</a> is provided on how to proceed with Microsoft Visual Studio.
@ -157,17 +152,18 @@ installation manual. The \cgal manual must be downloaded separately from
\section seccompilers Supported Compilers
In order to build the \cgal libraries, you need a \cpp compiler.
\cgal \cgalReleaseNumber is supported for the following compilers/operating systems:
\cgal \cgalReleaseNumber is supported, that is continuously tested, for the following compilers/operating systems:
| Compiler | Operating System |
| :------- | :--------------- |
|\sc{Gnu} `g++` 4.1 or later\cgalFootnote{<A HREF="http://gcc.gnu.org/">`http://gcc.gnu.org/`</A>} | Linux / MacOS X |
| | \sc{MS} Windows 95/98/2000/XP/NT4 |
| \sc{Intel} `C++` 15.0\cgalFootnote{<A HREF="http://software.intel.com/en-us/intel-compilers/">`http://software.intel.com/en-us/intel-compilers/`</A>} | Linux |
|\sc{MS} Visual `C++` 10.0, 11.0, 12.0, 14.0 (\sc{Visual Studio} 2010, 2012, 2013, and 2015)\cgalFootnote{<A HREF="http://msdn.microsoft.com/en-us/vstudio/">`http://msdn.microsoft.com/en-us/vstudio/`</A>} | \sc{MS} Windows 95/98/2000/XP/NT4/Vista/7/8 |
| `Clang` \cgalFootnote{<A HREF="http://clang.llvm.org/">`http://clang.llvm.org/`</A>} compiler version 3.5 and 3.6.2 | Linux / MacOS X |
| Apple `Clang` compiler version 6.0 and 4.2 | MacOS X |
| | \sc{MS} Windows |
|\sc{MS} Visual `C++` 12.0, 14.0, 15.0 (\sc{Visual Studio} 2013, 2015, and 2017)\cgalFootnote{<A HREF="http://msdn.microsoft.com/en-us/vstudio/">`http://msdn.microsoft.com/en-us/vstudio/`</A>} | \sc{MS} Windows |
| `Clang` \cgalFootnote{<A HREF="http://clang.llvm.org/">`http://clang.llvm.org/`</A>} compiler version 6.0.0 | Linux |
| Apple `Clang` compiler version 7.0.2 | MacOS X |
It may work for older versions of the above listed compilers.
\section secconfigwithcmake Configuring CGAL with CMake
@ -247,11 +243,11 @@ generators are added with each release.
Since the choice of the generator determines the type of build files to generate, in some cases
you choose a particular generator as a mean to choose a specific compiler (because they use different
build files). For example, the following generates solution files for
use in Visual \cpp 11.0 on a 64bit machine:
use in Visual \cpp 15.0 on a 64bit machine:
<PRE>
cd CGAL-\cgalReleaseNumber
cmake -G"Visual Studio 11 Win64" .
cmake -G"Visual Studio 15 2017 Win64" .
</PRE>
In other cases, however, the generator doesn't directly identify a
@ -381,8 +377,8 @@ libCGAL_Core, libCGAL_ImageIO, and libCGAL_Qt5).
\cgal heavily uses the \stl, and in particular adopted
many of its design ideas. You can find online
documentation for the \stl at various web sites, for instance,
<A HREF="http://www.sgi.com/tech/stl/">`http://www.sgi.com/tech/stl/`</A>, <A HREF="http://www.cplusplus.com/reference/">`http://www.cplusplus.com/reference/`</A>,
or <A HREF="http://msdn.microsoft.com/en-us/library/1fe2x6kt(VS.100).aspx">`http://msdn.microsoft.com/en-us/library/1fe2x6kt(VS.100).aspx`</A>.
<A HREF="http://www.cplusplus.com/reference/">`http://www.cplusplus.com/reference/`</A>,
or <A HREF="https://msdn.microsoft.com/en-us/library/1fe2x6kt(v=vs.140).aspx">`https://msdn.microsoft.com/en-us/library/1fe2x6kt(v=vs.140).aspx`</A>.
The \stl comes with the compiler, so there is nothing to install.

View File

@ -78,7 +78,8 @@ body {color: black; background-color: #C0C0D0; font-family: sans-serif;}
</style>
</head><body>
<h1 id="maintitle">Doxygen Manual Results</h1>'''
page_footer='''<table class="test-results">
page_footer='''<table border="1" cellspacing="2" cellpadding="5" class="test-results">
<tr><td/><th colspan="3">Doxygen 1.8.4</th><th colspan="3">Doxygen 1.8.13(official)</th><th colspan="3">Doxygen master</th></tr>
<tr>
<th>Package Name</th>
<th>Logs </th>
@ -101,7 +102,7 @@ body {color: black; background-color: #C0C0D0; font-family: sans-serif;}
suffix = ''
if args.doxygen_version2:
suffix = args.doxygen_version2
link2="\n<br><a href=\"output2/Manual/index.html\">Documentation built</a> with <a href=\"https://github.com/CGAL/doxygen\">our fork of Doxygen {_suffix}</a>\n".format(_suffix=suffix)
link2="\n<br><a href=\"output2/Manual/index.html\">Documentation built</a> with <a href=\"https://github.com/CGAL/doxygen\">our fork of Doxygen {_suffix} (used for the official CGAL documentation)</a>\n".format(_suffix=suffix)
suffix = ''
if args.master_describe:
suffix=args.master_describe

View File

@ -890,7 +890,9 @@ foreach (dir ${CGAL_CONFIGURED_PACKAGES})
install(DIRECTORY ${dir}/include/CGAL DESTINATION ${CGAL_INSTALL_INC_DIR} PATTERN ".svn" EXCLUDE)
endif()
endforeach()
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/CGAL DESTINATION ${CGAL_INSTALL_INC_DIR} PATTERN ".svn" EXCLUDE)
if(EXISTS ${CMAKE_BINARY_DIR}/include/CGAL)
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/CGAL DESTINATION ${CGAL_INSTALL_INC_DIR} PATTERN ".svn" EXCLUDE)
endif()
file(GLOB scripts "scripts/*")
list(SORT scripts)
@ -1122,13 +1124,13 @@ because IPE_FOUND is false.")
endif()
if(CGAL_ENABLE_CHECK_HEADERS)
set(falg "-fsyntax-only")
set(flag "-fsyntax-only")
else()
set(falg "-E")
set(flag "-E")
endif()
if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
execute_process(COMMAND
${CMAKE_CXX_COMPILER} -x c++ ${falg} ${CGAL_MODULES_DIR}/config/support/test_syntaxonly.cpp
${CMAKE_CXX_COMPILER} -x c++ ${flag} ${CGAL_MODULES_DIR}/config/support/test_syntaxonly.cpp
ERROR_QUIET
RESULT_VARIABLE ok)
if(ok EQUAL 0)
@ -1139,7 +1141,7 @@ because IPE_FOUND is false.")
endif(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
if(NOT CGAL_CHECK_SYNTAX_ONLY)
message(FATAL_ERROR "Your compiler does not seem to support ${falg}.
message(FATAL_ERROR "Your compiler does not seem to support ${flag}.
You must disable CGAL_ENABLE_CHECK_HEADERS.")
endif()
@ -1277,7 +1279,16 @@ LEDA_FOUND is false.")
separate_arguments(CMD
UNIX_COMMAND
"${CMAKE_CXX_COMPILER} ${compile_options_str}
${include_options_str} -x c++ ${falg} -H \
${include_options_str} -x c++ ${flag} -H \
${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
# depends on RS.
)
# CMD2 is CMD without the -H option
separate_arguments(CMD2
UNIX_COMMAND
"${CMAKE_CXX_COMPILER} ${compile_options_str}
${include_options_str} -x c++ ${flag} \
${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
# depends on RS.
@ -1288,6 +1299,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
COMMAND ${CMAKE_COMMAND}
-DCERR:STRING=${chk_header_name}
"-DCMD:STRING=${CMD}"
"-DCMD2:STRING=${CMD2}"
-P "${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake"
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}
DEPENDS ${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake

View File

@ -15,15 +15,24 @@ if(NOT CERR)
"The variable `CERR` should be defined to the output error file!")
endif()
# Create the file before using it
file(WRITE ${CERR})
# Execute the command ${CMD} with stderr redirected to the file ${CERR}
execute_process(
COMMAND ${CMD}
ERROR_VARIABLE err
ERROR_FILE "${CERR}"
OUTPUT_VARIABLE output
RESULT_VARIABLE error_result)
file(WRITE ${CERR} "${err}")
if(error_result)
if(CMD2)
file(REMOVE ${CERR})
execute_process(COMMAND ${CMD2})
message(SEND_ERROR)
else()
file(READ ${CERR} err)
file(REMOVE ${CERR})
string(REPLACE ";" " " CMD_STR "${CMD}")
message(SEND_ERROR
"The command
@ -34,4 +43,5 @@ ${output}
and the following error output:
${err}"
)
endif()
endif()

View File

@ -29,7 +29,7 @@ do
done
cmake -DCGAL_HEADER_ONLY=FALSE -DCGAL_ENABLE_CHECK_HEADERS=TRUE -DDOXYGEN_EXECUTABLE="$DOX_PATH" -DCGAL_COPY_DEPENDENCIES=TRUE -DCMAKE_CXX_FLAGS="-std=c++11" ..
make -j$(nproc --all) packages_dependencies
make -j$(nproc --all) -k packages_dependencies
echo " Checks finished"
for pkg_path in $CGAL_ROOT/*
do