From f9ac918ff077c674757a8779964a1f46274f0245 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 30 Apr 2015 13:10:59 -0700 Subject: [PATCH] add macro to copy directory beside target --- cmake/macros/CopyDirectoryBesideTarget.cmake | 36 ++++++++++++++++++++ domain-server/CMakeLists.txt | 4 +-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 cmake/macros/CopyDirectoryBesideTarget.cmake diff --git a/cmake/macros/CopyDirectoryBesideTarget.cmake b/cmake/macros/CopyDirectoryBesideTarget.cmake new file mode 100644 index 0000000000..2d20c7e192 --- /dev/null +++ b/cmake/macros/CopyDirectoryBesideTarget.cmake @@ -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}" + $/${_DESTINATION} + ) + else () + # remove the current directory + add_custom_command( + TARGET ${TARGET_NAME} POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E remove_directory $/${_DESTINATION} + ) + + # copy the directory + add_custom_command( + TARGET ${TARGET_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory ${_DIRECTORY} + $/${_DESTINATION} + ) + endif () + # glob everything in this directory - add a custom command to copy any files +endmacro(COPY_DIRECTORY_BESIDE_TARGET _SHOULD_SYMLINK _DIRECTORY) diff --git a/domain-server/CMakeLists.txt b/domain-server/CMakeLists.txt index c883cf6b6d..bac1640207 100644 --- a/domain-server/CMakeLists.txt +++ b/domain-server/CMakeLists.txt @@ -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")