From: rnv Date: Wed, 6 Jun 2018 11:43:11 +0000 (+0300) Subject: Merge V9_dev branch into master X-Git-Tag: SHAPER_V9_1_0RC1~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e983ec0aa641f7f75ea93c355ba7adeb9b65595d;hp=0f4f6a7763f97ad6736c9396b7f2cae7aca64d5a;p=tools%2Fconfiguration.git Merge V9_dev branch into master --- diff --git a/cmake/FindGUI.cmake b/cmake/FindGUI.cmake index 55d2638..5b5b8a7 100644 --- a/cmake/FindGUI.cmake +++ b/cmake/FindGUI.cmake @@ -23,44 +23,51 @@ SET(GUI_CXXFLAGS -I${GUI_ROOT_DIR}/include/salome) +# idl +FIND_LIBRARY(SalomeIDLGUI SalomeIDLGUI ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeIDLPVServer SalomeIDLPVServer ${GUI_ROOT_DIR}/lib/salome) +# src FIND_LIBRARY(caf caf ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(CAM CAM ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(CASCatch CASCatch ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(DDS DDS ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(Event Event ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(GLViewer GLViewer ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(GraphicsView GraphicsView ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeGuiHelpers SalomeGuiHelpers ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(ImageComposer ImageComposer ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(LightApp LightApp ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(LogWindow LogWindow ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(ObjBrowser ObjBrowser ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeObject SalomeObject ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(OCCViewer OCCViewer ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(ObjBrowser ObjBrowser ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(OpenGLUtils OpenGLUtils ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PVServerService PVServerService ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PVServerServiceLoader PVServerServiceLoader ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PVViewer PVViewer ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(Plot2d Plot2d ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(PyConsole PyConsole ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(PyInterp PyInterp ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomePrs SalomePrs ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PyViewer PyViewer ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(QDS QDS ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(qtx qtx ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(QxScene QxScene ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeApp SalomeApp ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeIDLGUI SalomeIDLGUI ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeObject SalomeObject ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomePrs SalomePrs ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SalomePyQtGUILight SalomePyQtGUILight ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SalomePyQtGUI SalomePyQtGUI ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomePyQt SalomePyQt ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomePy SalomePy ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeSession SalomeSession ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeStyle SalomeStyle ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SOCC SOCC ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SPlot2d SPlot2d ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(std std ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SUITApp SUITApp ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(suit suit ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SUITApp SUITApp ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SVTK SVTK ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeApp SalomeApp ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeSession SalomeSession ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeStyle SalomeStyle ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(ToolsGUI ToolsGUI ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(ViewerTools ViewerTools ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(ViewerData ViewerData ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(VTKViewer VTKViewer ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(vtkEDFOverloads vtkEDFOverloads ${GUI_ROOT_DIR}/lib/paraview) -FIND_LIBRARY(vtkTools vtkTools ${GUI_ROOT_DIR}/lib/salome) -FIND_LIBRARY(SalomeGuiHelpers SalomeGuiHelpers ${GUI_ROOT_DIR}/lib/salome) FIND_LIBRARY(SalomeTreeData SalomeTreeData ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(VTKViewer VTKViewer ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(ViewerData ViewerData ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(ViewerTools ViewerTools ${GUI_ROOT_DIR}/lib/salome) +# tools +FIND_LIBRARY(PyConsole PyConsole ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PyEditor PyEditor ${GUI_ROOT_DIR}/lib/salome) +FIND_LIBRARY(PyInterp PyInterp ${GUI_ROOT_DIR}/lib/salome) diff --git a/cmake/FindQwt.cmake b/cmake/FindQwt.cmake index e499361..fcb1c0d 100644 --- a/cmake/FindQwt.cmake +++ b/cmake/FindQwt.cmake @@ -24,16 +24,26 @@ # # The header qwt_plot.h is looked for. # The libraries -# qwt-qt4, qwt +# qwt-qt, qwt # are looked for. +# Here, is a Qt version being used. +# For this to work correctly, Qt detection procedure must preceed Qwt one. # IF(NOT Qwt_FIND_QUIETLY) MESSAGE(STATUS "Looking for Qwt ...") ENDIF() +IF(QT_VERSION) + STRING(REPLACE "." ";" _qwt_qt_version_list ${QT_VERSION}) + LIST(GET _qwt_qt_version_list 0 _qwt_qt_version_major) +ELSE() + # by default use version 5 of Qt + SET(_qwt_qt_version_major "5") +ENDIF() + +FIND_PATH(QWT_INCLUDE_DIR qwt_plot.h PATH_SUFFIXES qwt-qt${_qwt_qt_version_major}) FIND_PATH(QWT_INCLUDE_DIR qwt_plot.h PATH_SUFFIXES qwt) -FIND_PATH(QWT_INCLUDE_DIR qwt_plot.h PATH_SUFFIXES qwt-qt4) IF(WIN32) SET(QWT_DEFINITIONS "-DQWT_DLL") @@ -43,18 +53,18 @@ IF(WIN32) ENDIF() FIND_LIBRARY(QWT_LIBRARY qwt) ELSE(WIN32) - # Give precedence to qwt-qt4 library. + # Give precedence to qwt-qt library. # Note: on some platforms there can be several native qwt libraries linked against different # versions of Qt; for example /usr/lib/libqwt.so for qwt linked against Qt 3 and - # /usr/lib/libqwt-qt4.so for qwt linked against Qt 4. - # We need only qt4-based qwt library, so we search libqwt-qt4, then libqwt library - # first ignoring system paths, then including system paths. - FIND_LIBRARY(QWT_LIBRARY qwt-qt4 PATH_SUFFIXES lib lib64 PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) - FIND_LIBRARY(QWT_LIBRARY qwt-qt4 PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) + # /usr/lib/libqwt-qt4.so for qwt linked against Qt 4, etc. + # We need only qwt library built with version of Qt we use, so we search libqwt-qt, + # then libqwt library; first ignoring system paths, then including system paths. + FIND_LIBRARY(QWT_LIBRARY qwt-qt${_qwt_qt_version_major} PATH_SUFFIXES lib lib64 PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) + FIND_LIBRARY(QWT_LIBRARY qwt-qt${_qwt_qt_version_major} PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) FIND_LIBRARY(QWT_LIBRARY qwt PATH_SUFFIXES lib lib64 PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) FIND_LIBRARY(QWT_LIBRARY qwt PATHS "${QWT_ROOT_DIR}" NO_DEFAULT_PATH) - FIND_LIBRARY(QWT_LIBRARY qwt-qt4 PATH_SUFFIXES lib lib64) - FIND_LIBRARY(QWT_LIBRARY qwt-qt4) + FIND_LIBRARY(QWT_LIBRARY qwt-qt${_qwt_qt_version_major} PATH_SUFFIXES lib lib64) + FIND_LIBRARY(QWT_LIBRARY qwt-qt${_qwt_qt_version_major}) FIND_LIBRARY(QWT_LIBRARY qwt PATH_SUFFIXES lib lib64) FIND_LIBRARY(QWT_LIBRARY qwt) ENDIF(WIN32) diff --git a/cmake/FindSalomeOpenCASCADE.cmake b/cmake/FindSalomeOpenCASCADE.cmake new file mode 100644 index 0000000..684f4a2 --- /dev/null +++ b/cmake/FindSalomeOpenCASCADE.cmake @@ -0,0 +1,48 @@ +# Copyright (C) 2013-2016 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 +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Author: Roman NIKOLAEV +# + +# OpenCascade detection for Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +# TODO: RNV: Check different OCCT layouts !!! +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(OpenCASCADE OpenCASCADE_INCLUDE_DIR 2) + +IF(OpenCASCADE_FOUND) + + IF(NOT CAS_FIND_QUIETLY) + MESSAGE(STATUS "Found OpenCascade version: ${OpenCASCADE_VERSION}") + ENDIF() + + # OPENCASCADE definitions + SET(OpenCascade_DEFINITIONS ${OpenCASCADE_C_FLAGS} ${OpenCASCADE_CXX_FLAGS}) + SET(OpenCascade_LDFLAGS ${OpenCASCADE_LINKER_FLAGS}) + + SALOME_ACCUMULATE_HEADERS(OpenCASCADE_INCLUDE_DIR) + SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${OpenCASCADE_LIBRARY_DIR}) + +ELSE() + # TODO: Detect OpenCASCADE if it is distributed without CMake configuration. + IF(NOT CAS_FIND_QUIETLY) + MESSAGE(STATUS "Could not find OpenCASCADE ...") + ENDIF() +ENDIF() \ No newline at end of file diff --git a/cmake/FindSphinx.cmake b/cmake/FindSphinx.cmake index 9914763..6688883 100644 --- a/cmake/FindSphinx.cmake +++ b/cmake/FindSphinx.cmake @@ -2,8 +2,16 @@ # # Output variables: # SPHINX_EXECUTABLE - path to the Sphinx executable -# SPHINX_PYTHONPATH - path to the Sphinx Python modules -# +# SPHINX_PYTHONPATH - path to the Sphinx Python modules +# +# Additional features: +# Sphinx_EXTENSIONS - optional variable which can be used to specify +# a list of required Sphinx extensions; not found +# extensions will be reported during the detection +# procedure; by default this variable is empty. +# Example: +# set(Sphinx_EXTENSIONS sphinxcontrib.napoleon) +# ########################################################################### # Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE # @@ -29,10 +37,14 @@ FIND_PROGRAM(SPHINX_EXECUTABLE NAMES sphinx-build sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} - PATH_SUFFIXES Scripts) + PATH_SUFFIXES Scripts) FIND_PROGRAM(SPHINX_APIDOC_EXECUTABLE NAMES sphinx-apidoc sphinx-apidoc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} PATH_SUFFIXES Scripts) +FIND_PROGRAM(SPHINX_INTL_EXECUTABLE + NAMES sphinx-intl sphinx-intl-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} + PATH_SUFFIXES Scripts) + # Get root dir locally, going up two levels from the exec: GET_FILENAME_COMPONENT(_tmp_ROOT_DIR "${SPHINX_EXECUTABLE}" PATH) @@ -45,7 +57,7 @@ ENDIF() # Handle the standard arguments of the find_package() command: INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sphinx REQUIRED_VARS SPHINX_EXECUTABLE SPHINX_APIDOC_EXECUTABLE) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sphinx REQUIRED_VARS SPHINX_EXECUTABLE SPHINX_APIDOC_EXECUTABLE SPHINX_INTL_EXECUTABLE) IF(SPHINX_EXECUTABLE) EXECUTE_PROCESS(COMMAND ${SPHINX_EXECUTABLE} "--version" OUTPUT_VARIABLE SPHINX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -57,3 +69,12 @@ IF(SPHINX_EXECUTABLE) SET(SPHINX_THEME "classic") ENDIF() ENDIF(SPHINX_EXECUTABLE) + +FOREACH(_ext ${Sphinx_EXTENSIONS}) + EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import ${_ext}; print 'ok'" OUTPUT_VARIABLE _has_ext ERROR_QUIET) + IF(_has_ext) + MESSAGE(STATUS "Required Sphinx extension '${_ext}' has been found!") + ELSE() + MESSAGE(WARNING "Required Sphinx extension '${_ext}' is not found!") + ENDIF() +ENDFOREACH() diff --git a/cmake/UseSphinx.cmake b/cmake/UseSphinx.cmake new file mode 100644 index 0000000..1ee25d1 --- /dev/null +++ b/cmake/UseSphinx.cmake @@ -0,0 +1,153 @@ +########################################################################### +# Copyright (C) 2007-2018 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include(SalomeMacros) + +IF(NOT Sphinx_FOUND) + MESSAGE(FATAL_ERROR "Developer error -> UseSphinx file should be included after detection of the sphinx!") +ENDIF() + +function(JOIN OUTPUT GLUE) + set(_TMP_RESULT "") + set(_GLUE "") # effective glue is empty at the beginning + foreach(arg ${ARGN}) + set(_TMP_RESULT "${_TMP_RESULT}${_GLUE}${arg}") + set(_GLUE "${GLUE}") + endforeach() + set(${OUTPUT} "${_TMP_RESULT}" PARENT_SCOPE) +endfunction() + +#---------------------------------------------------------------------------- +# ADD_MULTI_LANG_DOCUMENTATION is a macro which adds sphinx multi-language +# documentation. +# +# USAGE: ADD_MULTI_LANG_DOCUMENTATION(TARGET MODULE +# LANGUAGES ) +# +# ARGUMENTS: +# TARGET_NAME : IN : target name for the documentation +# MODULE : IN : SALOME module name +# LANGUAGES : IN : list of the languages +#---------------------------------------------------------------------------- +MACRO(ADD_MULTI_LANG_DOCUMENTATION) + # Common options + SET(PAPEROPT_a4 "-D latex_paper_size=a4") + + # Parse input argument + PARSE_ARGUMENTS(MULTI_LANG "TARGET_NAME;MODULE;LANGUAGES" "" ${ARGN}) + + # Content of the executable file to generate documentation + SET(CMDS) + + JOIN(SPHINX_EXE " " ${SPHINX_EXECUTABLE}) + STRING(REPLACE "$$" "$" SPHINX_EXE ${SPHINX_EXE}) + + IF(MULTI_LANG_LANGUAGES) + # 1. Options for generation POT files + SET(POT_SPHINXOPTS "-c ${CMAKE_CURRENT_BINARY_DIR} -b gettext ${CMAKE_CURRENT_SOURCE_DIR}/input potfiles") + SET(CMDS "${CMDS} ${SPHINX_EXE} ${POT_SPHINXOPTS}\n") + + # 2. Update PO files options + SET(LANGS "") + FOREACH(lang ${MULTI_LANG_LANGUAGES}) + SET(LANGS "${LANGS} -l ${lang}") + ENDFOREACH() + SET(PO_SPHINXOPTS "${PO_SPHINXOPTS} update -p potfiles ${LANGS}") + SET(CMDS "${CMDS} ${SPHINX_INTL_EXECUTABLE} ${PO_SPHINXOPTS}\n") + + # 3. Build MO files + SET(CMDS "${CMDS} ${SPHINX_INTL_EXECUTABLE} build\n") + ENDIF() + + # 4. Options for EN documentation + SET(SPHINXOPTS "-c ${CMAKE_CURRENT_BINARY_DIR} -d doctrees -b html ${PAPEROPT_a4} ${CMAKE_CURRENT_SOURCE_DIR}/input ${MULTI_LANG_MODULE}") + SET(CMDS "${CMDS} ${SPHINX_EXE} ${SPHINXOPTS}\n") + + # 5. Options for other documentation + FOREACH(lang ${MULTI_LANG_LANGUAGES}) + SET(${lang}_SPHINXOPTS "-c ${CMAKE_CURRENT_BINARY_DIR} -d doctrees -b html ${PAPEROPT_a4} -D language=${lang} ${CMAKE_CURRENT_SOURCE_DIR}/input ${MULTI_LANG_MODULE}_${lang}") + SET(CMDS "${CMDS} ${SPHINX_EXE} ${${lang}_SPHINXOPTS}\n") + ENDFOREACH() + + # 6. Create command file + IF(WIN32) + SET(_ext "bat") + SET(_call_cmd "call") + ELSE() + SET(_ext "sh") + SET(_call_cmd ".") + ENDIF() + + SET(_env) + FOREACH(_item ${_${PROJECT_NAME}_EXTRA_ENV}) + FOREACH(_val ${_${PROJECT_NAME}_EXTRA_ENV_${_item}}) + IF(WIN32) + IF(${_item} STREQUAL "LD_LIBRARY_PATH") + SET(_item PATH) + ENDIF() + STRING(REPLACE "/" "\\" _env "${_env} @SET ${_item}=${_val};%${_item}%\n") + ELSEIF(APPLE) + IF(${_item} STREQUAL "LD_LIBRARY_PATH") + SET(_env "${_env} export DYLD_LIBRARY_PATH=${_val}:\${DYLD_LIBRARY_PATH}\n") + ELSE() + SET(_env "${_env} export ${_item}=${_val}:\${${_item}}\n") + ENDIF() + ELSE() + SET(_env "${_env} export ${_item}=${_val}:\${${_item}}\n") + ENDIF() + ENDFOREACH() + ENDFOREACH() + + SET(_script ${CMAKE_CURRENT_BINARY_DIR}/build_doc.${_ext}) + FILE(WRITE ${_script} ${_env}${CMDS}) + + # 7. Create custom target + ADD_CUSTOM_TARGET(${MULTI_LANG_TARGET_NAME} + # 1. Copy existing po files + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/locale ${CMAKE_CURRENT_BINARY_DIR}/locale + # 2. Generate documentation + COMMAND ${_call_cmd} ${_script} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + + # 8. Update PO files + FOREACH(lang ${MULTI_LANG_LANGUAGES}) + FILE(GLOB _pfiles ${CMAKE_CURRENT_BINARY_DIR}/locale/${lang}/LC_MESSAGES/*.po) + ADD_CUSTOM_COMMAND(TARGET ${MULTI_LANG_TARGET_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_SOURCE_DIR}/locale/${lang}/LC_MESSAGES) + FOREACH(pofile ${_pfiles}) + GET_FILENAME_COMPONENT(fn_wo_path ${pofile} NAME) + ADD_CUSTOM_COMMAND(TARGET ${MULTI_LANG_TARGET_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E + copy_if_different ${pofile} ${CMAKE_CURRENT_SOURCE_DIR}/locale/${lang}/LC_MESSAGES/${fn_wo_path}) + ENDFOREACH() + ENDFOREACH() + + # 9. Make clean files/folders + SET(make_clean_files ${MULTI_LANG_MODULE} doctrees potfiles locale) + FOREACH(lang ${MULTI_LANG_LANGUAGES}) + SET(make_clean_files ${make_clean_files} ${MULTI_LANG_MODULE}_${lang}) + ENDFOREACH() + SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}") + +ENDMACRO(ADD_MULTI_LANG_DOCUMENTATION) \ No newline at end of file diff --git a/config/salome.xml b/config/salome.xml index 1e83e15..ad2b5be 100644 --- a/config/salome.xml +++ b/config/salome.xml @@ -1,6 +1,6 @@ - + @@ -25,9 +25,9 @@ - + - + @@ -38,17 +38,17 @@ - + - + - + @@ -59,7 +59,7 @@ - + @@ -69,8 +69,8 @@ - - + + @@ -78,7 +78,7 @@ - + @@ -90,7 +90,7 @@ - + @@ -114,24 +114,21 @@ - - + + - + - - - - - + + - + @@ -141,42 +138,42 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +