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
|
||||
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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue