X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=55f472dcd11190903c5810197b0c46c9337a6906;hb=f20d696bfe7c4dbd38e91e0d3152a7b122bf2f04;hp=512fb92655a77a895880aa3498fede4ae39e5a50;hpb=02338ae1dfb94bb74eb62d7f126c74824a90d524;p=tools%2Fdocumentation.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 512fb92..55f472d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2016 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,31 +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 8) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 0) -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 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}\"") -# 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) @@ -48,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)