| include(FetchContent) |
| |
| set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR}/PackageConfigs) |
| set(FETCHCONTENT_TRY_FIND_PACKAGE_MODE OPT_IN) |
| |
| # With opt-in, should call find_package() |
| FetchContent_Declare( |
| FirstProject |
| # Ensure failure if we don't re-route to find_package() |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| FIND_PACKAGE_ARGS REQUIRED |
| ) |
| |
| # Without opt-in, shouldn't call find_package() |
| FetchContent_Declare( |
| SecondProject |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/AddedProject |
| ) |
| |
| FetchContent_MakeAvailable(FirstProject SecondProject) |