This repository contains cmake/CPM recipes that I use to easily integrate geometry processing libraries and utilities to my c++ projects.
When included in your CMakeLists.txt
script, cmake
will automatically download the deps and prepare the targets.
These scripts are heavily inspired by the external recipes of Lagrange.
Classical usage (cf all-in.cpp
):
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/PATH-TO-THE-RECIPES)
include(dgtal)
include(libigl)
include(polyscope)
include(geometry-central)
add_executable(main main.cpp)
target_link_libraries(main polyscope DGtal ${DGTAL_LIBRARIES} geometry-central igl::core)
For system-wide downloads, consider using the CPM_SOURCE_CACHE
environnement variable (cf CPM doc)
Note: Some recipe combinations could be suboptimal, as a given subproject may be fetched and built several times. Some projects may have dependencies that may not be automatically downloaded by cmake (eg. DGtal needs boost). Please check the instructions.
Libs | version | credits |
---|---|---|
eigen | 3.4.0 | Lagrange |
libigl | 2.5.0 | Lagrange |
CGAL | 6.0 | |
polyscope | 2.3.0 | |
geometry-central | 70c859ec3b58fe597c0063673a74082654e9c5aa | |
stb | 5736b15f7ea0ffb08dd38af21067c314d6a3aae9 | Lagrange |
Directional | ed62c362b59ebd84cdfac520abc37df1bab77290 | |
cinolib (without gui) | 8174c95b590d083b3699e4af95901c51344266ec | |
geogram WIP | 1.9.0 |
Libs | version | credits |
---|---|---|
cli11 | v2.3.2 | Lagrange |
catch2 | 2.13.7 | DGtal |
openmp | n.a. | DGtal |
spdlog | 1.14.1 | Lagrange |
boost | 1.8.2 | Lagrange |