--- /dev/null
+# ==============================================================================
+# SALOME_CREATE_SYMLINK macro creates symbolic link during installation step
+#
+# USAGE: SALOME_CREATE_SYMLINK(src_path link_path)
+#
+# ARGUMENTS:
+#
+# src_path Source path to the file or directory.
+# link_path Target symbolic link path.
+#
+# WARNING: Link is created only on those platforms which support this.
+#
+# ==============================================================================
+
+MACRO(SALOME_CREATE_SYMLINK src_path link_path)
+ INSTALL(CODE "
+ IF(EXISTS \"${src_path}\")
+ MESSAGE(STATUS \"Creating symbolic link \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${link_path}\")
+ GET_FILENAME_COMPONENT(_path \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${link_path}\" DIRECTORY)
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory
+ \"\${_path}\")
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink
+ \"${src_path}\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${link_path}\")
+ ENDIF()
+ ")
+ENDMACRO()
+
+# ==============================================================================
+# SALOME_INSTALL_MODULE_DOC macro creates symbolic link during installation step
+#
+# USAGE: SALOME_INSTALL_MODULE_DOC(src ... DESTINATION dest_dir [INDEX index_dir ...])
+#
+# ARGUMENTS:
+#
+# src Directory of file to install.
+# dest_dir Target directory.
+# index_dir Sub-directory(-ies) to put stub index file.
+#
+# ==============================================================================
+
+MACRO(SALOME_INSTALL_MODULE_DOC)
+ CMAKE_PARSE_ARGUMENTS(_SALOME_INSTALL_MODULE_DOC "" "DESTINATION" "INDEX" ${ARGN})
+ SET(_args ${_SALOME_INSTALL_MODULE_DOC_UNPARSED_ARGUMENTS})
+ IF(SALOME_INSTALL_MODULES_DOC)
+ FOREACH(_arg ${_args})
+ GET_FILENAME_COMPONENT(_arg_name ${_arg} NAME)
+ IF(EXISTS "${_arg}")
+ IF(NOT WIN32 AND SALOME_CREATE_SYMLINKS)
+ SALOME_CREATE_SYMLINK("${_arg}" "${_SALOME_INSTALL_MODULE_DOC_DESTINATION}/${_arg_name}")
+ ELSE()
+ IF(IS_DIRECTORY "${_arg}")
+ INSTALL(DIRECTORY "${_arg}"
+ DESTINATION "${_SALOME_INSTALL_MODULE_DOC_DESTINATION}")
+ ELSE()
+ INSTALL(FILES "${_arg}"
+ DESTINATION "${_SALOME_INSTALL_MODULE_DOC_DESTINATION}")
+ ENDIF()
+ ENDIF()
+ ELSE()
+ IF(_SALOME_INSTALL_MODULE_DOC_INDEX)
+ FOREACH(_index ${_SALOME_INSTALL_MODULE_DOC_INDEX})
+ SET(_install_dir "${_SALOME_INSTALL_MODULE_DOC_DESTINATION}/${_arg_name}/${_index}")
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/dummy_index.html DESTINATION "${_install_dir}" RENAME index.html)
+ ENDFOREACH()
+ ELSE()
+ SET(_install_dir "${_SALOME_INSTALL_MODULE_DOC_DESTINATION}/${_arg_name}")
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/dummy_index.html DESTINATION "${_install_dir}" RENAME index.html)
+ ENDIF()
+ ENDIF()
+ ENDFOREACH()
+ ENDIF()
+ UNSET(_args)
+ENDMACRO()