cmake_minimum_required(VERSION 3.20)
project(rrmlui LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release)
endif()

find_package(raylib REQUIRED)
find_package(RmlUi REQUIRED)

add_library(rmlui_backend STATIC
  src/backend/RaylibSystemInterface.cpp
  src/backend/RaylibRenderInterface.cpp
  src/backend/RaylibInput.cpp
)

add_executable(${PROJECT_NAME}
  src/main.cpp
)

target_link_libraries(${PROJECT_NAME} PRIVATE
  raylib
  rmlui_backend
  RmlUi::Core
  RmlUi::Debugger
)

target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src)

set(ASSET_DIR ${CMAKE_SOURCE_DIR}/assets)

install(TARGETS ${PROJECT_NAME} DESTINATION bin)
install(DIRECTORY ${ASSET_DIR} DESTINATION bin)

target_compile_definitions(${PROJECT_NAME} PRIVATE
    ASSETS_DIR="${CMAKE_SOURCE_DIR}/bin/assets"
)
