diff --git a/CMake/LofarMacros.cmake b/CMake/LofarMacros.cmake index e665906bcff3e4b94595387eeeed0cad23635f01..7995cc094c79f6ee0607e7df796869b1224f2767 100644 --- a/CMake/LofarMacros.cmake +++ b/CMake/LofarMacros.cmake @@ -8,6 +8,7 @@ # lofar_add_sbin_program(name) # lofar_add_sbin_scripts([name1 [name2 ..]]) # lofar_add_sysconf_files([name1 [name2 ..]]) +# lofar_add_data_files([name1 [name2 ..]]) # lofar_add_test(name) # lofar_create_target_symlink(target symlink) # lofar_join_arguments(var) @@ -196,6 +197,26 @@ if(NOT DEFINED LOFAR_MACROS_INCLUDED) endmacro(lofar_add_sysconf_files) + # -------------------------------------------------------------------------- + # lofar_add_data_files([name1 [name2 ..]]) + # + # Add system data files (architecture-independent data) that need to be + # installed into the <prefix>/share directory. Also create a symbolic link + # in <build-dir>/share to each of these files. The file names may contain + # a relative(!) path. + # -------------------------------------------------------------------------- + macro(lofar_add_data_files) + foreach(_name ${ARGN}) + get_filename_component(_path ${_name} PATH) + get_filename_component(_abs_name ${_name} ABSOLUTE) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/share/${_path}) + execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink + ${_abs_name} ${CMAKE_BINARY_DIR}/share/${_name}) + install(FILES ${_name} DESTINATION share/${_path}) + endforeach(_name ${ARGN}) + endmacro(lofar_add_data_files) + + # -------------------------------------------------------------------------- # lofar_add_test(name [source ...] [DEPENDS depend ...]) #