include(FetchContent) #=================== SDL2 =================== find_package(SDL2 QUIET) if (NOT ${SDL2_FOUND}) FetchContent_Declare( SDL2 GIT_REPOSITORY https://github.com/libsdl-org/SDL.git GIT_TAG release-2.32.10 ) message("SDL2 not found. Downloading now...") FetchContent_MakeAvailable(SDL2) message("SDL2 downloaded to " ${FETCHCONTENT_BASE_DIR}/sdl2-src) endif() #=================== nlohmann-json =================== find_package(nlohmann_json QUIET) if (NOT ${nlohmann_json_FOUND}) FetchContent_Declare( nlohmann_json GIT_REPOSITORY https://github.com/nlohmann/json.git GIT_TAG v3.12.0 OVERRIDE_FIND_PACKAGE ) FetchContent_MakeAvailable(nlohmann_json) endif() #=================== tinyxml2 =================== find_package(tinyxml2 QUIET) if (NOT ${tinyxml2_FOUND}) set(tinyxml2_BUILD_TESTING OFF) FetchContent_Declare( tinyxml2 GIT_REPOSITORY https://github.com/leethomason/tinyxml2.git GIT_TAG 11.0.0 OVERRIDE_FIND_PACKAGE ) FetchContent_MakeAvailable(tinyxml2) endif() #=================== spdlog =================== find_package(spdlog QUIET) if (NOT ${spdlog_FOUND}) FetchContent_Declare( spdlog GIT_REPOSITORY https://github.com/gabime/spdlog.git GIT_TAG v1.16.0 OVERRIDE_FIND_PACKAGE ) FetchContent_MakeAvailable(spdlog) endif() #=================== libzip =================== find_package(libzip QUIET) if (NOT ${libzip_FOUND}) set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) set(BUILD_TOOLS OFF) set(BUILD_REGRESS OFF) set(BUILD_EXAMPLES OFF) set(BUILD_DOC OFF) set(BUILD_OSSFUZZ OFF) set(BUILD_SHARED_LIBS OFF) FetchContent_Declare( libzip GIT_REPOSITORY https://github.com/nih-at/libzip.git GIT_TAG v1.11.4 OVERRIDE_FIND_PACKAGE ) FetchContent_MakeAvailable(libzip) list(APPEND ADDITIONAL_LIB_INCLUDES ${libzip_SOURCE_DIR}/lib ${libzip_BINARY_DIR}) endif() target_link_libraries(ImGui PUBLIC SDL2::SDL2)