panda3d/cmake/scripts/CopyPattern.cmake
2019-06-27 17:38:18 -06:00

28 lines
897 B
CMake

# Filename: CopyPattern.cmake
#
# Description: This is a standalone version of CMake's file(COPY) command so we
# can use all of its features during build-time instead of
# config-time.
#
# Usage:
# This script is invoked via add_custom_target, like this:
# cmake -D SOURCE=[source directory]
# -D DESTINATION=[destination directory]
# -D FILES_MATCHING="[globbing patterns passed to file(COPY)]"
# -P CopyPattern.cmake
if(NOT DEFINED SOURCE OR NOT DEFINED DESTINATION)
message(SEND_ERROR "CopyPattern.cmake requires SOURCE and DESTINATION to be
defined.")
endif()
if(DEFINED FILES_MATCHING)
separate_arguments(FILES_MATCHING UNIX_COMMAND ${FILES_MATCHING})
file(COPY "${SOURCE}"
DESTINATION "${DESTINATION}"
FILES_MATCHING ${FILES_MATCHING})
else()
file(COPY "${SOURCE}"
DESTINATION "${DESTINATION}")
endif()