cmake_minimum_required(VERSION 3.25 FATAL_ERROR)

project(4JLibs LANGUAGES CXX)

add_library(4JLibs.Globals INTERFACE)

target_include_directories(4JLibs.Globals INTERFACE
    ${CMAKE_CURRENT_SOURCE_DIR}/inc
)

set(CMAKE_DEBUG_POSTFIX "_d")

# msvc specific flags
if(MSVC)
    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()

# --- SDL3 via FetchContent ----------------------------------------------------
# Static-only build, no tests, no install. SDL3 inherits CMAKE_MSVC_RUNTIME_LIBRARY
# (policy CMP0091 NEW), so it links the same /MT[d] CRT as 4JLibs and the host exe.
include(FetchContent)

set(SDL_SHARED        OFF CACHE BOOL "" FORCE)
set(SDL_STATIC        ON  CACHE BOOL "" FORCE)
set(SDL_TEST_LIBRARY  OFF CACHE BOOL "" FORCE)
set(SDL_TESTS         OFF CACHE BOOL "" FORCE)
set(SDL_INSTALL       OFF CACHE BOOL "" FORCE)
set(SDL_DISABLE_INSTALL ON CACHE BOOL "" FORCE)

FetchContent_Declare(
    SDL3
    GIT_REPOSITORY https://github.com/libsdl-org/SDL.git
    GIT_TAG        release-3.2.0
    GIT_SHALLOW    TRUE
)
FetchContent_MakeAvailable(SDL3)
# -----------------------------------------------------------------------------

if(WIN32)
    add_subdirectory(impls/Windows_Libs)
else()
    message(FATAL_ERROR "Unsupported platform.")
endif()
