Mercurial > molko
view cmake/MolkoLinkData.cmake @ 259:16be1ad3ddba
adventure: start working on maps and teleport
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 06 Dec 2020 11:22:03 +0100 |
parents | |
children |
line wrap: on
line source
# # MolkoBuildTranslations.cmake -- CMake build system for molko # # Copyright (c) 2020 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # macro(molko_link_data target inputs outputs) set(${outputs}) foreach (f ${inputs}) file(RELATIVE_PATH basename ${CMAKE_CURRENT_SOURCE_DIR} ${f}) get_filename_component(basedir ${basename} DIRECTORY) if (NOT IS_ABSOLUTE ${CMAKE_INSTALL_DATADIR}) set(link ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_INSTALL_DATADIR}/${target}/${basename}) get_filename_component(outputdir ${link} DIRECTORY) add_custom_command( OUTPUT ${link} VERBATIM COMMENT "Linking data ${link}" COMMAND ${CMAKE_COMMAND} -E make_directory ${outputdir} COMMAND ${CMAKE_COMMAND} -E create_symlink ${f} ${link} ) list(APPEND ${outputs} ${link}) endif () install( FILES ${f} DESTINATION ${CMAKE_INSTALL_DATADIR}/${target}/${basedir} ) endforeach () endmacro ()