From 3f07a2c060c5c6d53ca6c066f50ec91bcf04b52d Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 9 Feb 2022 19:43:48 +0100 Subject: Fixed some small issues where datafile builds would not trigger Some cases still remain but with the current setup they would be rather hard to fix, and they have simple workaround (make clean all). --- cmake/modules/AddDatafile.cmake | 10 ++++++++-- cmake/modules/AddDownloadableResource.cmake | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'cmake') diff --git a/cmake/modules/AddDatafile.cmake b/cmake/modules/AddDatafile.cmake index 6b5baf8..f68ad04 100644 --- a/cmake/modules/AddDatafile.cmake +++ b/cmake/modules/AddDatafile.cmake @@ -13,7 +13,7 @@ # # Optionally, RESOURCES can be used to specify binary resource targets from AddDownloadableResource that will provide # additional directories with files that will also get included in the final datafile. In case of conflicts, files from -# source tree will be used. +# source tree will be used. This is to allow working with binary assets located in source directory. # # To create the archive the Datafile.exe is used - for non-Windows platforms an emulator that can run it is required. @@ -61,9 +61,15 @@ function(add_datafile) $ $ -mak ) endforeach() + file( + GLOB_RECURSE DATAFILE_DEPENDENCIES + LIST_DIRECTORIES true + CONFIGURE_DEPENDS + "${DATAFILE_SOURCE}/*" + ) add_custom_command( OUTPUT ${DATAFILE_OUTPUT} APPEND - DEPENDS ${DATAFILE_SOURCE} + DEPENDS ${DATAFILE_DEPENDENCIES} COMMAND ${CMAKE_COMMAND} -E chdir ${DATAFILE_SOURCE} ${CMAKE_COMMAND} -E env "${DATAFILE_VAR}='${DATAFILE_PATHS}'" diff --git a/cmake/modules/AddDownloadableResource.cmake b/cmake/modules/AddDownloadableResource.cmake index d0374ad..9d00f58 100644 --- a/cmake/modules/AddDownloadableResource.cmake +++ b/cmake/modules/AddDownloadableResource.cmake @@ -69,7 +69,7 @@ function(add_downloadable_resource) ) add_custom_command( OUTPUT ${RESOURCE_DIRECTORY} - DEPENDS download_${RESOURCE_TARGET} + DEPENDS download_${RESOURCE_TARGET} ${RESOURCE_ARCHIVE} COMMENT "Unpacking ${RESOURCE_TARGET}" COMMAND ${CMAKE_COMMAND} -E make_directory ${RESOURCE_DIRECTORY} COMMAND -- cgit v1.1