You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
2 years ago
|
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()
|