summaryrefslogtreecommitdiff
path: root/share/cmake-3.22/Modules/UseSWIG/ManageSupportFiles.cmake
blob: 6618fd512220367e93474ca9a349cef7ba808f4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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_RECURSE files LIST_DIRECTORIES TRUE 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 TRUE "${SUPPORT_FILES_WORKING_DIRECTORY}/*")

  if (files)
    # copy files to the output directory
    file (COPY ${files} DESTINATION "${SUPPORT_FILES_OUTPUT_DIRECTORY}")
  endif()
endif()