# What's new with respect to External\_Project build systems?

**URL:** https://discourse.cmake.org/t/whats-new-with-respect-to-external-project-build-systems/2052
**Category:** Usage
**Created:** [October 23, 2020, 5:06pm UTC](https://discourse.cmake.org/t/whats-new-with-respect-to-external-project-build-systems/2052 "2020-10-23T17:06:09Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![KentWilliams](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/k/c4cdca/32.png) [@KentWilliams](https://discourse.cmake.org/u/KentWilliams)
#### Post date: [October 23, 2020, 5:06pm UTC](https://discourse.cmake.org/t/whats-new-with-respect-to-external-project-build-systems/2052/1 "2020-10-23T17:06:09Z")

</div>

4 years ago I converted the program I work on to use External\_Project to build prerequisites for the main code.

It uses the “SuperBuild then Build” pattern where all the prerequisites are built out of one main CMakeLists.txt, which then calls a sub-build for the application proper.

I haven’t been following the latest features in CMake that might make this process more streamlined and intuitive. So my question is what are these features and are there good examples of how to put them to use?

Thanks!

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [November 25, 2020, 12:24am UTC](https://discourse.cmake.org/t/whats-new-with-respect-to-external-project-build-systems/2052/2 "2020-11-25T00:24:50Z")

</div>

I don’t think there’s been any advancements to make that better. I think @craig.scott might have input on it though.

---

<div class="post-metadata">

### Author: ![craig.scott](https://discourse.cmake.org/user_avatar/discourse.cmake.org/craig.scott/32/20_2.png) [@craig.scott](https://discourse.cmake.org/u/craig.scott)
#### Post date: [November 25, 2020, 10:59pm UTC](https://discourse.cmake.org/t/whats-new-with-respect-to-external-project-build-systems/2052/3 "2020-11-25T22:59:46Z")

</div>

In general, you should be able to scan through the release notes of each CMake release and any new user-facing features will be mentioned there. The easiest way is probably to go to the documentation page, enter `ExternalProject` in the search box in the left sidebar and then take a look at each search result that is for a release notes page (searching for `ExternalProject` again in each of those pages quickly takes you to the relevant items, which are typically all grouped together). I did that just now and you can quickly find the changes, so I’ll leave that for you to go through.
