Salome HOME
Merge branch 'V9_7_BR'
[tools/documentation.git] / CMakeLists.txt
index ca90d83fe6ccdd30c5d5ae552db6f8a85f46f9a6..0472810a575c26a7413c2369b7d79b8bc3dc6c36 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
-INCLUDE(CMakeDependentOption)
 
 PROJECT(SalomeDOCUMENTATION)
 
 # Versioning
-# ========
+# ==========
 # Project name, upper case
 STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
 
 SET(${PROJECT_NAME_UC}_MAJOR_VERSION 9)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 6)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 7)
 SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
 SET(${PROJECT_NAME_UC}_VERSION
   ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
@@ -43,10 +43,22 @@ ELSE()
   MESSAGE(FATAL_ERROR "We absolutely need the Salome CMake configuration files, please define CONFIGURATION_ROOT_DIR !")
 ENDIF()
 
+# Platform setup
+# ==============
+LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 INCLUDE(SalomeSetupPlatform)
+INCLUDE(SalomeDocumentationMacros)
+INCLUDE(DocumentationMacros)
+
+# User options
+# ============
+INCLUDE(CMakeDependentOption)
+OPTION(SALOME_INSTALL_MODULES_DOC "Install documentation of SALOME modules" OFF)
+CMAKE_DEPENDENT_OPTION(SALOME_CREATE_SYMLINKS "Create symlinks instead of installing docs" OFF
+                       "NOT WIN32;SALOME_INSTALL_MODULES_DOC" OFF)
 
 # Find prerequisites needed to documentation generation
-# ==================================================
+# =====================================================
 FIND_PACKAGE(SalomePythonInterp)
 FIND_PACKAGE(SalomePythonLibs)
 FIND_PACKAGE(SalomeDoxygen)
@@ -54,29 +66,41 @@ FIND_PACKAGE(SalomeGraphviz)
 FIND_PACKAGE(SalomeSphinx)
 
 # Directories
-# =========
-SET(SALOME_INSTALL_DOC_GUI   gui   CACHE PATH "Install path: user documentation")
-SET(SALOME_INSTALL_DOC_TUI   tui   CACHE PATH "Install path: developer documentation")
-SET(SALOME_INSTALL_DOC_DEV   dev   CACHE PATH "Install path: additional developer documentation")
-SET(SALOME_INSTALL_DOC_EXTRA extra CACHE PATH "Install path: extra documentation")
+# ===========
+SET(SALOME_INSTALL_DOC share/doc/salome
+    CACHE PATH "Install path: SALOME documentation")
+SET(SALOME_INSTALL_DOC_MAIN ${SALOME_INSTALL_DOC}
+    CACHE PATH "Install path: main documentation")
+SET(SALOME_INSTALL_DOC_GUI ${SALOME_INSTALL_DOC}/gui
+    CACHE PATH "Install path: user documentation")
+SET(SALOME_INSTALL_DOC_TUI ${SALOME_INSTALL_DOC}/tui
+    CACHE PATH "Install path: developer documentation")
+SET(SALOME_INSTALL_DOC_DEV ${SALOME_INSTALL_DOC}/dev
+    CACHE PATH "Install path: additional developer documentation")
+SET(SALOME_INSTALL_DOC_EXAMPLES ${SALOME_INSTALL_DOC}/examples
+    CACHE PATH "Install path: examples")
+SET(SALOME_INSTALL_DOC_EXTRA ${SALOME_INSTALL_DOC}/extra
+    CACHE PATH "Install path: extra documentation")
 
 MARK_AS_ADVANCED(
- SALOME_INSTALL_DOC_GUI 
- SALOME_INSTALL_DOC_TUI
- SALOME_INSTALL_DOC_DEV
- SALOME_INSTALL_DOC_EXTRA
+  SALOME_INSTALL_DOC
+  SALOME_INSTALL_DOC_MAIN
+  SALOME_INSTALL_DOC_GUI 
+  SALOME_INSTALL_DOC_TUI
+  SALOME_INSTALL_DOC_DEV
+  SALOME_INSTALL_DOC_EXAMPLES
+  SALOME_INSTALL_DOC_EXTRA
 )
 
-# Sources 
-# =====
+# Sources
+# =======
+IF(SALOME_INSTALL_MODULES_DOC)
+  ADD_SUBDIRECTORY(main)
+ELSE()
+  ADD_SUBDIRECTORY(no_main)
+ENDIF()
 ADD_SUBDIRECTORY(tui)
 ADD_SUBDIRECTORY(gui)
-ADD_SUBDIRECTORY(extra)
+ADD_SUBDIRECTORY(examples)
 ADD_SUBDIRECTORY(dev)
-
-# Install rules
-# ==========
-FILE(GLOB COMMON_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.html")
-FILE(GLOB COMMON_PNG_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
-
-INSTALL(FILES ${COMMON_HTML_FILES} ${COMMON_PNG_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX})
+ADD_SUBDIRECTORY(extra)