X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=55f472dcd11190903c5810197b0c46c9337a6906;hb=f20d696bfe7c4dbd38e91e0d3152a7b122bf2f04;hp=6bea81c217c92ca80a0c2f5b97f88ce8ccdca9f8;hpb=9e9e452633ff6dc1a3de74ceeadc8dbd6b6c8925;p=tools%2Fdocumentation.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bea81c..55f472d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2019 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 @@ -16,38 +16,49 @@ # # 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 9) -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 1) - # 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) + 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.10.0) +MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"") + +# 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) @@ -55,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)