]> granicus.if.org Git - icinga2/blob - cmake/InstallConfig.cmake
Update INSTALL file.
[icinga2] / cmake / InstallConfig.cmake
1 function(install_if_not_exists src dest)
2   set(real_dest "${dest}")
3   if(NOT IS_ABSOLUTE "${src}")
4     set(src "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
5   endif()
6   get_filename_component(src_name "${src}" NAME)
7   if (NOT IS_ABSOLUTE "${dest}")
8     set(dest "${CMAKE_INSTALL_PREFIX}/${dest}")
9   endif()
10   get_filename_component(basename_dest "${src}" NAME)
11   string(REPLACE "/" "\\\\" nsis_src "${src}")
12   string(REPLACE "/" "\\\\" nsis_dest_dir "${real_dest}")
13   string(REPLACE "/" "\\\\" nsis_dest "${real_dest}/${basename_dest}")
14   set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
15     SetOverwrite off
16     CreateDirectory '$INSTDIR\\\\${nsis_dest_dir}'
17     File '/oname=${nsis_dest}' '${nsis_src}'
18     SetOverwrite on
19   " PARENT_SCOPE)
20   install(CODE "
21     if(NOT EXISTS \"\$ENV{DESTDIR}${dest}/${src_name}\")
22       #file(INSTALL \"${src}\" DESTINATION \"${dest}\")
23       message(STATUS \"Installing: \$ENV{DESTDIR}${dest}/${src_name}\")
24       execute_process(COMMAND \${CMAKE_COMMAND} -E copy \"${src}\"
25                       \"\$ENV{DESTDIR}${dest}/${src_name}\"
26                       RESULT_VARIABLE copy_result
27                       ERROR_VARIABLE error_output)
28       if(copy_result)
29         message(FATAL_ERROR \${error_output})
30       endif()
31     else()
32       message(STATUS \"Skipping  : \$ENV{DESTDIR}${dest}/${src_name}\")
33     endif()
34   ")
35 endfunction(install_if_not_exists)