/*! \page installation GUDHI installation
* \tableofcontents
* As GUDHI is a header only library, there is no need to install the library.
*
* Examples of GUDHI headers inclusion can be found in \ref utilities.
*
* \section compiling Compiling
* The library uses c++14 and requires Boost ≥ 1.56.0
* and CMake ≥ 3.1.
* It is a multi-platform library and compiles on Linux, Mac OSX and Visual Studio 2015.
*
* \subsection utilities Utilities and examples
* To build the utilities, run the following commands in a terminal:
\verbatim cd /path-to-gudhi/
mkdir build
cd build/
cmake ..
make \endverbatim
* By default, examples are disabled. You can activate their compilation with
* ccmake (on Linux and Mac OSX),
* cmake-gui (on Windows) or by modifying the
* cmake command as follows :
\verbatim cmake -DWITH_GUDHI_EXAMPLE=ON ..
make \endverbatim
* A list of utilities and examples is available here.
*
* \subsection libraryinstallation Installation
* To install the library (headers and activated utilities), run the following command in a terminal:
* \verbatim make install \endverbatim
* This action may require to be in the sudoer or administrator of the machine in function of the operating system and
* of CMAKE_INSTALL_PREFIX.
*
* \subsection testsuites Test suites
* To test your build, run the following command in a terminal:
* \verbatim make test \endverbatim
* `make test` is using Ctest (CMake test driver
* program). If some of the tests are failing, please send us the result of the following command:
* \verbatim ctest --output-on-failure \endverbatim
*
* \subsection documentationgeneration Documentation
* To generate the documentation, Doxygen is required.
* Run the following command in a terminal:
\verbatim
make doxygen
# Documentation will be generated in the folder YYYY-MM-DD-hh-mm-ss_GUDHI_X.Y.Z/doc/html/
# You can customize the directory name by calling `cmake -DUSER_VERSION_DIR=/my/custom/folder`
\endverbatim
*
* \subsection helloworld Hello world !
* The Hello world for GUDHI
* project is an example to help developers to make their own C++ project on top of the GUDHI library.
*
* \section optionallibrary Optional third-party library
* \subsection gmp GMP
* The multi-field persistent homology algorithm requires GMP which is a free library for arbitrary-precision
* arithmetic, operating on signed integers, rational numbers, and floating point numbers.
*
* The following example requires the GNU Multiple Precision Arithmetic
* Library (GMP) and will not be built if GMP is not installed:
* \li
* Persistent_cohomology/rips_multifield_persistence.cpp
*
* Having GMP version 4.2 or higher installed is recommended.
*
* \subsection cgal CGAL
* Some GUDHI modules (cf. \ref main_page "modules list"), and few examples require CGAL, a C++ library that provides
* easy access to efficient and reliable geometric algorithms.
*
* \note There is no need to install CGAL, you can just cmake . && make
CGAL (or even
* cmake -DCGAL_HEADER_ONLY=ON .
), thereafter you will be able to compile
* GUDHI by calling cmake -DCGAL_DIR=/your/path/to/CGAL-X.Y .. && make
*
* The procedure to install this library according to
* your operating system is detailed here http://doc.cgal.org/latest/Manual/installation.html
*
* The following examples/utilities require the Computational Geometry Algorithms
* Library (CGAL \cite cgal:eb-19b) and will not be built if CGAL version 4.11.0 or higher is not installed:
* \li
* Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp
* \li
* Witness_complex/strong_witness_persistence.cpp
* \li
* Witness_complex/weak_witness_persistence.cpp
* \li
* Witness_complex/example_strong_witness_complex_off.cpp
* \li
* Witness_complex/example_witness_complex_off.cpp
* \li
* Witness_complex/example_witness_complex_sphere.cpp
* \li
* Alpha_complex/Alpha_complex_from_off.cpp
* \li
* Alpha_complex/Alpha_complex_from_points.cpp
* \li
* Alpha_complex/alpha_complex_persistence.cpp
* \li
* Persistent_cohomology/custom_persistence_sort.cpp
* \li
* Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp
* \li
* Bottleneck_distance/bottleneck_basic_example.cpp
* \li
* Bottleneck_distance/bottleneck_distance.cpp
* \li
* Nerve_GIC/CoordGIC.cpp
* \li
* Nerve_GIC/FuncGIC.cpp
* \li
* Nerve_GIC/Nerve.cpp
* \li
* Nerve_GIC/VoronoiGIC.cpp
* \li
* Spatial_searching/example_spatial_searching.cpp
* \li
* Subsampling/example_choose_n_farthest_points.cpp
* \li
* Subsampling/example_custom_kernel.cpp
* \li
* Subsampling/example_pick_n_random_points.cpp
* \li
* Subsampling/example_sparsify_point_set.cpp
* \li
* Tangential_complex/example_basic.cpp
* \li
* Tangential_complex/example_with_perturb.cpp
* \li
* Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp
* \li
* Alpha_complex/alpha_complex_3d_persistence.cpp
*
* \subsection eigen Eigen
* Some GUDHI modules (cf. \ref main_page "modules list"), and few examples require
* Eigen is a C++ template library for linear algebra:
* matrices, vectors, numerical solvers, and related algorithms.
*
* The following examples/utilities require the Eigen and will not be
* built if Eigen is not installed:
* \li
* Alpha_complex/Alpha_complex_from_off.cpp
* \li
* Alpha_complex/Alpha_complex_from_points.cpp
* \li
* Alpha_complex/alpha_complex_persistence.cpp
* \li
* Alpha_complex/alpha_complex_3d_persistence.cpp
* \li
* Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp
* \li
* Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp
* \li
* Persistent_cohomology/custom_persistence_sort.cpp
* \li
* Spatial_searching/example_spatial_searching.cpp
* \li
* Subsampling/example_choose_n_farthest_points.cpp
* \li
* Subsampling/example_custom_kernel.cpp
* \li
* Subsampling/example_pick_n_random_points.cpp
* \li
* Subsampling/example_sparsify_point_set.cpp
* \li
* Tangential_complex/example_basic.cpp
* \li
* Tangential_complex/example_with_perturb.cpp
* \li
* Witness_complex/strong_witness_persistence.cpp
* \li
* Witness_complex/weak_witness_persistence.cpp
* \li
* Witness_complex/example_strong_witness_complex_off.cpp
* \li
* Witness_complex/example_witness_complex_off.cpp
* \li
* Witness_complex/example_witness_complex_sphere.cpp
*
* \subsection tbb Threading Building Blocks
* Intel® TBB lets you easily write parallel
* C++ programs that take full advantage of multicore performance, that are portable and composable, and that have
* future-proof scalability.
*
* Having Intel® TBB installed is recommended to parallelize and accelerate some GUDHI computations.
*
* The following examples/utilities are using Intel® TBB if installed:
* \li
* Alpha_complex/Alpha_complex_from_off.cpp
* \li
* Alpha_complex/Alpha_complex_from_points.cpp
* \li
* Alpha_complex/alpha_complex_3d_persistence.cpp
* \li
* Alpha_complex/alpha_complex_persistence.cpp
* \li
* Bitmap_cubical_complex/cubical_complex_persistence.cpp
* \li
* Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp
* \li
* Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp
* \li
* Nerve_GIC/CoordGIC.cpp
* \li
* Nerve_GIC/FuncGIC.cpp
* \li
* Nerve_GIC/Nerve.cpp
* \li
* Nerve_GIC/VoronoiGIC.cpp
* \li
* Simplex_tree/simple_simplex_tree.cpp
* \li
* Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp
* \li
* Simplex_tree/simplex_tree_from_cliques_of_graph.cpp
* \li
* Simplex_tree/graph_expansion_with_blocker.cpp
* \li
* Persistent_cohomology/alpha_complex_3d_persistence.cpp
* \li
* Persistent_cohomology/alpha_complex_persistence.cpp
* \li
* Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp
* \li
* Persistent_cohomology/persistence_from_file.cpp
* \li
* Persistent_cohomology/persistence_from_simple_simplex_tree.cpp
* \li
* Persistent_cohomology/plain_homology.cpp
* \li
* Persistent_cohomology/rips_multifield_persistence.cpp
* \li
* Persistent_cohomology/rips_persistence_step_by_step.cpp
* \li
* Persistent_cohomology/custom_persistence_sort.cpp
* \li
* Rips_complex/example_one_skeleton_rips_from_points.cpp
* \li
* Rips_complex/example_rips_complex_from_off_file.cpp
* \li
* Rips_complex/rips_distance_matrix_persistence.cpp
* \li
* Rips_complex/rips_persistence.cpp
* \li
* Witness_complex/strong_witness_persistence.cpp
* \li
* Witness_complex/weak_witness_persistence.cpp
* \li
* Witness_complex/example_nearest_landmark_table.cpp
*
* \section Contributions Bug reports and contributions
* Please help us improving the quality of the GUDHI library. You may report bugs or suggestions to:
* \verbatim Contact: gudhi-users@lists.gforge.inria.fr \endverbatim
*
* GUDHI is open to external contributions. If you want to join our development team, please contact us.
*
*/
/*! \page Citation Acknowledging the GUDHI library
* We kindly ask users to cite the GUDHI library as appropriately as possible in their papers, and to mention the use
* of the GUDHI library on the web pages of their projects using GUDHI and provide us with links to these web pages.
* Feel free to contact us in case you have any question or remark on this topic.
*
* We provide \ref GudhiBibtex entries for the modules of the User and Reference Manual, as well as for publications
* directly related to the GUDHI library.
* \section GudhiBibtex GUDHI bibtex
* \verbinclude biblio/how_to_cite_gudhi.bib
*/