# How to defer to to package's config file when it exists

**URL:** https://discourse.cmake.org/t/how-to-defer-to-to-packages-config-file-when-it-exists/1154
**Category:** Code
**Created:** [May 6, 2020, 4:16pm UTC](https://discourse.cmake.org/t/how-to-defer-to-to-packages-config-file-when-it-exists/1154 "2020-05-06T16:16:58Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![AndrewGaspar](https://discourse.cmake.org/user_avatar/discourse.cmake.org/andrewgaspar/32/137_2.png) [@AndrewGaspar](https://discourse.cmake.org/u/AndrewGaspar)
#### Post date: [May 6, 2020, 4:16pm UTC](https://discourse.cmake.org/t/how-to-defer-to-to-packages-config-file-when-it-exists/1154/1 "2020-05-06T16:16:58Z")

</div>

I have a dependency that now installs a `FooConfig.cmake` package configuration, but previously I had to provide my own `FindFoo.cmake` file to find the dependency. I’d like to support older versions of the dependency, too. How can I use my `FindFoo.cmake` for older versions of the dependency, but use the installed `FooConfig.cmake` for newer versions?

---

<div class="post-metadata">

### Author: ![kyle.edwards](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/k/65b543/32.png) [@kyle.edwards](https://discourse.cmake.org/u/kyle.edwards)
#### Post date: [May 6, 2020, 4:58pm UTC](https://discourse.cmake.org/t/how-to-defer-to-to-packages-config-file-when-it-exists/1154/2 "2020-05-06T16:58:28Z")

</div>

This is a common pattern in CMake’s own find-modules. See [`FindCURL.cmake`](https://gitlab.kitware.com/cmake/cmake/-/blob/v3.17.2/Modules/FindCURL.cmake) for an example of how we do it.
