libigl / libigl.github.io

Repository for the libigl website, online tutorial and documentation
http://libigl.github.io
4 stars 29 forks source link

cmake external_project_add not discussed #4

Closed alecjacobson closed 5 years ago

alecjacobson commented 5 years ago

AFAIK our new external_project_add method for pulling in dependencies is not discussed on index.md or elsewhere. Since this still may be unusual for many users, it'd be nice to have a short description of what it's doing.

jdumas commented 5 years ago

How about this:

Dependencies

Libigl uses CMake's ExternalProject_Add to manage external dependencies. External libraries are build statically with libigl using CMake. In order to be included in the CMake script via add_subdirectory, the third-party content is fetched at CMake time using the DownloadProject.cmake script (which has been introduced in CMake itself with the command FetchContent in CMake 3.11).

There is not much to know about this, other than the content will be fetched the first time you run CMake, and placed into the external/ folder. If something goes wrong with your dependencies, simply erase your external/ folder and run CMake again. The exact version of each external dependencies used by libigl are recorded in the file cmake/LibiglDownloadExternal.cmake.

If that's ok, I'll add it to the index.md (until I figure out the python stuff to build the website on other machines).