aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/cmake/CopyFilesGlob.cmake
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2022-06-27 03:08:59 -0700
committerJustin M. Keyes <justinkz@gmail.com>2022-06-28 04:02:29 -0700
commitf05a2891d3da9f9fcd9c7457ca0c2a54ff65078b (patch)
treede382ef0008871d7e7a41b29172b41bd97a39e05 /cmake.deps/cmake/CopyFilesGlob.cmake
parent9ddb481d88d3926111e83d512921ebe98bb426ae (diff)
downloadrneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.tar.gz
rneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.tar.bz2
rneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.zip
build: rename build-related dirs
Problem: Dirs "config", "packaging", and "third-party" are all closely related but this is not obvious from the layout. This adds friction for new contributors. Solution: - rename config/ to cmake.config/ - rename test/config/ to test/cmakeconfig/ because it is used in Lua tests: require('test.cmakeconfig.paths'). - rename packaging/ to cmake.packaging/ - rename third-party/ to cmake.deps/ (parallel with .deps/)
Diffstat (limited to 'cmake.deps/cmake/CopyFilesGlob.cmake')
-rw-r--r--cmake.deps/cmake/CopyFilesGlob.cmake20
1 files changed, 20 insertions, 0 deletions
diff --git a/cmake.deps/cmake/CopyFilesGlob.cmake b/cmake.deps/cmake/CopyFilesGlob.cmake
new file mode 100644
index 0000000000..8950ead1e5
--- /dev/null
+++ b/cmake.deps/cmake/CopyFilesGlob.cmake
@@ -0,0 +1,20 @@
+# Copy multiple files to destination, based on a glob expression
+# - FROM_GLOB
+# - TO
+
+if(NOT FROM_GLOB)
+ message(FATAL_ERROR "FROM_GLOB must be set")
+endif()
+if(NOT TO)
+ message(FATAL_ERROR "TO must be set")
+endif()
+
+execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TO})
+
+file(GLOB files ${FROM_GLOB})
+foreach(file ${files})
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${file} ${TO} RESULT_VARIABLE rv)
+ if(NOT rv EQUAL 0)
+ message(FATAL_ERROR "Error copying ${file}")
+ endif()
+endforeach()