# Best way to find\_package for subproject?

**URL:** https://discourse.cmake.org/t/best-way-to-find-package-for-subproject/4320
**Category:** Code
**Created:** [October 22, 2021, 2:55pm UTC](https://discourse.cmake.org/t/best-way-to-find-package-for-subproject/4320 "2021-10-22T14:55:51Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Ronald](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/r/ea666f/32.png) [@Ronald](https://discourse.cmake.org/u/Ronald)
#### Post date: [October 22, 2021, 2:55pm UTC](https://discourse.cmake.org/t/best-way-to-find-package-for-subproject/4320/1 "2021-10-22T14:55:51Z")

</div>

### Project Hierarchy

- Main CMakeLists.txt
  - App CMakeLists.txt
  - LibA CMakeLists.txt

### Details

Main CMakeLists.txt

```cmake
...
add_subdirectory(LibA)
add_subdirectory(App)
...

```

App CMakeLists.txt

```cmake
...
find_package(LibA REQUIRED)
...

```

### Problem

`find_package(LibA REQUIRED)` in App CMakeLists.txt doesn’t always succeed, cases:

- As a Visual Studio 2019 cmake proejct it works
- As a Qt Creator project it fails
- When configure and generate with cmake-gui it fails

### Question

I’m using Qt Creator now, what’s the best way for `find_package` to work?

Here is a workaround but not good enough: [https://stackoverflow.com/questions/8260459/cmake-find-package-dependency-on-subproject](https://stackoverflow.com/questions/8260459/cmake-find-package-dependency-on-subproject)

I think there is no universal way:

- For a lib with add\_subdirectory, `target_link` is enough.
- For an external lib, an additional `find_package` is needed.

Right?

---

<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: [October 23, 2021, 11:54pm UTC](https://discourse.cmake.org/t/best-way-to-find-package-for-subproject/4320/2 "2021-10-23T23:54:30Z")

</div>

I think you want [`FetchContent`](https://cmake.org/cmake/help/latest/module/FetchContent.html). @craig.scott has resources on its usage in practice (that I should really note down so I don’t keep pinging him for these).

---

<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: [October 24, 2021, 1:11am UTC](https://discourse.cmake.org/t/best-way-to-find-package-for-subproject/4320/3 "2021-10-24T01:11:56Z")

</div>

> [@ben.boeckel](#):
>
> @craig.scott has resources on its usage in practice

The FetchContent module documentation is also where I direct people to for such queries.
