summaryrefslogtreecommitdiff
path: root/Modules/UseSWIG
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2018-10-27 16:49:17 +0200
committerMarc Chevrier <marc.chevrier@gmail.com>2018-10-29 16:39:03 +0100
commitbb57cb80eb7d9ab779d19112f2da65c60bd37f39 (patch)
tree9a18456528d98d11abfa2091260d23061494d34b /Modules/UseSWIG
parentc780f5eea70f9b609e17adf5f192e024d1dd46b5 (diff)
downloadcmake-bb57cb80eb7d9ab779d19112f2da65c60bd37f39.tar.gz
UseSWIG: multiple input files must be supported in version 2
Fixes: #18506
Diffstat (limited to 'Modules/UseSWIG')
-rw-r--r--Modules/UseSWIG/ManageSupportFiles.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/Modules/UseSWIG/ManageSupportFiles.cmake b/Modules/UseSWIG/ManageSupportFiles.cmake
new file mode 100644
index 0000000000..4a03900b7f
--- /dev/null
+++ b/Modules/UseSWIG/ManageSupportFiles.cmake
@@ -0,0 +1,31 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+
+if (ACTION STREQUAL "CLEAN")
+ # Collect current list of generated files
+ file (GLOB files LIST_DIRECTORIES FALSE RELATIVE "${SUPPORT_FILES_WORKING_DIRECTORY}" "${SUPPORT_FILES_WORKING_DIRECTORY}/*")
+
+ if (files)
+ # clean-up the output directory
+ ## compute full paths
+ list (TRANSFORM files PREPEND "${SUPPORT_FILES_OUTPUT_DIRECTORY}/")
+ ## remove generated files from the output directory
+ file (REMOVE ${files})
+
+ # clean-up working directory
+ file (REMOVE_RECURSE "${SUPPORT_FILES_WORKING_DIRECTORY}")
+ endif()
+
+ file (MAKE_DIRECTORY "${SUPPORT_FILES_WORKING_DIRECTORY}")
+endif()
+
+if (ACTION STREQUAL "COPY")
+ # Collect current list of generated files
+ file (GLOB files LIST_DIRECTORIES FALSE "${SUPPORT_FILES_WORKING_DIRECTORY}/*")
+
+ if (files)
+ # copy files to the output directory
+ file (COPY ${files} DESTINATION "${SUPPORT_FILES_OUTPUT_DIRECTORY}")
+ endif()
+endif()