mirror of https://github.com/CGAL/cgal
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
Building an Example or a Demo of CGAL
|
|
=====================================
|
|
|
|
Since Version 5.0, CGAL is a header-only library, hence it is not needed to build it. Usage of CGAL should simply amount to:
|
|
|
|
``` {.bash}
|
|
git clone https://github.com/CGAL/cgal.git /path/to/cgal.git
|
|
cd /path/to/cgal.git/Triangulation_2/examples/Triangulation_2
|
|
mkdir -p build/debug
|
|
cd build/debug
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DCGAL_DIR=/path/to/cgal.git ../..
|
|
make
|
|
```
|
|
|
|
in the case of building some CGAL-provided examples in debug mode.
|
|
|
|
Note that although CGAL is a header-only library, some parts of it must link to several external libraries, such as GMP, MPFR, etc.
|
|
|
|
Building a Program Using CGAL
|
|
=============================
|
|
|
|
If you wish to build a program that is not provided with CGAL and does not already have a `CMakeLists.txt`,
|
|
you can trigger the creation of a basic `CMakeLists.txt` by calling the script [`cgal_create_cmake_script`](Scripts/scripts/cgal_create_cmake_script)
|
|
found in `/path/to/cgal.git/Scripts/scripts/` at the root of your program directory.
|
|
|
|
``` {.bash}
|
|
git clone https://github.com/CGAL/cgal.git /path/to/cgal.git
|
|
cd /path/to/your/program
|
|
/path/to/cgal.git/Scripts/scripts/cgal_create_cmake_script
|
|
mkdir -p build/debug
|
|
cd build/debug
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DCGAL_DIR:PATH=/path/to/cgal.git ../..
|
|
make your_program
|
|
```
|
|
|
|
Since the basic `CMakeLists.txt` created by the script `cgal_create_cmake_script` cannot
|
|
guess which part(s) of CGAL you are using, it does not link with any optional third party
|
|
dependency of CGAL. You should look at the documentation of the package(s) that you
|
|
are using to learn which dependencies you must add. The `CMakeLists.txt`
|
|
of the examples and demos provided with the package(s) that you are using can be used
|
|
to complete your basic `CMakeLists.txt`.
|
|
|
|
|
|
Repository Structure
|
|
====================
|
|
|
|
If you have downloaded a source release instead of cloning the Git repository, the files will be organized in a slightly different way, see the [Layout of the CGAL Git Repository](README.md).
|
|
|
|
Documentation
|
|
=============
|
|
|
|
For more information see the [CGAL manual](https://doc.cgal.org/latest/Manual/general_intro.html).
|