mirror of https://github.com/CGAL/cgal
72 lines
2.7 KiB
Markdown
72 lines
2.7 KiB
Markdown
Building CGAL Libraries From a Branch
|
|
=====================================
|
|
|
|
Building CGAL using the *branch build* presented here keeps the
|
|
build-sources attached to the Git repository.
|
|
|
|
Note that we do not document here what are the dependancies and cmake options that
|
|
are needed to configure CGAL as they are already documented in the
|
|
[installation manual](https://doc.cgal.org/latest/Manual/installation.html).
|
|
|
|
Branch Build of CGAL
|
|
====================
|
|
The cmake script at the root of the repository is the one to use to
|
|
build the CGAL library from a branch. It will collect the list of packages
|
|
of the branch and will append their include folder to the include path.
|
|
This is main noticable difference with a build using a regular *flat* release.
|
|
|
|
Here is an example of how to build the library in Debug:
|
|
``` {.bash}
|
|
git clone https://github.com/CGAL/cgal.git /path/to/cgal.git
|
|
cd /path/to/cgal.git
|
|
mkdir -p build/debug
|
|
cd build/debug
|
|
cmake -DCMAKE_BUILD_TYPE=Debug ../..
|
|
make
|
|
```
|
|
|
|
Here is an example of how to build the library in Release:
|
|
``` {.bash}
|
|
git clone https://github.com/CGAL/cgal.git /path/to/cgal.git
|
|
cd /path/to/cgal.git
|
|
mkdir -p build/release
|
|
cd build/release
|
|
cmake -DCMAKE_BUILD_TYPE=Release ../..
|
|
make
|
|
```
|
|
Note that *no installation is required* to use that version of CGAL once it has been compiled.
|
|
|
|
Building a Program Using CGAL
|
|
=============================
|
|
|
|
To compile a program using CGAL, simply set `CGAL_DIR` to the location
|
|
of where you built the library (environment or cmake variable).
|
|
|
|
Here is an example of how to build in debug the examples from the 3D Triangulations package:
|
|
|
|
``` {.bash}
|
|
cmake -DCGAL_DIR:PATH=/path/to/cgal.git/build/debug /path/to/cgal.git/Triangulation_3/examples/Triangulation_3
|
|
make
|
|
```
|
|
|
|
If you're trying to build examples or tests that does not already have a `CMakeLists.txt`, you can trigger its creation 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 the example/test directory. Here is an example for the examples of the 2D Triangulation package:
|
|
|
|
``` {.bash}
|
|
cd /path/to/cgal.git/Triangulation_2/examples/Triangulation_2
|
|
/path/to/cgal.git/Scripts/scripts/cgal_create_cmake_script
|
|
cd -
|
|
cmake -DCGAL_DIR:PATH=/path/to/cgal.git/build/debug /path/to/cgal.git/Triangulation_2/examples/Triangulation_2
|
|
make
|
|
```
|
|
|
|
Note If You Switch Between Branches
|
|
===================================
|
|
A build may be outdated after an include/dir has been deleted,
|
|
switched or even updated. This might lead to compile problems (link
|
|
with outdated version). Thus, it is recommended to build CGAL after
|
|
each update, switch, merge of a branch (in particular if directories
|
|
have been added/deleted, or cpp files have been added, deleted or
|
|
altered).
|
|
|
|
|