include(FetchContent) add_subdirectory(glm) add_subdirectory(yajl) if(UNITTESTS) add_subdirectory(gtest) endif() if (APPLE OR WIN32 OR EMSCRIPTEN) FetchContent_Declare( lua GIT_REPOSITORY "https://github.com/marovira/lua" GIT_TAG 5.4.4 ) FetchContent_MakeAvailable(lua) FetchContent_Declare( sqlite3 GIT_REPOSITORY https://github.com/sjinks/sqlite3-cmake GIT_TAG v3.45.1 ) FetchContent_MakeAvailable(sqlite3) if (NOT EMSCRIPTEN) FetchContent_Declare( SDL2 GIT_REPOSITORY https://github.com/libsdl-org/SDL.git GIT_TAG release-2.32.0 ) set(SDL_CMAKE_DEBUG_POSTFIX "") set(SDL2_DISABLE_INSTALL ON) set(SDL2_DISABLE_UNINSTALL ON) set(SDL_FORCE_STATIC_VCRT ON) set(SDL_STATIC_ENABLED_BY_DEFAULT OFF) set(SDL_TEST_ENABLED_BY_DEFAULT OFF) set(BUILD_SHARED_LIBS OFF) FetchContent_MakeAvailable(SDL2) add_library(SDL2::SDL2 ALIAS SDL2-static) FetchContent_Declare( SDL2_mixer GIT_REPOSITORY https://github.com/libsdl-org/SDL_mixer.git GIT_TAG release-2.8.1 GIT_SUBMODULES_RECURSE ON ) set(BUILD_SHARED_LIBS OFF) set(SDL2MIXER_FLAC OFF) set(SDL2MIXER_GME OFF) set(SDL2MIXER_CMD OFF) set(SDL2MIXER_MOD OFF) set(SDL2MIXER_MIDI OFF) set(SDL2MIXER_MP3 OFF) set(SDL2MIXER_WAVPACK OFF) set(SDL2MIXER_OPUS OFF) FetchContent_MakeAvailable(SDL2_mixer) FetchContent_Declare( SDL2_image GIT_REPOSITORY https://github.com/libsdl-org/SDL_image.git GIT_TAG release-2.8.5 GIT_SUBMODULES_RECURSE ON ) set(BUILD_SHARED_LIBS OFF) set(SDL2IMAGE_AVIF OFF) set(SDL2IMAGE_BMP OFF) set(SDL2IMAGE_GIF OFF) set(SDL2IMAGE_JPG OFF) set(SDL2IMAGE_JXL OFF) set(SDL2IMAGE_LBM OFF) set(SDL2IMAGE_PCX OFF) set(SDL2IMAGE_PNM OFF) set(SDL2IMAGE_QOI OFF) set(SDL2IMAGE_SVG OFF) set(SDL2IMAGE_TGA OFF) set(SDL2IMAGE_TIF OFF) set(SDL2IMAGE_WEBP OFF) set(SDL2IMAGE_XCF OFF) set(SDL2IMAGE_XV OFF) FetchContent_MakeAvailable(SDL2_image) FetchContent_Declare( SDL2_net GIT_REPOSITORY https://github.com/libsdl-org/SDL_net.git GIT_TAG release-2.2.0 ) set(BUILD_SHARED_LIBS OFF) FetchContent_MakeAvailable(SDL2_net) endif() FetchContent_Declare( box2d GIT_REPOSITORY https://github.com/erincatto/box2d.git GIT_TAG v2.4.2 ) set(BOX2D_BUILD_UNIT_TESTS OFF) set(BOX2D_BUILD_TESTBED OFF) set(BOX2D_BUILD_DOCS OFF) set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) FetchContent_MakeAvailable(box2d) else() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CP_CMAKE_DIR}) find_package(lua REQUIRED) add_library(lua::lua ALIAS lua) find_package(sqlite3 REQUIRED) add_library(SQLite::SQLite3 ALIAS sqlite3) find_package(sdl2 REQUIRED) add_library(SDL2::SDL2 ALIAS sdl2) find_package(SDL2_mixer REQUIRED) find_package(SDL2_image REQUIRED) find_package(SDL2_net REQUIRED) find_package(box2d REQUIRED) endif() add_subdirectory(imgui)