File: CopyFiles.cmake

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (32 lines) | stat: -rw-r--r-- 1,095 bytes parent folder | download | duplicates (6)
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
32
# Script designed to be executed with 'cmake -P' that will copy a list of files
# to an output location. Accepts two -D arguments:
# - files_to_copy A list of files to copy
# - destination_directory The directory to copy the files into.

if( NOT files_to_copy )
  message( FATAL_ERROR "This script requires the variable 'files_to_copy' to be set" )
endif()

if( NOT destination_directory )
  message( FATAL_ERROR "This script requires the variable 'destination_directory' to be set" )
endif()

# Make sure the destination directory exists before we try the copy operation.
if( EXISTS ${destination_directory} )
  if( NOT IS_DIRECTORY ${destination_directory} )
    message( FATAL_ERROR
      "${destination_directory} exists but is not a directory." )
  endif()
else()
  file( MAKE_DIRECTORY ${destination_directory} )
endif()

list( LENGTH files_to_copy number_of_files )

message( STATUS "Copying ${number_of_files} files to ${destination_directory}" )

foreach( file ${files_to_copy} )
  execute_process(
    COMMAND ${CMAKE_COMMAND} -E copy ${file} ${destination_directory}
  )
endforeach()