X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2FCMakeLists.txt;h=d5f411c2fd6bcb43d06469e9a4c3eaed2ffcf925;hp=1d484199e69be4523ea233561e2577b96c268b64;hb=88141f757b048eaa5aae0be49faaf274448bbcaf;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce diff --git a/doc/salome/gui/SMESH/CMakeLists.txt b/doc/salome/gui/SMESH/CMakeLists.txt index 1d484199e..d5f411c2f 100644 --- a/doc/salome/gui/SMESH/CMakeLists.txt +++ b/doc/salome/gui/SMESH/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-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. +# 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 @@ -17,66 +17,68 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/SalomeMacros.cmake) +INCLUDE(UseSphinx) -SET(top_builddir ${CMAKE_BINARY_DIR}) -SET(top_srcdir ${CMAKE_SOURCE_DIR}) -SET(srcdir ${CMAKE_CURRENT_SOURCE_DIR}) -SET(builddir ${CMAKE_CURRENT_BINARY_DIR}) -SET(datadir ${CMAKE_INSTALL_PREFIX}/share) -SET(docdir ${datadir}/doc/salome) -SET(guidocdir ${docdir}/gui/SMESH) +SALOME_INSTALL_SCRIPTS(collect_mesh_methods.py ${SALOME_INSTALL_BINS}) -SALOME_CONFIGURE_FILE(doxyfile.in doxyfile) -SALOME_CONFIGURE_FILE(doxyfile_py.in doxyfile_py) -SALOME_CONFIGURE_FILE(static/header.html.in ${builddir}/static/header.html) -SALOME_CONFIGURE_FILE(static/header_py.html.in ${builddir}/static/header_py.html) - -SALOME_INSTALL_SCRIPTS(collect_mesh_methods.py bin/salome) - SET(DOC_SMESH_MeshersList StdMeshers) -SET(f1 "${srcdir}/collect_mesh_methods.py") -SET(f "$ENV{KERNEL_ROOT_DIR}/bin/salome/prepare_generating_doc.py") -IF(WINDOWS) - STRING(REPLACE "/" "\\" f ${f}) - STRING(REPLACE "/" "\\" f1 ${f1}) - STRING(REPLACE "/" "\\" SCR "@SET PYTHONPATH=${OMNIORB_ROOT_USER}/lib/x86_win32\;%PYTHONPATH% - @SET PYTHONPATH=${OMNIORB_ROOT_USER}/lib/python\;%PYTHONPATH% - @SET PATH=${OMNIORB_ROOT_USER}/lib/x86_win32\;%PATH% - @SET PATH=$ENV{KERNEL_ROOT_DIR}/lib/salome\;%PATH% - @SET PYTHONPATH=$ENV{KERNEL_ROOT_DIR}/bin/salome\;%PYTHONPATH% - @SET PYTHONPATH=$ENV{KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome\;%PYTHONPATH% - @SET PYTHONPATH=$ENV{MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome\;%PYTHONPATH% - @SET PYTHONPATH=$ENV{MED_ROOT_DIR}/bin/salome\;%PYTHONPATH% - @SET PYTHONPATH=$ENV{GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome\;%PYTHONPATH% - @SET PYTHONPATH=$ENV{GEOM_ROOT_DIR}/bin/salome\;%PYTHONPATH% - @SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/salome\;%PYTHONPATH% - @SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}/bin/salome\;%PYTHONPATH% - @SET SMESH_MeshersList=${DOC_SMESH_MeshersList} - ") - SET(EXT "bat") - SET(CALL_STR "call") -ELSE(WINDOWS) - SET(DOC_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/bin/salome:${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages/salome:${MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome:${GEOM_ROOT_DIR}/bin/salome:${GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome:${KERNEL_ROOT_DIR}/bin/salome:${KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome:${OMNIORB_ROOT_USER}/lib/python${PYTHON_VERSION}/site-packages:${OMNIORB_ROOT_USER}/lib64/python${PYTHON_VERSION}/site-packages") - SET(DOC_LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/lib/salome:${MED_ROOT_DIR}/lib/salome:${GEOM_ROOT_DIR}/lib/salome:${KERNEL_ROOT_DIR}/lib/salome") - SET(SCR "export PYTHONPATH=${DOC_PYTHONPATH}:\${PYTHONPATH} - export LD_LIBRARY_PATH=${DOC_LD_LIBRARY_PATH}:\${LD_LIBRARY_PATH} - export SMESH_MeshersList=${DOC_SMESH_MeshersList} - ") - SET(EXT "sh") - SET(CALL_STR ".") -ENDIF(WINDOWS) - -FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/tmp_env.${EXT} "${SCR}") - -ADD_CUSTOM_TARGET(usr_docs ${PYTHON_EXECUTABLE} ${f} smesh.py ${CMAKE_SOURCE_DIR}/src/SMESH_SWIG/smeshDC.py smesh - COMMAND mkdir -p tmp && ${CALL_STR} ${CMAKE_CURRENT_BINARY_DIR}/tmp_env.${EXT} && ${PYTHON_EXECUTABLE} ${f1} -o tmp/smesh.py StdMeshers - COMMAND ${DOXYGEN_EXECUTABLE} doxyfile_py - COMMAND ${DOXYGEN_EXECUTABLE} doxyfile - COMMAND ${PYTHON_EXECUTABLE} -c "import os, shutil; os.remove(r'''smesh.py'''); shutil.rmtree(r'''tmp''')" - COMMAND ${PYTHON_EXECUTABLE} -c "import shutil, sys; shutil.rmtree(r'''${CMAKE_INSTALL_PREFIX}/share/doc/salome/gui/SMESH''', True); shutil.copytree(r'''${CMAKE_CURRENT_BINARY_DIR}''', r'''${CMAKE_INSTALL_PREFIX}/share/doc/salome/gui/SMESH''', ignore=shutil.ignore_patterns('tmp_env.*', '*usr_docs*', '*CMakeFiles*', '*.cmake', 'doxyfile*', '*.vcproj', 'static', 'Makefile*')); shutil.copy(r'''${CMAKE_CURRENT_SOURCE_DIR}/images/head.png''', r'''${CMAKE_INSTALL_PREFIX}/share/doc/salome/gui/SMESH''')" - VERBATIM - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +SET(smesh_file "${CMAKE_CURRENT_SOURCE_DIR}/collect_mesh_methods.py") +SET(smesh_merge_file "${CMAKE_CURRENT_SOURCE_DIR}/merge_mesh_class.py") + +# Define requared environment variables +SALOME_ACCUMULATE_ENVIRONMENT(SMESH_MeshersList NOCHECK ${DOC_SMESH_MeshersList}) +SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_CURRENT_BINARY_DIR}/tmp1) +SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_CURRENT_BINARY_DIR}/tmp2) + +# Make configuration file +SALOME_CONFIGURE_FILE(conf.py.in conf.py) + +IF(SALOME_SMESH_BUILD_FRENCH_DOC) + SET(BUILD_LANGUAGE_SWITCHER "true") + SALOME_CONFIGURE_FILE(static/switchers.js.in static/switchers.js) + ADD_MULTI_LANG_DOCUMENTATION(TARGET_NAME usr_docs MODULE SMESH LANGUAGES fr) +ELSE() + SET(BUILD_LANGUAGE_SWITCHER "false") + SALOME_CONFIGURE_FILE(static/switchers.js.in static/switchers.js) + ADD_MULTI_LANG_DOCUMENTATION(TARGET_NAME usr_docs MODULE SMESH) +ENDIF() + +# 1. Options for generating temporary python modules +SET(_cmd_tmp_gen_options ${smesh_file} -o tmp1/smeshBuilder_dynamic.py -f sphinx StdMeshers) +SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd_tmp_gen env_script "${PYTHON_EXECUTABLE}" "${_cmd_tmp_gen_options}") + +# 2. Options for generating final smeshBuilder.py script +SET(_cmd_smeshBuilder_gen_options ${smesh_merge_file} -o tmp2/smeshBuilder.py smeshBuilder) +SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd_smeshBuilder_gen env_script "${PYTHON_EXECUTABLE}" "${_cmd_smeshBuilder_gen_options}") + +ADD_CUSTOM_TARGET(pre_usr_docs + # 1. Make temporary directories for python modules + COMMAND ${CMAKE_COMMAND} -E make_directory tmp1 + COMMAND ${CMAKE_COMMAND} -E make_directory tmp2 + + # 2. Copy python module to the temporary file + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/src/SMESH_SWIG/smeshBuilder.py ${CMAKE_CURRENT_BINARY_DIR}/tmp1/smeshBuilder_origin.py + + # 3. Copy python modules to be documented into memporary directory + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/src/SMESH_SWIG/StdMeshersBuilder.py ${CMAKE_CURRENT_BINARY_DIR}/tmp2/StdMeshersBuilder.py + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/src/SMESH_SWIG/smesh_algorithm.py ${CMAKE_CURRENT_BINARY_DIR}/tmp2/smesh_algorithm.py + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/src/SMESH_PY/smeshstudytools.py ${CMAKE_CURRENT_BINARY_DIR}/tmp2/smeshstudytools.py + + # 4. Collect methods from StdMeshers into temporary python module + COMMAND ${_cmd_tmp_gen} + + # 5. Generate smeshBuilder.py script + COMMAND ${_cmd_smeshBuilder_gen} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) -ADD_DEPENDENCIES(usr_docs html_docs) +ADD_DEPENDENCIES(usr_docs pre_usr_docs) + +INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)") +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SMESH DESTINATION ${SALOME_INSTALL_DOC}/gui) +IF(SALOME_SMESH_BUILD_FRENCH_DOC) + INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/SMESH_fr DESTINATION ${SALOME_INSTALL_DOC}/gui) +ENDIF() + +SET(make_clean_files tmp1 tmp2) +SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")