include(FetchContent) FetchContent_Declare( WithProject SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/WithProject ) FetchContent_Declare( WithoutProject SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/WithoutProject ) FetchContent_Declare( ProjectSubdir SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/WithoutProject SOURCE_SUBDIR ProjectSubdir ) # Order is important and will be verified by test output FetchContent_MakeAvailable(WithProject WithoutProject ProjectSubdir) get_property(addedWith GLOBAL PROPERTY FetchWithProject SET) if(NOT addedWith) message(SEND_ERROR "Project with top level CMakeLists.txt not added") endif() get_property(addedSubdir GLOBAL PROPERTY FetchWithSubProject SET) if(NOT addedSubdir) message(SEND_ERROR "Project with CMakeLists.txt in subdir not added") endif() include(${withoutproject_SOURCE_DIR}/confirmMessage.cmake)