install(CODE "
  function(_roboplan_patch_rpath file rpath)
    set(_patch_file \"\${file}\")
    if(IS_SYMLINK \"\${_patch_file}\")
      file(READ_SYMLINK \"\${_patch_file}\" _symlink_target)
      if(IS_ABSOLUTE \"\${_symlink_target}\")
        return()
      endif()
      get_filename_component(_symlink_dir \"\${_patch_file}\" DIRECTORY)
      set(_patch_file \"\${_symlink_dir}/\${_symlink_target}\")
    endif()

    if(EXISTS \"\${_patch_file}\")
      execute_process(
        COMMAND chmod u+w \"\${_patch_file}\"
        COMMAND_ERROR_IS_FATAL ANY
      )
      execute_process(
        COMMAND \"${ROBOPLAN_UNIFIED_PATCHELF}\" --set-rpath \"\${rpath}\" \"\${_patch_file}\"
        COMMAND_ERROR_IS_FATAL ANY
      )
    endif()
  endfunction()

  file(GLOB_RECURSE _roboplan_extensions \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/roboplan/*.so\")
  foreach(_file IN LISTS _roboplan_extensions)
    _roboplan_patch_rpath(\"\${_file}\" \"\\\$ORIGIN/../../lib:\\\$ORIGIN/../../cmeel.prefix/lib\")
  endforeach()

  file(GLOB _roboplan_libraries
    \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib/libfilters.so*\"
    \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib/libroboplan*.so*\"
  )
  foreach(_file IN LISTS _roboplan_libraries)
    _roboplan_patch_rpath(\"\${_file}\" \"\\\$ORIGIN:\\\$ORIGIN/../cmeel.prefix/lib\")
  endforeach()
")
