INCLUDE(CopyResources)

# Folders to install
FILE(GLOB_RECURSE CPT_CITY_QGIS_MIN_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} cpt-city-qgis-min/*)
FILE(GLOB_RECURSE THEMES_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} themes/*)
FILE(GLOB_RECURSE DATA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} data/*)
FILE(GLOB_RECURSE METADATA_ISO_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} metadata-ISO/*)
FILE(GLOB_RECURSE PALETTES_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} palettes/*)

# Individual files to install (for srs.db, see below)
SET(RESOURCES_FILES
  qgis.db
  symbology-style.xml
  spatialite.db
  customization.xml
  2to3migration.txt
  qgis_global_settings.ini
  ${CPT_CITY_QGIS_MIN_FILES}
  ${THEMES_FILES}
  ${DATA_FILES}
  ${METADATA_ISO_FILES}
  ${PALETTES_FILES}
)

# OpenCL, also install opencl_programs
IF (HAVE_OPENCL)
  FILE(GLOB_RECURSE OPENCL_PROGRAMS_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} opencl_programs/*)
  SET(RESOURCES_FILES ${RESOURCES_FILES} ${OPENCL_PROGRAMS_FILES})
ENDIF (HAVE_OPENCL)

# Server, also install server subdirectory
IF (WITH_SERVER)
  FILE(GLOB_RECURSE SERVER_RESOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} server/*)
  SET(RESOURCES_FILES ${RESOURCES_FILES} ${SERVER_RESOURCE_FILES})
ENDIF (WITH_SERVER)

# Apple specific handling
IF (APPLE)
  # ASN.1 definition files of PKIX elements
  SET(RESOURCES_FILES ${RESOURCES_FILES} pkcs8.asn)
ENDIF (APPLE)

ADD_QGIS_RESOURCES("${CMAKE_CURRENT_SOURCE_DIR}" resources DEST_RESOURCE_FILES "${RESOURCES_FILES}")

# srs.db -- special handling because there is a switch and rename depending on proj version
IF (PROJ_VERSION_MAJOR GREATER 5)
  MESSAGE(STATUS "Using PROJ >= 6 srs database.")
  SET(SRSDB srs6.db)
ELSE (PROJ_VERSION_MAJOR GREATER 5)
  MESSAGE(STATUS "Using PROJ <6 srs database.")
  SET(SRSDB srs.db)
ENDIF (PROJ_VERSION_MAJOR GREATER 5)

ADD_CUSTOM_COMMAND(
  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/srs.db"
  COMMAND ${CMAKE_COMMAND} -E copy
    "${CMAKE_CURRENT_SOURCE_DIR}/${SRSDB}"
    "${CMAKE_CURRENT_BINARY_DIR}/srs.db"
  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${SRSDB}"
)
LIST(APPEND DEST_RESOURCE_FILES
  "${CMAKE_CURRENT_BINARY_DIR}/srs.db")
INSTALL(FILES ${SRSDB} DESTINATION ${QGIS_DATA_DIR}/resources RENAME srs.db)

ADD_CUSTOM_TARGET(resources ALL DEPENDS ${DEST_RESOURCE_FILES})
