diff --git a/cmake/CopyModAssets.cmake b/cmake/CopyModAssets.cmake
new file mode 100644
index 0000000000..ca16da6018
--- /dev/null
+++ b/cmake/CopyModAssets.cmake
@@ -0,0 +1,10 @@
+# Copies a mod asset directory for packaging, skipping dotfiles and dot-directories
+# (.gitkeep, .DS_Store, ...). Usage: cmake -DSRC=
-DDST= -P CopyModAssets.cmake
+file(MAKE_DIRECTORY "${DST}")
+file(GLOB_RECURSE _files RELATIVE "${SRC}" "${SRC}/*")
+foreach (_file IN LISTS _files)
+ if (NOT _file MATCHES "(^|/)\\.")
+ get_filename_component(_dir "${_file}" DIRECTORY)
+ file(COPY "${SRC}/${_file}" DESTINATION "${DST}/${_dir}")
+ endif ()
+endforeach ()