cmake_minimum_required(VERSION 3.10)
project(data_files)

include(${CMAKE_SOURCE_DIR}/cmake/safe_dep_glob.cmake)

# Dependencies
file(
  GLOB_RECURSE ${PROJECT_NAME}_Sources
  RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  files/*
)
update_deps_file("${${PROJECT_NAME}_Sources}")

# Outputs
list(
  TRANSFORM ${PROJECT_NAME}_Sources
  REPLACE "^files/" ""
  OUTPUT_VARIABLE ${PROJECT_NAME}_Sources_Out
)
list(
  TRANSFORM ${PROJECT_NAME}_Sources_Out
  REPLACE "\\.xz$" ""
)
list(
  TRANSFORM ${PROJECT_NAME}_Sources_Out
  PREPEND ${CMAKE_CURRENT_BINARY_DIR}/
)

set(copy_data_files_sh ${CMAKE_CURRENT_SOURCE_DIR}/copy_data_files.sh)
add_custom_command(
  OUTPUT ${${PROJECT_NAME}_Sources_Out}
  COMMAND /bin/bash ${copy_data_files_sh}
  ARGS ${CMAKE_CURRENT_SOURCE_DIR}/files ${CMAKE_CURRENT_BINARY_DIR}
  COMMENT "Copying data files"
  DEPENDS ${copy_data_files_sh} ${${PROJECT_NAME}_Sources}
)
add_custom_target(data_files_dir ALL DEPENDS ${${PROJECT_NAME}_Sources_Out})
