diff --git a/Documentation/doc/Documentation/Installation.txt b/Documentation/doc/Documentation/Installation.txt
index dfb970b63f0..ac67f2cac42 100644
--- a/Documentation/doc/Documentation/Installation.txt
+++ b/Documentation/doc/Documentation/Installation.txt
@@ -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 tutorial is provided on how to proceed with Microsoft Visual Studio 2010.
+A tutorial 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{`http://gcc.gnu.org/`} | Linux / MacOS X |
-| | \sc{MS} Windows 95/98/2000/XP/NT4 |
-| \sc{Intel} `C++` 15.0\cgalFootnote{`http://software.intel.com/en-us/intel-compilers/`} | Linux |
-|\sc{MS} Visual `C++` 10.0, 11.0, 12.0, 14.0 (\sc{Visual Studio} 2010, 2012, 2013, and 2015)\cgalFootnote{`http://msdn.microsoft.com/en-us/vstudio/`} | \sc{MS} Windows 95/98/2000/XP/NT4/Vista/7/8 |
-| `Clang` \cgalFootnote{`http://clang.llvm.org/`} 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{`http://msdn.microsoft.com/en-us/vstudio/`} | \sc{MS} Windows |
+| `Clang` \cgalFootnote{`http://clang.llvm.org/`} 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:
cd CGAL-\cgalReleaseNumber
-cmake -G"Visual Studio 11 Win64" .
+cmake -G"Visual Studio 15 2017 Win64" .
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,
-`http://www.sgi.com/tech/stl/`, `http://www.cplusplus.com/reference/`,
-or `http://msdn.microsoft.com/en-us/library/1fe2x6kt(VS.100).aspx`.
+`http://www.cplusplus.com/reference/`,
+or `https://msdn.microsoft.com/en-us/library/1fe2x6kt(v=vs.140).aspx`.
The \stl comes with the compiler, so there is nothing to install.
diff --git a/Documentation/doc/scripts/testsuite.py b/Documentation/doc/scripts/testsuite.py
index ab8bffec92a..3bc49ffdc22 100755
--- a/Documentation/doc/scripts/testsuite.py
+++ b/Documentation/doc/scripts/testsuite.py
@@ -78,7 +78,8 @@ body {color: black; background-color: #C0C0D0; font-family: sans-serif;}
Doxygen Manual Results
'''
- page_footer='''
+ page_footer='''
+ | Doxygen 1.8.4 | Doxygen 1.8.13(official) | Doxygen master |
| Package Name |
Logs |
@@ -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
Documentation built with our fork of Doxygen {_suffix}\n".format(_suffix=suffix)
+ link2="\n
Documentation built with our fork of Doxygen {_suffix} (used for the official CGAL documentation)\n".format(_suffix=suffix)
suffix = ''
if args.master_describe:
suffix=args.master_describe
diff --git a/Installation/CMakeLists.txt b/Installation/CMakeLists.txt
index d5173fdf76b..49b8c5093e0 100644
--- a/Installation/CMakeLists.txt
+++ b/Installation/CMakeLists.txt
@@ -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
diff --git a/Installation/cmake/modules/run_cmd_redirection_cerr.cmake b/Installation/cmake/modules/run_cmd_redirection_cerr.cmake
index baaa2971452..40269e5b2c2 100644
--- a/Installation/cmake/modules/run_cmd_redirection_cerr.cmake
+++ b/Installation/cmake/modules/run_cmd_redirection_cerr.cmake
@@ -15,17 +15,26 @@ 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)
- string(REPLACE ";" " " CMD_STR "${CMD}")
- message(SEND_ERROR
+ 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
${CMD_STR} > ${CERR}
ended with the error code ${error_result},
@@ -34,4 +43,5 @@ ${output}
and the following error output:
${err}"
)
+ endif()
endif()
diff --git a/Scripts/developer_scripts/cgal_check_dependencies.sh b/Scripts/developer_scripts/cgal_check_dependencies.sh
index 37bd4698c9f..f05b8e064ce 100644
--- a/Scripts/developer_scripts/cgal_check_dependencies.sh
+++ b/Scripts/developer_scripts/cgal_check_dependencies.sh
@@ -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