mirror of https://github.com/CGAL/cgal
Merge branch 'releases/CGAL-4.12-branch'
This commit is contained in:
commit
ad588cfe87
|
|
@ -41,11 +41,6 @@ make
|
||||||
where the second line creates a `CMakeLists.txt` file (check
|
where the second line creates a `CMakeLists.txt` file (check
|
||||||
its options in Section \ref seccreate_cgal_CMakeLists for various details).
|
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
|
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.
|
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
|
to select and download some precompiled third party libraries. However, you will need to compile
|
||||||
the library using your favorite compiler.
|
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
|
\section seccompilers Supported Compilers
|
||||||
|
|
||||||
In order to build the \cgal libraries, you need a \cpp compiler.
|
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 |
|
| 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{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{MS} Windows |
|
||||||
| \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++` 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 |
|
||||||
|\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 6.0.0 | Linux |
|
||||||
| `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 7.0.2 | MacOS X |
|
||||||
| Apple `Clang` compiler version 6.0 and 4.2 | MacOS X |
|
|
||||||
|
It may work for older versions of the above listed compilers.
|
||||||
|
|
||||||
|
|
||||||
\section secconfigwithcmake Configuring CGAL with CMake
|
\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
|
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
|
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
|
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>
|
<PRE>
|
||||||
cd CGAL-\cgalReleaseNumber
|
cd CGAL-\cgalReleaseNumber
|
||||||
cmake -G"Visual Studio 11 Win64" .
|
cmake -G"Visual Studio 15 2017 Win64" .
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
In other cases, however, the generator doesn't directly identify a
|
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
|
\cgal heavily uses the \stl, and in particular adopted
|
||||||
many of its design ideas. You can find online
|
many of its design ideas. You can find online
|
||||||
documentation for the \stl at various web sites, for instance,
|
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>,
|
<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>.
|
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.
|
The \stl comes with the compiler, so there is nothing to install.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,8 @@ body {color: black; background-color: #C0C0D0; font-family: sans-serif;}
|
||||||
</style>
|
</style>
|
||||||
</head><body>
|
</head><body>
|
||||||
<h1 id="maintitle">Doxygen Manual Results</h1>'''
|
<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>
|
<tr>
|
||||||
<th>Package Name</th>
|
<th>Package Name</th>
|
||||||
<th>Logs </th>
|
<th>Logs </th>
|
||||||
|
|
@ -101,7 +102,7 @@ body {color: black; background-color: #C0C0D0; font-family: sans-serif;}
|
||||||
suffix = ''
|
suffix = ''
|
||||||
if args.doxygen_version2:
|
if args.doxygen_version2:
|
||||||
suffix = 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 = ''
|
suffix = ''
|
||||||
if args.master_describe:
|
if args.master_describe:
|
||||||
suffix=args.master_describe
|
suffix=args.master_describe
|
||||||
|
|
|
||||||
|
|
@ -890,7 +890,9 @@ foreach (dir ${CGAL_CONFIGURED_PACKAGES})
|
||||||
install(DIRECTORY ${dir}/include/CGAL DESTINATION ${CGAL_INSTALL_INC_DIR} PATTERN ".svn" EXCLUDE)
|
install(DIRECTORY ${dir}/include/CGAL DESTINATION ${CGAL_INSTALL_INC_DIR} PATTERN ".svn" EXCLUDE)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
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/*")
|
file(GLOB scripts "scripts/*")
|
||||||
list(SORT scripts)
|
list(SORT scripts)
|
||||||
|
|
@ -1122,13 +1124,13 @@ because IPE_FOUND is false.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CGAL_ENABLE_CHECK_HEADERS)
|
if(CGAL_ENABLE_CHECK_HEADERS)
|
||||||
set(falg "-fsyntax-only")
|
set(flag "-fsyntax-only")
|
||||||
else()
|
else()
|
||||||
set(falg "-E")
|
set(flag "-E")
|
||||||
endif()
|
endif()
|
||||||
if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
|
if(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
|
||||||
execute_process(COMMAND
|
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
|
ERROR_QUIET
|
||||||
RESULT_VARIABLE ok)
|
RESULT_VARIABLE ok)
|
||||||
if(ok EQUAL 0)
|
if(ok EQUAL 0)
|
||||||
|
|
@ -1139,7 +1141,7 @@ because IPE_FOUND is false.")
|
||||||
endif(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
|
endif(NOT DEFINED CGAL_CHECK_SYNTAX_ONLY)
|
||||||
|
|
||||||
if(NOT 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.")
|
You must disable CGAL_ENABLE_CHECK_HEADERS.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -1277,7 +1279,16 @@ LEDA_FOUND is false.")
|
||||||
separate_arguments(CMD
|
separate_arguments(CMD
|
||||||
UNIX_COMMAND
|
UNIX_COMMAND
|
||||||
"${CMAKE_CXX_COMPILER} ${compile_options_str}
|
"${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}"
|
${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
|
||||||
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
|
# The header Algebraic_kernel_rs_gmpz_d_1.h is skipped on purpose: it
|
||||||
# depends on RS.
|
# depends on RS.
|
||||||
|
|
@ -1288,6 +1299,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}"
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
-DCERR:STRING=${chk_header_name}
|
-DCERR:STRING=${chk_header_name}
|
||||||
"-DCMD:STRING=${CMD}"
|
"-DCMD:STRING=${CMD}"
|
||||||
|
"-DCMD2:STRING=${CMD2}"
|
||||||
-P "${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake"
|
-P "${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake"
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../${package}/include/${header}
|
||||||
DEPENDS ${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake
|
DEPENDS ${CGAL_MODULES_DIR}/run_cmd_redirection_cerr.cmake
|
||||||
|
|
|
||||||
|
|
@ -15,15 +15,24 @@ if(NOT CERR)
|
||||||
"The variable `CERR` should be defined to the output error file!")
|
"The variable `CERR` should be defined to the output error file!")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Create the file before using it
|
||||||
|
file(WRITE ${CERR})
|
||||||
|
|
||||||
|
# Execute the command ${CMD} with stderr redirected to the file ${CERR}
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMD}
|
COMMAND ${CMD}
|
||||||
ERROR_VARIABLE err
|
ERROR_FILE "${CERR}"
|
||||||
OUTPUT_VARIABLE output
|
OUTPUT_VARIABLE output
|
||||||
RESULT_VARIABLE error_result)
|
RESULT_VARIABLE error_result)
|
||||||
|
|
||||||
file(WRITE ${CERR} "${err}")
|
|
||||||
|
|
||||||
if(error_result)
|
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}")
|
string(REPLACE ";" " " CMD_STR "${CMD}")
|
||||||
message(SEND_ERROR
|
message(SEND_ERROR
|
||||||
"The command
|
"The command
|
||||||
|
|
@ -34,4 +43,5 @@ ${output}
|
||||||
and the following error output:
|
and the following error output:
|
||||||
${err}"
|
${err}"
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ do
|
||||||
done
|
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" ..
|
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"
|
echo " Checks finished"
|
||||||
for pkg_path in $CGAL_ROOT/*
|
for pkg_path in $CGAL_ROOT/*
|
||||||
do
|
do
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue