Salome HOME
Ajout de la documentation
authorAndré Ribes <andre.ribes@edf.fr>
Wed, 16 Jun 2010 15:24:16 +0000 (17:24 +0200)
committerAndré Ribes <andre.ribes@edf.fr>
Wed, 16 Jun 2010 15:24:16 +0000 (17:24 +0200)
Ajout de la compilation optionelle

Makefile.am
adm_local/check_scipy.m4 [new file with mode: 0644]
adm_local/check_sphinx.m4 [new file with mode: 0644]
adm_local/make_common_starter.am
configure.ac
doc/Makefile.am [new file with mode: 0644]
doc/conf.py [new file with mode: 0644]
doc/index.rst [new file with mode: 0644]
src/Makefile.am
src/tests/Makefile.am

index 1aa61a8a0dd884cf66a6b4b0bc383df9ef6bc2dc..ab24f244bc45f4378660c4718e3b1d6961570682 100644 (file)
@@ -1,3 +1,8 @@
 include $(top_srcdir)/adm_local/make_common_starter.am
+
 SUBDIRS = idl resources src bin
+if SPHINX_IS_OK
+SUBDIRS += doc
+endif
+
 ACLOCAL_AMFLAGS = -I adm_local
diff --git a/adm_local/check_scipy.m4 b/adm_local/check_scipy.m4
new file mode 100644 (file)
index 0000000..662d002
--- /dev/null
@@ -0,0 +1,35 @@
+dnl  Copyright (C) 2010  EDF R&D
+dnl
+dnl  This library is free software; you can redistribute it and/or
+dnl  modify it under the terms of the GNU Lesser General Public
+dnl  License as published by the Free Software Foundation; either
+dnl  version 2.1 of the License.
+dnl
+dnl  This library is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl  Lesser General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU Lesser General Public
+dnl  License along with this library; if not, write to the Free Software
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+dnl
+dnl  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+dnl
+dnl  Author: André Ribes, andre.ribes@edf.fr, EDF R&D
+
+AC_DEFUN([CHECK_SCIPY],[
+AC_REQUIRE([CHECK_PYTHON])dnl
+
+scipy_ok=no
+
+scipydir=`$PYTHON -c "import scipy;print scipy.get_include()" 2>/dev/null`
+
+if test -d "$scipydir"; then
+   scipy_ok=yes
+fi
+
+AC_MSG_RESULT(for scipy: $scipy_ok)
+
+])dnl
+dnl
diff --git a/adm_local/check_sphinx.m4 b/adm_local/check_sphinx.m4
new file mode 100644 (file)
index 0000000..c9cc4c6
--- /dev/null
@@ -0,0 +1,55 @@
+dnl  Copyright (C) 2006-2010  CEA/DEN, EDF R&D
+dnl
+dnl  This library is free software; you can redistribute it and/or
+dnl  modify it under the terms of the GNU Lesser General Public
+dnl  License as published by the Free Software Foundation; either
+dnl  version 2.1 of the License.
+dnl
+dnl  This library is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl  Lesser General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU Lesser General Public
+dnl  License along with this library; if not, write to the Free Software
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+dnl
+dnl  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+dnl
+
+AC_DEFUN([CHECK_SPHINX],[
+
+AC_CHECKING(for sphinx doc generator)
+
+sphinx_ok=yes
+dnl where is sphinx ?
+AC_PATH_PROG(SPHINX,sphinx-build) 
+if test "x$SPHINX" = "x"
+then
+  AC_MSG_WARN(sphinx not found)
+  sphinx_ok=no
+fi
+
+dnl Can I load ths sphinx module ?
+dnl This code comes from the ax_python_module macro.
+if test -z $PYTHON;
+then
+   PYTHON="python"
+fi
+PYTHON_NAME=`basename $PYTHON`
+AC_MSG_CHECKING($PYTHON_NAME module: sphinx)
+   $PYTHON -c "import sphinx" 2>/dev/null
+   if test $? -eq 0;
+   then
+     AC_MSG_RESULT(yes)
+     eval AS_TR_CPP(HAVE_PYMOD_sphinx)=yes
+   else
+     AC_MSG_RESULT(no)
+     eval AS_TR_CPP(HAVE_PYMOD_sphinx)=no
+     sphinx_ok=no
+   fi
+
+AM_CONDITIONAL(SPHINX_IS_OK, [test x"$sphinx_ok" = xyes])
+
+])dnl
+dnl
index 7bb83d1b8dcbdc8373c7eced3ffe610ba16fddf4..44e4165fa4a6657f24d8058202c1bd751622d183 100644 (file)
@@ -24,7 +24,7 @@ admlocalm4dir        = $(admlocaldir)/unix/config_files
 sharedpkgpythondir =$(pkgpythondir)/shared_modules
 
 # Documentation directory
-docdir             = $(datadir)/doc/salome
+docdir             = $(datadir)/doc/salome/adao
 
 IDL_INCLUDES = -I$(KERNEL_ROOT_DIR)/idl/salome
 KERNEL_LIBS= -L$(KERNEL_ROOT_DIR)/lib/salome -lSalomeContainer -lOpUtil -lSalomeDSCContainer -lSalomeDSCSuperv -lSalomeDatastream -lSalomeDSCSupervBasic -lCalciumC
index 7859ba0163aa0b2cf63467b5df442fa7c65379dc..4e47246dc9054a4ba008952ae1efef5be3a73cd1 100644 (file)
@@ -1,27 +1,42 @@
+dnl  Copyright (C) 2010  EDF R&D
+dnl
+dnl  This library is free software; you can redistribute it and/or
+dnl  modify it under the terms of the GNU Lesser General Public
+dnl  License as published by the Free Software Foundation; either
+dnl  version 2.1 of the License.
+dnl
+dnl  This library is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl  Lesser General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU Lesser General Public
+dnl  License along with this library; if not, write to the Free Software
+dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+dnl
+dnl  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+dnl
+dnl  Author: André Ribes, andre.ribes@edf.fr, EDF R&D
 
-AC_INIT(adao, 1.0)
+AC_INIT(adao, 0.1)
 AC_CONFIG_AUX_DIR(adm_local)
 AM_INIT_AUTOMAKE
 AM_CONFIG_HEADER(adao_config.h)
-
-dnl Check Salome Install
-CHECK_KERNEL
-if test "x$Kernel_ok" = "xno"; then
-  AC_MSG_ERROR([You must define a correct KERNEL_ROOT_DIR or use the --with-kernel= configure option !])
-fi
+MODULE_NAME=adao
+AC_SUBST(MODULE_NAME)
 
 AC_ENABLE_DEBUG(yes)
 AC_DISABLE_PRODUCTION
+
 AC_PROG_LIBTOOL
 AC_PROG_CC
 AC_PROG_CXX
-CHECK_F77
-CHECK_BOOST
+
+CHECK_KERNEL
 CHECK_OMNIORB
 CHECK_EFICAS
-
-MODULE_NAME=adao
-AC_SUBST(MODULE_NAME)
+CHECK_SCIPY
+CHECK_SPHINX
 
 echo
 echo
@@ -34,13 +49,17 @@ echo "Configuration Options Summary:"
 echo
 echo "Mandatory products:"
 echo "  Threads ................ : $threads_ok"
+echo "  Python ................. : $python_ok"
+echo "  Scipy .................. : $scipy_ok"
+echo
+echo "SALOME Integration mandatory products:"
 echo "  OmniOrb (CORBA) ........ : $omniORB_ok"
 echo "  OmniOrbpy (CORBA) ...... : $omniORBpy_ok"
-echo "  Python ................. : $python_ok"
-echo "  Boost  ................. : $boost_ok"
 echo "  SALOME KERNEL .......... : $Kernel_ok"
 echo "  Eficas ................. : $eficas_ok"
 echo
+echo "Optional products:"
+echo "  Sphinx (for doc)........ : $threads_ok"
 echo "------------------------------------------------------------------------"
 echo
 
@@ -50,16 +69,35 @@ fi
 if test "x$python_ok" = "xno"; then
   AC_MSG_ERROR([Python is required],1)
 fi
+if test "x$scipy_ok" = "xno"; then
+  AC_MSG_ERROR([Scipy is required],1)
+fi
+
+salome_module_ok=yes
+
 if test "x$omniORB_ok" = "xno"; then
-  AC_MSG_ERROR([OmniOrb is required],1)
+  AC_MSG_WARN([OmniOrb is required for SALOME Module part])
+  salome_module_ok=no
 fi
 if test "x$omniORBpy_ok" = "xno"; then
-  AC_MSG_ERROR([OmniOrbpy is required],1)
+  AC_MSG_WARN([OmniOrbpy is required for SALOME Module part])
+  salome_module_ok=no
 fi
 if test "x$Kernel_ok" = "xno"; then
-  AC_MSG_ERROR([SALOME KERNEL is required],1)
+  AC_MSG_WARN([SALOME KERNEL is required for SALOME Module part - 
+               You could define a correct KERNEL_ROOT_DIR or use the --with-kernel= configure option])
+  salome_module_ok=no
+fi
+if test "x$eficas_ok" = "xno"; then
+  AC_MSG_WARN([Eficas is required for SALOME Module part])
+  salome_module_ok=no
 fi
 
+AM_CONDITIONAL(SALOME_MODULE, test x$salome_module_ok = xyes)
+
+if test "x$sphinx_ok" = "xno"; then
+  AC_MSG_WARN([Sphinx is required for ADAO documentation])
+fi
 
 AC_CONFIG_FILES([
         Makefile
@@ -79,5 +117,6 @@ AC_CONFIG_FILES([
         src/tests/daSalome/test000_Blue_AnalysisFile.py
         bin/Makefile
         bin/qtEficas_adao_study.py
+        doc/Makefile
         ])
 AC_OUTPUT
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..88eda8c
--- /dev/null
@@ -0,0 +1,101 @@
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = $(top_builddir)/doc/build
+
+EXTRA_DIST = main.rst conf.py
+
+install-data-local:
+       make html
+       ${mkinstalldirs} $(DESTDIR)$(docdir)
+       cp -R $(BUILDDIR)/html $(DESTDIR)$(docdir)
+
+uninstall-local:
+       chmod -R +w $(DESTDIR)$(docdir)
+       rm -rf $(DESTDIR)$(docdir)/html
+
+clean-local:
+       -rm -rf $(top_builddir)/doc/build
+
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(top_srcdir)/doc
+
+.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
+
+help:
+       @echo "Please use \`make <target>' where <target> is one of"
+       @echo "  html      to make standalone HTML files"
+       @echo "  dirhtml   to make HTML files named index.html in directories"
+       @echo "  pickle    to make pickle files"
+       @echo "  json      to make JSON files"
+       @echo "  htmlhelp  to make HTML files and a HTML help project"
+       @echo "  qthelp    to make HTML files and a qthelp project"
+       @echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+       @echo "  changes   to make an overview of all changed/added/deprecated items"
+       @echo "  linkcheck to check all external links for integrity"
+       @echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+       -rm -rf $(BUILDDIR)/*
+
+html:
+       $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+       @echo
+       @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+       $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+       @echo
+       @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+pickle:
+       $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+       @echo
+       @echo "Build finished; now you can process the pickle files."
+
+json:
+       $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+       @echo
+       @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+       $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+       @echo
+       @echo "Build finished; now you can run HTML Help Workshop with the" \
+             ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+       $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+       @echo
+       @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+             ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ADAO.qhcp"
+       @echo "To view the help file:"
+       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ADAO.qhc"
+
+latex:
+       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+       @echo
+       @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+       @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+             "run these through (pdf)latex."
+
+changes:
+       $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+       @echo
+       @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+       $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+       @echo
+       @echo "Link check complete; look for any errors in the above output " \
+             "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+       $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+       @echo "Testing of doctests in the sources finished, look at the " \
+             "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/doc/conf.py b/doc/conf.py
new file mode 100644 (file)
index 0000000..a2cfb7e
--- /dev/null
@@ -0,0 +1,194 @@
+# -*- coding: utf-8 -*-
+#
+# ADAO documentation build configuration file, created by
+# sphinx-quickstart on Wed Jun 16 15:48:00 2010.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.append(os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'ADAO'
+copyright = u'2010, EDF R&D, Jean-Philippe Argaud, André Ribes'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '0.1'
+# The full version, including alpha/beta/rc tags.
+release = '1.0'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = []
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_use_modindex = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'ADAOdoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+latex_paper_size = 'a4'
+
+# The font size ('10pt', '11pt' or '12pt').
+latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+  ('index', 'ADAO.tex', u'ADAO Documentation',
+   u'Jean-Philippe Argaud, André Ribes', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_use_modindex = True
diff --git a/doc/index.rst b/doc/index.rst
new file mode 100644 (file)
index 0000000..667c83c
--- /dev/null
@@ -0,0 +1,16 @@
+
+ADAO documentation
+==================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
index 6998b32cac01a52e4278913f8abd86eac11bfc89..7212bbe0a08790c2eb648962d523b1d239e17f4f 100644 (file)
@@ -1 +1,5 @@
-SUBDIRS = daComposant daSalome daEficas tests
+SUBDIRS = daComposant tests
+
+if SALOME_MODULE
+SUBDIRS += daSalome daEficas
+endif
index 54b6585a14bd997e55b42225f8d84c2883e76972..d7d636855abe51ab6dcece6011f9d984bfd059e6 100644 (file)
@@ -1,2 +1,3 @@
+if SALOME_MODULE
 SUBDIRS = daSalome
-
+endif