if(TARGET PkgConfig::SDL3)
  set(VERDANT_SDL_TARGET PkgConfig::SDL3)
elseif(TARGET SDL3::SDL3)
  set(VERDANT_SDL_TARGET SDL3::SDL3)
else()
  message(FATAL_ERROR "Verdant standalone requires an SDL3 target")
endif()

add_library(verdant_standalone_host STATIC
  standalone_host.cpp
)
set_target_properties(verdant_standalone_host PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(verdant_standalone_host PUBLIC
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}/../../core/include
)
target_link_libraries(verdant_standalone_host PUBLIC
  verdant_core
  ${VERDANT_SDL_TARGET}
  OpenGL::GL
)
target_compile_definitions(verdant_standalone_host PRIVATE
  VERDANT_SOURCE_ROOT="${GLDOZE_REPO_ROOT}"
)
if(COMMAND gldoze_apply_dev_warnings)
  gldoze_apply_dev_warnings(verdant_standalone_host)
endif()

add_executable(verdant_standalone
  main.cpp
)
target_include_directories(verdant_standalone PRIVATE
  ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(verdant_standalone PRIVATE
  verdant_app
  verdant_standalone_host
)
target_compile_definitions(verdant_standalone PRIVATE
  VERDANT_SOURCE_ROOT="${GLDOZE_REPO_ROOT}"
)
if(COMMAND gldoze_apply_dev_warnings)
  gldoze_apply_dev_warnings(verdant_standalone)
endif()
