# CGAL and its key dependency using ExternalProject\_Add

**URL:** <https://discourse.cmake.org/t/cgal-and-its-key-dependency-using-externalproject-add/5884>\
**Category:** Code\
**Created:** [June 17, 2022, 1:37pm UTC](https://discourse.cmake.org/t/cgal-and-its-key-dependency-using-externalproject-add/5884 "2022-06-17T13:37:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![petrasvestartas](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/p/eb9ed0/32.png) [@petrasvestartas](https://discourse.cmake.org/u/petrasvestartas)\
**Post date:** [June 17, 2022, 1:37pm UTC](https://discourse.cmake.org/t/cgal-and-its-key-dependency-using-externalproject-add/5884/1 "2022-06-17T13:37:47Z")

</div>

The CMake command below downloads CGAL from github: [Release CGAL-5.4.1 · CGAL/cgal · GitHub](https://github.com/CGAL/cgal/releases/tag/v5.4.1)

It downloads the source files but it does not download **GMP and MPFR libraries, for Windows 64bits** as is seen in release structure.

**Question** How you would include these two compiled libraries as part of this command?

```auto
ExternalProject_Add(cgal
  GIT_REPOSITORY https://github.com/CGAL/cgal.git
  GIT_TAG v5.4.1
  CMAKE_ARGS
    -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
)

```

---

<div class="post-metadata">

**Author:** ![fenrir](https://discourse.cmake.org/user_avatar/discourse.cmake.org/fenrir/32/734_2.png) [@fenrir](https://discourse.cmake.org/u/fenrir)\
**Post date:** [June 17, 2022, 2:13pm UTC](https://discourse.cmake.org/t/cgal-and-its-key-dependency-using-externalproject-add/5884/2 "2022-06-17T14:13:22Z")

</div>

I’d probably use another `ExternalProject_Add` (or, maybe `FetchContent`?) to download those and set up dependency between those two.

---

<div class="post-metadata">

**Author:** ![petrasvestartas](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/p/eb9ed0/32.png) [@petrasvestartas](https://discourse.cmake.org/u/petrasvestartas)\
**Post date:** [June 17, 2022, 2:29pm UTC](https://discourse.cmake.org/t/cgal-and-its-key-dependency-using-externalproject-add/5884/3 "2022-06-17T14:29:57Z")

</div>

This does the job:

```auto
ExternalProject_Add(cgal_dependencies

  URL https://github.com/CGAL/cgal/releases/download/v5.4.1/CGAL-5.4.1-win64-auxiliary-libraries-gmp-mpfr.zip

  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND ""
)

```
