cmake_minimum_required(VERSION 3.16)
project(titanic_engine CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE RelWithDebInfo)
endif()

find_package(SDL2 REQUIRED)

# Format library: everything that reads game data, no SDL dependency.
add_library(dfformats STATIC
  src/container.cpp
  src/frame.cpp
  src/palette.cpp
  src/stage.cpp
  src/sound.cpp
)
target_include_directories(dfformats PUBLIC src)
target_compile_options(dfformats PRIVATE -Wall -Wextra)

add_executable(titanic src/main.cpp)
target_link_libraries(titanic PRIVATE dfformats SDL2::SDL2)
target_compile_options(titanic PRIVATE -Wall -Wextra)
