# # Copyright (C) 2015-2018 Virgil Security Inc. # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # (1) Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # (2) Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # # (3) Neither the name of the copyright holder nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # Lead Maintainer: Virgil Security Inc. # # # This module can be used as part of the build process to copy files from given directory and all it's subdirectories # to the single destination directory. # # @example: # add_custom_command (TARGET ${tgt} POST_BUILD # COMMAND ${CMAKE_COMMAND} # ARGS # -DSRC_DIR:PATH=${PATH_TO_SOURCE_DIR} # -DDST_DIR:PATH=${PATH_TO_SOURCE_DESTINATION_DIR} # -DGLOBBING_EXPRESSION:STRING="*.cxx" # -P "${FULL_PATH_TO_THIS_FILE}" # ) # if (NOT SRC_DIR) message (FATAL_ERROR "Source directory is not defined. Please define variable SRC_DIR.") endif () if (NOT IS_DIRECTORY ${SRC_DIR}) message (FATAL_ERROR "Given source directory does not exists: " ${SRC_DIR}) endif () if (NOT DST_DIR) message (FATAL_ERROR "Destination directory is not defined. Please define variable DST_DIR.") endif () if (NOT GLOBBING_EXPRESSION) message (FATAL_ERROR "Globbing expression is not defined. " "Please define variable GLOBBING_EXPRESSION to be used as template for coping process.") endif () file (GLOB_RECURSE sources ${SRC_DIR} ${GLOBBING_EXPRESSION}) file (COPY ${sources} DESTINATION ${DST_DIR})