| include(FetchContent) |
| |
| set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/PackageFindModules) |
| set(FETCHCONTENT_TRY_FIND_PACKAGE_MODE ALWAYS) |
| |
| set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL TRUE) |
| FetchContent_Declare( |
| GlobalWithArgsKeyword |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| FIND_PACKAGE_ARGS |
| ) |
| FetchContent_Declare( |
| GlobalWithoutArgsKeyword |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| ) |
| |
| set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL FALSE) |
| FetchContent_Declare( |
| LocalWithArgsKeyword |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| FIND_PACKAGE_ARGS |
| ) |
| FetchContent_Declare( |
| LocalWithoutArgsKeyword |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| ) |
| FetchContent_Declare( |
| EventuallyGlobal |
| SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded |
| ) |
| |
| add_subdirectory(ChildScope) |
| |
| if(NOT TARGET GlobalWithArgsKeywordExe) |
| message(SEND_ERROR "GlobalWithArgsKeywordExe is not a global target") |
| endif() |
| if(NOT TARGET GlobalWithoutArgsKeywordExe) |
| message(SEND_ERROR "GlobalWithoutArgsKeywordExe is not a global target") |
| endif() |
| |
| if(TARGET LocalWithArgsKeywordExe) |
| message(SEND_ERROR "LocalWithArgsKeywordExe is unexpectedly a global target") |
| endif() |
| if(TARGET LocalWithoutArgsKeywordExe) |
| message(SEND_ERROR "LocalWithoutArgsKeywordExe is unexpectedly a global target") |
| endif() |
| |
| if(NOT TARGET EventuallyGlobalExe) |
| message(SEND_ERROR "EventuallyGlobalExe is not a global target") |
| endif() |