set(GLDOZE_FPS_METER_APP_DIR "${CMAKE_BINARY_DIR}/apps/fps-meter")

add_library(gldoze_fps_meter MODULE fps_meter_plugin.cpp)
target_link_libraries(gldoze_fps_meter PRIVATE gldoze_sdk)
set_target_properties(gldoze_fps_meter PROPERTIES
  LIBRARY_OUTPUT_DIRECTORY "${GLDOZE_FPS_METER_APP_DIR}"
  PREFIX "lib"
  OUTPUT_NAME "gldoze_fps_meter"
  CXX_VISIBILITY_PRESET hidden
  VISIBILITY_INLINES_HIDDEN YES
)

file(MAKE_DIRECTORY "${GLDOZE_FPS_METER_APP_DIR}")
configure_file(app.json.in "${GLDOZE_FPS_METER_APP_DIR}/app.json" @ONLY)
configure_file("${GLDOZE_REPO_ROOT}/assets/desktop/icons/fps-meter.svg"
  "${GLDOZE_FPS_METER_APP_DIR}/icon.svg" COPYONLY)

install(TARGETS gldoze_fps_meter
  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/gldoze/apps/fps-meter"
  COMPONENT GLDozeDesktop)
install(FILES
  "${GLDOZE_FPS_METER_APP_DIR}/app.json"
  "${GLDOZE_FPS_METER_APP_DIR}/icon.svg"
  DESTINATION "${CMAKE_INSTALL_LIBDIR}/gldoze/apps/fps-meter"
  COMPONENT GLDozeDesktop)
