-# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2022 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
-INCLUDE(CMakeDependentOption)
+# Project name
+# ============
+# original
PROJECT(SalomeDOCUMENTATION)
-
-# Versioning
-# ========
-# Project name, upper case
+# upper case
STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
-SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 4)
-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})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
+# Common CMake macros
+# ===================
+SET(CONFIGURATION_ROOT_DIR $ENV{CONFIGURATION_ROOT_DIR} CACHE PATH "Path to the Salome CMake configuration files")
+IF(EXISTS ${CONFIGURATION_ROOT_DIR})
+ LIST(APPEND CMAKE_MODULE_PATH "${CONFIGURATION_ROOT_DIR}/cmake")
+ INCLUDE(SalomeMacros NO_POLICY_SCOPE)
+ELSE()
+ MESSAGE(FATAL_ERROR "We absolutely need the Salome CMake configuration files, please define CONFIGURATION_ROOT_DIR !")
+ENDIF()
+
+# Versioning
+# ===========
+SALOME_SETUP_VERSION(9.9.0)
+MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"")
-# Our own set of macros:
-# ==================
-LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
+# Platform setup
+# ==============
+LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
INCLUDE(SalomeSetupPlatform)
-INCLUDE(SalomeMacros)
+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)
+CMAKE_DEPENDENT_OPTION(SALOME_RELATIVE_SYMLINKS "Make relative symlinks instead of absolute ones" OFF
+ "NOT WIN32;SALOME_INSTALL_MODULES_DOC;SALOME_CREATE_SYMLINKS" OFF)
# Find prerequisites needed to documentation generation
-# ==================================================
+# =====================================================
+FIND_PACKAGE(SalomePythonInterp)
+FIND_PACKAGE(SalomePythonLibs)
FIND_PACKAGE(SalomeDoxygen)
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)