add macro to copy directory beside target

This commit is contained in:
Stephen Birarda 2015-04-30 13:10:59 -07:00
parent 38ae3afc82
commit f9ac918ff0
2 changed files with 38 additions and 2 deletions

View file

@ -0,0 +1,36 @@
#
# CopyDirectoryBesideTarget.cmake
# cmake/macros
#
# Created by Stephen Birarda on 04/30/15.
# Copyright 2015 High Fidelity, Inc.
#
# Distributed under the Apache License, Version 2.0.
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#
macro(COPY_DIRECTORY_BESIDE_TARGET _SHOULD_SYMLINK _DIRECTORY _DESTINATION)
if (${_SHOULD_SYMLINK})
# the caller wants a symlink, so just add a command to symlink the DIR beside target
add_custom_command(
TARGET ${TARGET_NAME} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E create_symlink
"${_DIRECTORY}"
$<TARGET_FILE_DIR:${TARGET_NAME}>/${_DESTINATION}
)
else ()
# remove the current directory
add_custom_command(
TARGET ${TARGET_NAME} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E remove_directory $<TARGET_FILE_DIR:${TARGET_NAME}>/${_DESTINATION}
)
# copy the directory
add_custom_command(
TARGET ${TARGET_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${_DIRECTORY}
$<TARGET_FILE_DIR:${TARGET_NAME}>/${_DESTINATION}
)
endif ()
# glob everything in this directory - add a custom command to copy any files
endmacro(COPY_DIRECTORY_BESIDE_TARGET _SHOULD_SYMLINK _DIRECTORY)

View file

@ -4,9 +4,9 @@ set(TARGET_NAME domain-server)
setup_hifi_project(Network)
if (UPPER_CMAKE_BUILD_TYPE MATCHES DEBUG AND NOT WIN32)
set(SHOULD_SYMLINK_RESOURCES FALSE)
set(SHOULD_SYMLINK_RESOURCES TRUE)
else ()
set(SHOULD_SYMLINK_RESOURCES FALSE)
set(SHOULD_SYMLINK_RESOURCES TRUE)
endif ()
copy_directory_beside_target(${SHOULD_SYMLINK_RESOURCES} "${CMAKE_CURRENT_SOURCE_DIR}/resources" "resources")