Changes in / [084729c:41e8e2]


Ignore:
Files:
3731 added
154 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    r084729c r41e8e2  
     1# specific source code stuff
     2version.c
     3.git-version
     4
    15# eclipse file
     6.autotools
    27.project
    38.cproject
    49.settings
    5 .autotools
    6 
    7 # ECUT stuff
    8 .ecut*
    910
    1011# automake stuff
    1112configure
    1213config.h*
    13 config*
    1414*.in
    1515build*
     16config/*
    1617debug*
    1718aclocal.m4
    1819autom4te.cache
    19 install-sh
    2020
    21 # is created by bootstrap
    22 ChangeLog
     21#documentation
     22doc/html
    2323
    24 #libtool stuff
    25 ltmain.sh
    26 m4/libtool.m4
    27 m4/lt*
     24# testsuite stuff
     25testsuite
     26*.m4
    2827
    2928# miscellaneous stuff
    3029*.log
    3130
    32 # versioning
    33 version.cpp
    34 .git-version
  • AUTHORS

    r084729c r41e8e2  
    11Tillmann Crueger        (crueger@ins.uni-bonn.de)
     2Daniel Dueck            (dueck@ins.uni-bonn.de)
    23Frederik Heber          (heber@ins.uni-bonn.de)
    34Saskia Metzler          (metzler@ins.uni-bonn.de)
     5Christian Neuen         (neuen@ins.uni-bonn.de)
  • Makefile.am

    r084729c r41e8e2  
    11ACLOCAL_AMFLAGS = -I m4
    2 SUBDIRS = src doc
     2SUBDIRS = ThirdParty/LinearAlgebra data/icons src src/unittests src/Tesselation/TriangleMatcher src/Bond/AdjacencyMatcher tests utils doc
    33
    44AUTOMAKE_OPTIONS = subdir-objects
     
    1010        debian/control \
    1111        debian/copyright \
    12         debian/makeDebianPackage.sh \
     12        debian/molecuilder.install \
     13        debian/molecuilder-dev.install \
    1314        debian/rules \
    1415        debian/source/format \
    1516        m4/ac_doxygen.m4 \
     17        m4/acx_compilerflags.m4 \
     18        m4/acx_pthread.m4 \
     19        m4/ax_check_gl.m4 \
     20        m4/ax_check_glu.m4 \
    1621        m4/ax_codepatterns.m4 \
     22        m4/ax_lang_compiler_ms.m4 \
     23        m4/ax_molecuilder.m4 \
     24        m4/ax_python.m4 \
    1725        m4/boost.m4 \
    1826        m4/cppunit.m4
    1927
    20 .PHONY: doc
     28.PHONY: doc extracheck installextracheck
    2129doc:
    2230        mkdir -p ${DX_DOCDIR}
    23         cd doc && make doxygen-doc
    24        
     31        cd doc && $(MAKE) doxygen-doc
     32
     33guicheck:
     34        cd tests && $(MAKE) guicheck
     35extracheck:
     36        cd tests && $(MAKE) extracheck
     37installextracheck:
     38        cd tests && $(MAKE) installextracheck
     39
     40unity:
     41        cd src && $(MAKE) unity
  • NEWS

    r084729c r41e8e2  
    1 v0.0.1
    2 ------
    3 2010/12/20 extracted files from MoleCuilder.
  • README

    r084729c r41e8e2  
    1 # Project: CodePatterns
     1# Project: MoleCuilder
    22#
    3 # crueger@ins.uni-bonn.de, heber@ins.uni-bonn.de
     3# heber@ins.uni-bonn.de
    44
    5         CodePatterns
     5        MoleCuilder
    66
    7 ...is a set of prefactured design schemes and tiny helpers that make lots of
    8 the day-to-day stuff easier such as
    9  * Cachable, Observer, Registry, Singleton
    10  * MemDebug, (better) Asserts, Logger
    11 It is intended to be used to create higher-level object-oriented code right
    12 from the scratch. The more object-oriented, structured code once writes, the
    13 more one tends to write before any output comes out of it. These patterns are
    14 meant to ease this pain a little by supplying the programmer the developer
    15 with lots of tiny structures that he may introduce into his code right away
    16 with little effort but great use.
     7... is a tool that started as a mean to edit pcp configuration files (adding/
     8removing groups of atoms, measuring bond lengths and so forth), grew forth into
     9a many-body fragmentation test base of a new method coined BOSSANOVA (Bond
     10Order diSSection in an ANOVA (ANalysis Of VAriance) - like fashion). It spilled
     11out configuration files for each fragment and included joining and analyzing
     12programs, to put together the partial energies and forces of each fragment to
     13the total energy and forces. Since then it has evolved into a complete toolbox
     14for creating molecular systems and worlds.
    1715
    1816
     
    2119
    2220The following packages are needed
     21* GCC or alike
     22* GSL (GNU Scientific Library, available at http://www.gnu.org/software/gsl)
    2323* Boost 1.4 or newer
     24* PugiXML (is provided in src/Parser/pugixml)
    2425
    2526LINKS
  • bootstrap

    r084729c r41e8e2  
    1010else
    1111        if git log > ChangeLog.t \
    12            && ! diff ChangeLog.t ChangeLog >/dev/null 2>&1; then
     12           && diff ChangeLog.t ChangeLog >/dev/null 2>&1; then
    1313                mv -f ChangeLog.t ChangeLog
    1414        else
     
    1717fi
    1818
    19 # create config dir which is filled automatically
    20 if test ! -e config; then
    21         mkdir config
    22 fi
    2319
    24 
    25 autoreconf -v -i -I config -I m4
    26 
     20autoreconf -v -i -I build-aux -I m4
  • configure.ac

    r084729c r41e8e2  
    1 #                                     -*- Autoconf -*-
     1#                                               -*- Autoconf -*-
    22# Process this file with autoconf to produce a configure script.
    33
    4 AC_PREREQ([2.65])
    5 AC_INIT([LibCodePatterns], [1.3.2], [heber@ins.uni-bonn.de], [libcodepatterns], [http://trac.ins.uni-bonn.de/projects/CodePatterns/])
    6 AC_CONFIG_AUX_DIR(config)
    7 AC_CONFIG_SRCDIR([src/codepatterns-config-main.cpp])
    8 AC_CONFIG_HEADERS([config.h libcodepatterns_config.h])
     4AC_PREREQ(2.59)
     5AC_INIT(MoleCuilder, 1.5.4, [foo@molecuilder.de], [molecuilder], [http://www.molecuilder.de/])
     6AC_CONFIG_AUX_DIR([build-aux])
     7AC_CONFIG_SRCDIR([src/builder.cpp])
     8AC_CONFIG_HEADER([config.h libmolecuilder_config.h])
    99AC_CONFIG_MACRO_DIR([m4])
    10 
    11 AM_INIT_AUTOMAKE([dist-bzip2 1.11 parallel-tests color-tests subdir-objects])
     10AC_CONFIG_SUBDIRS([ThirdParty/LinearAlgebra])
     11
     12# parallel-tests: use parallel test druver
     13# color-tests: us coloring to indicate success/failure when available
     14# tar-pax: use newer tar implementation with longer filename (>99 chars)
     15AM_INIT_AUTOMAKE([dist-bzip2 1.5 parallel-tests color-tests tar-pax subdir-objects])
    1216
    1317# Checks for programs.
    14 AM_PATH_CPPUNIT(1.9.6)
    1518AC_PROG_CXX
    1619AC_PROG_INSTALL
    17 AC_PROG_MAKE_SET
     20
     21# check for cppunit (taken from svn.apache.org/../xmlbeanscxx)
     22AM_PATH_CPPUNIT(1.9.6)
     23AM_CONDITIONAL(CONDCPPUNIT, test "$CPPUNIT_LIBS")
     24
     25dnl Check if we have enable python
     26# python module
     27AC_MSG_CHECKING(whether to enable python module)
     28AC_ARG_ENABLE(
     29        [python],
     30        AS_HELP_STRING([--enable-python],[turn on python module [default=yes]]),
     31        enable_python=$enableval,
     32        enable_python="yes")
     33AC_MSG_RESULT($enable_python)
     34AS_IF([test x"$enable_python" != x"no"],[
     35  # Python (for boost::python)
     36  AM_PATH_PYTHON([2.2])
     37  AX_PYTHON
     38  AC_DEFINE(HAVE_PYTHON,1, ["Build python module and scripts."])
     39])
     40AM_CONDITIONAL([CONDPYTHON], [test x"$enable_python" != x"no"])
     41AC_SUBST(HAVE_PYTHON)
     42
     43dnl Check whether no extra thread for ActionQueue shall be used
     44AC_MSG_CHECKING(whether to enable ActionQueue's run thread)
     45AC_ARG_ENABLE(
     46        [action_thread],
     47        AS_HELP_STRING([--enable-action-thread],[turn on extra run thread for ActionQueue [default=yes]]),
     48        enable_action_thread=$enableval,
     49        enable_action_thread="no"
     50)
     51AC_MSG_RESULT($enable_action_thread)
     52AS_IF([test x"$enable_action_thread" != x"no"],[
     53  AC_DEFINE(HAVE_ACTION_THREAD,1, ["Have extra run thread for ActionQueue."])
     54])
     55AM_CONDITIONAL([CONDACTIONTHREAD], [test x"$enable_action_thread" != x"no"])
     56AC_SUBST(HAVE_ACTION_THREAD)
     57
     58dnl Check if we have enable qtgui
     59# Qt programs
     60AC_MSG_CHECKING(whether to enable Qt-based GUI)
     61AC_ARG_ENABLE(
     62        [qtgui],
     63        AS_HELP_STRING([--enable-qtgui],[turn on Qt GUI compilation [default=yes]]),
     64        enable_qtgui=$enableval,
     65        enable_qtgui="yes")
     66AC_MSG_RESULT($enable_qtgui)
     67AS_IF([test x"$enable_qtgui" != x"no"],[
     68        AC_ARG_WITH(
     69                [Qt-bin],
     70                [AS_HELP_STRING([--with-Qt-bin], [give path to Qt binaries])],
     71                [have_qtgui_path=$withval],
     72                have_qtgui_path="")
     73        AS_IF([test x"$have_qtgui_path" != x""],[
     74                AC_PATH_PROGS([QT_MOC],
     75                        [moc-qt4 moc],
     76                        [AC_MSG_ERROR(["Qts moc not found, please use --with-Qt-bin."])],
     77                        [$have_qtgui_path]
     78                )
     79                AC_PATH_PROGS([QT_RCC],
     80                        [rcc-qt4 rcc],
     81                        [AC_MSG_ERROR(["Qts rcc not found, please use --with-Qt-bin."])],
     82                        [$have_qtgui_path]
     83                )
     84                AC_PATH_PROGS([QT_UIC],
     85                        [uic-qt4 uic],
     86                        [AC_MSG_ERROR(["Qts uic not found, please use --with-Qt-bin."])],
     87                        [$have_qtgui_path]
     88                )
     89        ],[
     90                AC_PATH_PROGS([QT_MOC],
     91                        [moc-qt4 moc],
     92                        [AC_MSG_ERROR(["Qts moc not found, please use --with-Qt-bin."])]
     93                )
     94                AC_PATH_PROGS([QT_RCC],
     95                        [rcc-qt4 rcc],
     96                        [AC_MSG_ERROR(["Qts rcc not found, please use --with-Qt-bin."])]
     97                )
     98                AC_PATH_PROGS([QT_UIC],
     99                        [uic-qt4 uic],
     100                        [AC_MSG_ERROR(["Qts uic not found, please use --with-Qt-bin."])]
     101                )
     102        ])
     103        PKG_CHECK_MODULES([QT], [QtCore QtGui Qt3D], [
     104        ])
     105        AC_SUBST([QT_CFLAGS])
     106        AC_SUBST([QT_LIBS])
     107        AC_DEFINE(HAVE_QTGUI,1, ["Build Qt-based GUI"])
     108])
     109AM_CONDITIONAL([CONDQTGUI], [test x"$enable_qtgui" != x"no"])
     110AC_SUBST(HAVE_QTGUI)
     111
     112dnl Check whether qtgui captures log or not
     113AC_MSG_CHECKING(whether to capture stdout in qtgui)
     114AC_ARG_ENABLE(
     115        [qtgui_capture_log],
     116        AS_HELP_STRING([--enable-qtgui-capture-log],[turn on capturing of log inside qtgui [default=yes]]),
     117        enable_qtgui_capture_log=$enableval,
     118        enable_qtgui_capture_log="yes"
     119)
     120AC_MSG_RESULT($enable_qtgui_capture_log)
     121AS_IF([test x"$enable_qtgui_capture_log" != x"no"],[
     122  AC_DEFINE(QT_CAPTURES_LOG,1, ["Have QtGui capture the stdout."])
     123])
     124AC_SUBST(QT_CAPTURES_LOG)
     125
     126
     127# check additionally for QWT to enable plotting of potentials
     128AC_MSG_CHECKING(whether to enable Qwt-based plotting)
     129#enable_qwt=yes
     130AC_ARG_ENABLE(
     131        [qwt],
     132        AS_HELP_STRING([--enable-qwt],[turn on Qwt compilation [default=yes]]),
     133        enable_qwt=$enableval,
     134        enable_qwt="yes")
     135AC_MSG_RESULT($enable_qwt)
     136AS_IF([test x"$enable_qwt" != x"no"],[
     137        MOL_AC_HAVE_QWT_IFELSE(
     138                [
     139                        enable_qwt=yes
     140                        AC_DEFINE(HAVE_QWT,1, ["Build Qwt-based plotting"])
     141                ],
     142                [
     143                        enable_qwt=no
     144                        AC_MSG_WARN([Qwt not found, disabling plotting in QtUI.])
     145                ]
     146        )
     147])
     148AM_CONDITIONAL([CONDQWT], [test x"$enable_qwt" != x"no"])
     149AC_SUBST(HAVE_QWT)
    18150
    19151# use doxygen
     
    21153DX_PS_FEATURE(OFF)
    22154DX_PDF_FEATURE(OFF)
    23 DX_INIT_DOXYGEN(libcodepatterns, Doxyfile, ${docdir})
     155DX_INIT_DOXYGEN(MoleCuilder, Doxyfile, ${docdir})
     156
     157# use docbook
     158AX_CHECK_DOCBOOK
    24159
    25160# use libtool
    26 LT_INIT([disable-static])
     161LT_INIT([static])
    27162
    28163# Define these substitions here to keep all version information in one place.
     
    30165# refer to the libtool manual, section "Updating library version information":
    31166# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
    32 AC_SUBST([CODEPATTERNS_SO_VERSION], [12:2:0])
    33 AC_SUBST([CODEPATTERNS_API_VERSION], [1.3.2])
     167AC_SUBST([MOLECUILDER_SO_VERSION], [17:0:0])
     168AC_SUBST([MOLECUILDER_API_VERSION], [1.5.4])
     169
     170dnl this macro is used to get the arguments supplied
     171dnl to the configure script (./configure --enable-debug)
     172dnl Check if we have enable debug support.
     173AC_MSG_CHECKING(whether to enable debugging)
     174have_debug="no"
     175AC_ARG_ENABLE(
     176        [debug],
     177        AS_HELP_STRING([--enable-debug],[turn on debugging [default=no]]),
     178        enable_debug=$enableval,
     179        enable_debug="no")
     180AC_MSG_RESULT($enable_debug)
     181AS_IF([test x"$enable_debug" = x"yes"],[
     182  AC_DEFINE(MEMDEBUG,1, ["Use memory debugger."])
     183  AC_DEFINE(HAVE_DEBUG,1, ["Use debug setting to compile code."])
     184  have_debug="yes"
     185],[
     186        AS_IF([test x"$enable_debug" = x"full"],[
     187          AC_DEFINE(MEMDEBUG,1, ["Use memory debugger."])
     188          AC_DEFINE(LOG_OBSERVER,1, ["Use observer log."])
     189          AC_DEFINE(HAVE_DEBUG,2, ["Use debug setting to compile code."])
     190          dnl AC_DEFINE(QT_DEBUG,, ["Enable Qt debug messages."])
     191          have_debug="full"
     192        ],[
     193          AC_DEFINE(NDEBUG,1, ["Don't compile in debugging code."])
     194          AC_DEFINE(HAVE_DEBUG,0, ["Use debug setting to compile code."])
     195          AC_DEFINE(QT_NO_DEBUG_OUTPUT,, ["Disable Qt debug messages."])
     196          have_debug="no"
     197        ])
     198])
     199AC_SUBST(HAVE_DEBUG)
     200
     201dnl this macro is used to get the arguments supplied
     202dnl to the configure script (./configure --enable-debug)
     203dnl Check if we have enable debug support.
     204AC_MSG_CHECKING(whether to enable internal caching/lazy evaluation)
     205AC_ARG_ENABLE(
     206        [cache],
     207        AS_HELP_STRING([--enable-cache],[turn on internal lazy evaluation [default=yes]]),
     208        enable_cache=$enableval,
     209        enable_cache="yes")
     210AC_MSG_RESULT($enable_cache)
     211AS_IF([test x"$enable_cache" != x"no"],[
     212  AC_DEFINE(HAVE_CACHE,1, ["cache variables to speed up the code."])
     213],[
     214  AC_DEFINE(NO_CACHING,1, ["Don't use caching code."])
     215  AC_DEFINE(HAVE_CACHE,0, ["cache variables to speed up the code."])
     216])
     217AC_SUBST(HAVE_CACHE)
    34218
    35219# Checks for libraries.
    36 # FIXME: Replace `main' with a function in `-ldl':
    37 AC_CHECK_LIB([dl], [main])
    38 
    39 # Boost libraries
     220AC_CHECK_LIB(m, sqrt, , AC_MSG_ERROR([compatible libc math library not found]))
     221
     222# Pthreads
     223ACX_PTHREAD()
     224
     225# Boost
    40226BOOST_REQUIRE([1.40])
     227
     228# Boost headers only
     229BOOST_ANY
     230BOOST_ARRAY
     231BOOST_BIMAP
    41232BOOST_BIND
     233BOOST_CAST
     234BOOST_CONVERSION
     235BOOST_EXCEPTION
     236BOOST_FOREACH
    42237BOOST_FUNCTION
     238BOOST_FUSION
     239BOOST_GRAPH
    43240BOOST_ITERATOR
    44 BOOST_OPTIONAL
     241BOOST_MULTIARRAY
     242BOOST_MULTIINDEXCONTAINER
     243BOOST_MPL
    45244BOOST_PREPROCESSOR
     245BOOST_RANDOM
     246BOOST_SMART_PTR
     247BOOST_STRING_ALGO
     248BOOST_TOKENIZER
     249
     250# Boost headers with libraries
     251BOOST_FILESYSTEM
     252BOOST_IOSTREAMS
    46253BOOST_PROGRAM_OPTIONS
     254AS_IF([test x"$enable_python" != x"no"], [BOOST_PYTHON])
    47255BOOST_SERIALIZATION
    48 BOOST_SMART_PTR
    49256BOOST_THREADS
    50 BOOST_TOKENIZER
     257
     258
     259# CodePatterns library (requiring UnobservedIterator)
     260AM_PATH_CODEPATTERNS([1.3.1], $have_debug,,[AC_MSG_ERROR([Missing CodePatterns library, please specify PKG_CONFIG_PATH or use --with-codepatterns...])])
     261
     262# JobMarket library (needs boost/archive/iserializer.hpp before MemDebug.hpp)
     263AC_MSG_CHECKING(whether to enable jobmarket)
     264AC_ARG_ENABLE(
     265  [jobmarket],
     266  AS_HELP_STRING([--enable-jobmarket],[turn on JobMarket feature [default=yes]]),
     267  enable_jobmarket=$enableval,
     268  enable_jobmarket="yes")
     269AC_MSG_RESULT($enable_jobmarket)
     270AS_IF([test x"$enable_jobmarket" != x"no"],[
     271  # JobMarket library (needs SystemCommandJob with suffix)
     272  AM_PATH_JOBMARKET([1.1.5], $have_debug,[
     273    # the following is only required if we have JobMarket
     274    BOOST_ASIO
     275    AC_DEFINE(HAVE_JOBMARKET,1, ["use JobMarket to calculate fragment jobs."])
     276    ],[
     277      enable_jobmarket="no"
     278    ])
     279]
     280#[
     281#  AC_DEFINE(HAVE_JOBMARKET,0, ["use JobMarket to calculate fragment jobs."])
     282#]
     283)
     284AC_SUBST(HAVE_JOBMARKET)
     285AM_CONDITIONAL([CONDJOBMARKET], [test x"$enable_jobmarket" = x"yes"])
     286
     287# VMG library
     288AC_MSG_CHECKING(whether to compile in long-range support via VMG)
     289AC_ARG_ENABLE(
     290  [vmg],
     291  [AS_HELP_STRING([--enable-vmg], [turn on long-range potential calculation via VMG [default=no]])],
     292  [enable_vmg=$enableval],
     293  enable_vmg="no")
     294AC_MSG_RESULT($enable_vmg)
     295AS_IF([test x"$enable_vmg" != x"no"],[
     296  PKG_CHECK_MODULES(VMG, VMG >= 0.1)
     297  AC_SUBST(VMG_CFLAGS)
     298  AC_SUBST(VMG_LIBS)
     299  AC_DEFINE(HAVE_VMG,1, ["use VMG to calculate long-range contributions."])
     300
     301  # check whether to use mpi
     302  AC_ARG_WITH(
     303      [vmg-mpi],
     304      [AS_HELP_STRING([--with-vmg-mpi], [whether to use MPI for communication in VMGJobs])],
     305      [with_vmg_mpi=yes],
     306      [with_vmg_mpi=no])
     307  AS_IF(
     308    [test "x$with_vmg_mpi" != xno],
     309    [
     310      AC_LANG_SAVE
     311      AC_LANG_CPLUSPLUS
     312      LX_FIND_MPI
     313      AC_LANG_RESTORE
     314      AS_IF([test "x$have_CXX_mpi" = xyes],[
     315            AC_DEFINE([MPICH_SKIP_MPICXX], [1], [Skip C++ bindings])
     316            AC_DEFINE([OMPI_SKIP_MPICXX], [1], [Skip C++ bindings])
     317            AC_DEFINE([MPI_NO_CPPBIND], [1], [Skip C++ bindings])
     318            AC_DEFINE([_MPICC_H], [1], [Skip C++ bindings])
     319            AC_DEFINE([MPIBULL_SKIP_MPICXX], [1], [Skip C++ bindings])
     320           ])
     321    ],
     322    [])
     323])
     324AM_CONDITIONAL([CONDVMG], [test x"$enable_vmg" = x"yes"])
     325AM_CONDITIONAL([CONDVMGMPI], [test x"$have_CXX_mpi" = x"yes"])
     326
     327
     328# Check for Levenberg-Marquardt implementation
     329AC_MSG_CHECKING(whether to enable function fitting via levmar)
     330AC_ARG_ENABLE(
     331  [levmar],
     332  AS_HELP_STRING([--enable-levmar],[turn on LevMar feature [default=no]]),
     333  enable_levmar=$enableval,
     334  enable_levmar="no")
     335AC_MSG_RESULT($enable_levmar)
     336# don't use AS_IF here as it expands (and tests) AC_F77_FUN even if levmar
     337# is disabled.
     338if test x"$enable_levmar" = xyes; then
     339        AX_LAPACK([enable_levmar=yes],
     340                [enable_levmar=no
     341                AC_MSG_WARN(["Missing LAPACK, disabling off levmar"])
     342                ]
     343        )
     344fi
     345AS_IF([test x"$enable_levmar" = xyes],[
     346        AC_MSG_CHECKING(for levmar presence via given path )
     347        AC_ARG_WITH(
     348                [levmar],
     349                [AS_HELP_STRING([--with-levmar], [give path to LevMar package])],
     350                [have_levmar_path=$withval
     351                enable_levmar=yes],
     352                [enable_levmar=no])
     353        AC_MSG_RESULT($enable_levmar)
     354        AS_IF([test -n "$have_levmar_path"],[
     355                LEVMAR_CPPFLAGS="-I${have_levmar_path}/include"
     356                LEVMAR_LDFLAGS="-L${have_levmar_path}/lib"
     357                LEVMAR_LIBS="-llevmar"],[
     358                PKG_CHECK_MODULES([LEVMAR],[levmar],[enable_levmar=yes],[
     359                        AC_MSG_CHECKING(for levmar presence via locate)
     360                        enable_levmar=no
     361                        levmar_lib=`locate liblevmar.a | head -n 1 | xargs dirname`
     362                        levmar_include=`locate levmar.h | head -n 1 | xargs dirname`
     363                        if test -n "$levmar_lib"; then
     364                                if test -n "$levmar_include"; then
     365                                        enable_levmar=yes
     366                                        LEVMAR_CPPFLAGS="-I${levmar_include}"
     367                                        LEVMAR_LDFLAGS="-L${levmar_lib}"
     368                                        LEVMAR_LIBS="-llevmar"
     369                                fi
     370                        fi
     371                        AC_MSG_RESULT($enable_levmar)
     372                ])
     373        ])
     374        ],[enable_levmar=no]
     375)
     376AC_MSG_CHECKING(for levmar usability)
     377AS_IF([test x"$enable_levmar" = xyes],[
     378        AC_SUBST(LEVMAR_CPPFLAGS)
     379        AC_SUBST(LEVMAR_LDFLAGS)
     380        AC_SUBST(LEVMAR_LIBS)
     381        AC_DEFINE(HAVE_LEVMAR,1, ["use levmar for non-linear minimisation/potential fitting."])])
     382AC_MSG_RESULT($enable_levmar)
     383AM_CONDITIONAL([CONDLEVMAR], [test x"$enable_levmar" = x"yes"])
     384
     385# Checks for header files.
     386AC_HEADER_STDC
     387AC_CHECK_HEADERS([sys/time.h])
     388AC_HEADER_STDBOOL
     389
     390AC_FUNC_MALLOC
     391AC_FUNC_REALLOC
     392AC_CHECK_FUNCS([floor pow sqrt strchr])
    51393
    52394# Checks for typedefs, structures, and compiler characteristics.
    53 AC_HEADER_STDBOOL
     395AC_C_CONST
    54396AC_C_INLINE
     397AC_C_RESTRICT
    55398AC_TYPE_SIZE_T
    56 AC_CHECK_HEADERS([time.h])
    57 AC_CHECK_HEADERS([sys/time.h])
    58 AC_CHECK_HEADERS([sys/times.h])
    59 AC_CHECK_HEADERS([unistd.h])
    60 AC_CXX_HAVE_VALARRAY
    61 
    62 LIBRT=""
    63 AS_IF([test x"$ac_cv_header_time_h" = xyes],
    64         AC_CHECK_LIB(rt, clock_gettime, [LIBRT="-lrt"])
    65         AC_SUBST(LIBRT)
    66 )
    67399
    68400# Checks for library functions.
    69 AC_FUNC_MALLOC
    70 AC_CHECK_FUNCS([memset])
    71 
    72 # -${CODEPATTERNS_API_VERSION}
    73 AC_CONFIG_FILES([
    74   libcodepatterns.pc:libcodepatterns.pc.in])
    75 AC_CONFIG_FILES([
    76   libcodepatterns-debug.pc:libcodepatterns-debug.pc.in])
    77 AC_CONFIG_FILES([
    78         Makefile
     401# check for GNU Scientific Library
     402AC_CHECK_HEADERS([gsl/gsl_blas.h])
     403AC_SEARCH_LIBS(dnrm2, gslblas gslcblas goto blas cblas)
     404AC_SEARCH_LIBS(cblas_dnrm2, gslblas gslcblas blas cblas)
     405AC_SEARCH_LIBS(gsl_blas_dnrm2,, gsl)
     406#AC_CHECK_LIB(gsl, gsl_blas_dnrm2, , [AC_MSG_ERROR(["No working BLAS found for GSL, stopping."])])
     407AC_CHECK_LIB(gsl, main)
     408
     409# use CppUnit TestRunner or not
     410AC_MSG_CHECKING(whether to enable ECut TestRunnerClient)
     411AC_ARG_ENABLE(
     412        [ecut],
     413        AS_HELP_STRING([--enable-ecut],[Use ECut TestRunnerClient [default=no]]),
     414        enable_ecut=$disableval,
     415        enable_ecut="no")
     416AC_MSG_RESULT($enable_ecut)
     417AS_IF([test x"$enable_ecut" = x"yes"],[
     418  AC_DEFINE(HAVE_ECUT,1, ["Use ECut TestRunnerClient instead of our own."])
     419  AC_SUBST(HAVE_ECUT)
     420])
     421AM_CONDITIONAL([CONDECUT], [test x"$enable_ecut" = x"yes"])
     422
     423# with valgrinding testsuite or not
     424AC_MSG_CHECKING(whether to enable valgrind memory checking in testsuite)
     425AC_ARG_ENABLE(
     426        [valgrind],
     427        AS_HELP_STRING([--enable-valgrind],[Use Valgrind on the testsuite [default=no]]),
     428        enable_valgrind=$enableval,
     429        enable_valgrind="no")
     430AC_MSG_RESULT($enable_valgrind)
     431AS_IF([test x"$enable_valgrind" = x"yes"], [
     432  AC_CHECK_HEADER([valgrind/valgrind.h],
     433    [
     434      # check header
     435      AC_DEFINE(HAVE_VALGRIND_TESTSUITE,1, ["Use Valgrind to check the testsuite."])
     436      # check path
     437      AC_PATH_PROG(VALGRIND, [valgrind], [/bin/false])
     438      # set variables
     439      AC_SUBST(HAVE_VALGRIND_TESTSUITE)
     440      AC_SUBST(VALGRIND)
     441    ],
     442    [
     443      AC_MSG_ERROR(["Valgrind support requested but headers not available."])
     444    ]
     445  )
     446])
     447
     448# Check for "extern inline", using a modified version
     449# of the test for AC_C_INLINE from acspecific.mt
     450AC_CACHE_CHECK([for extern inline], ac_cv_c_extern_inline,
     451[ac_cv_c_extern_inline=no
     452AC_TRY_COMPILE([extern $ac_cv_c_inline double foo(double x);
     453extern $ac_cv_c_inline double foo(double x) { return x+1.0; };
     454double foo (double x) { return x + 1.0; };],
     455[  foo(1.0)  ],
     456[ac_cv_c_extern_inline="yes"])
     457])
     458
     459if test "$ac_cv_c_inline" != no ; then
     460  AC_DEFINE(HAVE_INLINE,1, ["May use inline routines"])
     461  AC_SUBST(HAVE_INLINE)
     462fi
     463
     464#AC_MSG_NOTICE(["CFLAGS: $CFLAGS, CXXFLAGS: $CXXFLAGS, LDFLAGS: $LDFLAGS, CC: $CC, CXX:, $CXX, MPICC: $MPICC, MPILIBS: $MPILIBS, LIBS: $LIBS"])
     465
     466# test suite
     467
     468AC_CONFIG_FILES([
     469        tests/Makefile])
     470
     471AC_CONFIG_TESTDIR(tests/Calculations)
     472AC_CONFIG_FILES([
     473        tests/Calculations/atlocal
     474        tests/Calculations/Makefile])
     475AC_CONFIG_FILES([tests/Calculations/molecuilder], [chmod +x tests/Calculations/molecuilder])
     476
     477AC_CONFIG_TESTDIR(tests/CodeChecks)
     478AC_CONFIG_FILES([
     479        tests/CodeChecks/atlocal
     480        tests/CodeChecks/Makefile])
     481
     482AC_CONFIG_TESTDIR(tests/Fragmentations)
     483AC_CONFIG_FILES([
     484        tests/Fragmentations/atlocal
     485        tests/Fragmentations/Makefile])
     486AC_CONFIG_FILES([tests/Fragmentations/molecuilder], [chmod +x tests/Fragmentations/molecuilder])
     487
     488AC_CONFIG_TESTDIR(tests/GuiChecks)
     489AC_CONFIG_FILES([
     490        tests/GuiChecks/atlocal
     491        tests/GuiChecks/Makefile])
     492AC_CONFIG_FILES([tests/GuiChecks/molecuilder], [chmod +x tests/GuiChecks/molecuilder])
     493AC_CONFIG_FILES([tests/GuiChecks/molecuilderguitest], [chmod +x tests/GuiChecks/molecuilderguitest])
     494AC_CONFIG_FILES([tests/GuiChecks/adjacencymatcher], [chmod +x tests/GuiChecks/adjacencymatcher])
     495AC_CONFIG_FILES([tests/GuiChecks/trianglematcher], [chmod +x tests/GuiChecks/trianglematcher])
     496
     497AC_CONFIG_TESTDIR(tests/JobMarket)
     498AC_CONFIG_FILES([
     499  tests/JobMarket/atlocal
     500  tests/JobMarket/Makefile])
     501AC_CONFIG_FILES([tests/JobMarket/molecuilder], [chmod +x tests/JobMarket/molecuilder])
     502
     503AC_CONFIG_TESTDIR(tests/regression)
     504AC_CONFIG_FILES([
     505        tests/regression/atlocal
     506        tests/regression/Makefile])
     507AC_CONFIG_FILES([tests/regression/molecuilder], [chmod +x tests/regression/molecuilder])
     508AC_CONFIG_FILES([tests/regression/adjacencymatcher], [chmod +x tests/regression/adjacencymatcher])
     509AC_CONFIG_FILES([tests/regression/trianglematcher], [chmod +x tests/regression/trianglematcher])
     510AC_CONFIG_FILES([tests/regression/runpython], [chmod +x tests/regression/runpython])
     511
     512AC_CONFIG_TESTDIR(tests/Tesselations)
     513AC_CONFIG_FILES([
     514        tests/Tesselations/atlocal
     515        tests/Tesselations/Makefile])
     516AC_CONFIG_FILES([tests/Tesselations/molecuilder], [chmod +x tests/Tesselations/molecuilder])
     517AC_CONFIG_FILES([tests/Tesselations/trianglematcher], [chmod +x tests/Tesselations/trianglematcher])
     518
     519AC_CONFIG_FILES([
     520        doc/molecuilder.xml])
     521AC_CONFIG_FILES([
     522        doc/userguide/catalog.xml:doc/userguide/catalog.xml.in])
     523AC_CONFIG_FILES([
     524        MoleCuilder.pc:MoleCuilder.pc.in])
     525AC_CONFIG_FILES([
    79526        doc/Makefile
     527        doc/userguide/Makefile
     528])
     529AC_CONFIG_FILES([
     530        Makefile
    80531        src/Makefile
    81         src/Helpers/Makefile
    82         src/Observer/Makefile
    83         src/Patterns/Makefile
     532        src/Bond/AdjacencyMatcher/Makefile
     533        src/Tesselation/TriangleMatcher/Makefile
     534        data/icons/Makefile
     535        utils/Makefile
     536])
     537AC_CONFIG_FILES([
    84538        src/unittests/Makefile
    85         ])
     539])
     540
     541# produce python scripts and tests only when python's present
     542AC_CONFIG_TESTDIR([tests/Python])
     543AC_CONFIG_FILES([tests/Python/atlocal])
     544AM_COND_IF([CONDPYTHON],[
     545        AC_CONFIG_FILES([utils/Python/boxmaker.py:utils/Python/boxmaker.py.in], [chmod +x utils/Python/boxmaker.py])
     546        AC_CONFIG_FILES([utils/Python/python_wrapper:utils/Python/python_wrapper.in], [chmod +x utils/Python/python_wrapper])
     547        AC_CONFIG_FILES([tests/Python/run], [chmod +x tests/Python/run])
     548])
     549AC_CONFIG_FILES([tests/Python/Makefile])
     550
    86551AC_OUTPUT
  • debian/changelog

    r084729c r41e8e2  
    1 libcodepatterns (1.3.2-1) UNRELEASED; urgency=low
     1molecuilder (1.5.4-1) UNRELEASED; urgency=low
    22
    3   * Added AtomicInstance to guarantee locked access to an instance.
    4   * Singleton may serve AtomicInstance, too.
     3  * initial code for allowing charge grids for long-range calculations to work
     4    independently for fragments.
     5  * fixes to SaturateBond, now properly working by using full
     6    SphericalPointDistribution and combinatorial matching to present bonds.
     7  * fragment results can now be parsed and save in extra action, not bound to
     8    fragmentationautomation oder analysefragmentresults.
     9  * fixed fragmentation on subset of atoms.
     10  * QtFragmentList now supports proper sorting.
     11  * logview in GUI may be disabled by configure-switch.
     12  * fitted partial charges are now stored using save/parse-particle-parameters.
     13  * introduced implicit charges.
     14  * fragmentation-automation fails when server is not/no longer accessible.
     15  * fit-partial-charges fits to currently selected atoms and creates unique
     16    particles.
     17  * removed parse-tremolo-potentials as is superceded by
     18    parse-particle-parameters.
    519
    6  -- Frederik Heber <heber@molecuilder.com>  Thu, 05 May 2016 11:32:00 +0100
     20 -- Frederik Heber <heber@molecuilder.com>  Fri, 30 Sep 2016 17:45:24 +0200
    721
    8 libcodepatterns (1.3.1-1) UNRELEASED; urgency=low
     22molecuilder (1.5.3-1) UNRELEASED; urgency=low
     23 
     24  * QtGui now crashes only in 1-2% of all regression tests (new record).
     25  * we copy all information regarding visual entities and regaring the
     26    displayed lists via QtObserved... instances or via central ..Observer
     27    entities.
     28 
     29 -- Frederik Heber <heber@molecuilder.com>  Sun, 25 Apr 2016 09:11:24 +0200
    930
    10   * Added UnobservedIterator.
    11   * ObserverLog is protected by mutexes as well.
     31molecuilder (1.5.2-1) UNRELEASED; urgency=low
     32 
     33  * Introduced QtObservedInstanceBoard as clean interface between World and QtGui.
     34  * Bugfix to FillRegularGrid.
     35  * FitParticleCharge -> FitPartialCharge.
     36 
     37 -- Frederik Heber <heber@molecuilder.com>  Sun, 03 Mar 2016 13:48:57 +0100
    1238
    13  -- Frederik Heber <heber@molecuilder.com>  Sat, 06 Feb 2016 23:15:00 +0100
     39molecuilder (1.5.1-1) UNRELEASED; urgency=low
     40 
     41  * Incorporated libcodepatterns rename and other fixes for debian packaging.
     42  * More efficient bounding box in molecule, effectively O(log N).
     43  * Enhanced hbond distances with more values and consolidated from
     44    optimization calculations.
     45  * VMG forces now are also working for the long-range part.
     46  * Interdistance now combines couples of fragments till a given order.
     47  * Smearing of electronic charge distributions greatly improves electronic
     48    long-range component.
     49 
     50 -- Frederik Heber <heber@molecuilder.com>  Sun, 06 Feb 2016 23:16:00 +0100
    1451
    15 libcodepatterns (1.3.0-1) UNRELEASED; urgency=low
    16 
    17   * Introducing ObservedValue.
    18   * Using mutexes to protected Observer/Observables in multi-threaded codes.
    19 
    20  -- Frederik Heber <heber@molecuilder.com>  Sat, 25 Jul 2015 18:42:00 +0100
    21 
    22 libcodepatterns (1.2.9-1) UNRELEASED; urgency=low
     52molecuilder (1.5.0-1) UNRELEASED; urgency=low
    2353 
    24   * Initial Release. Closes: #12345
     54  * Initial Release.
    2555  * This is my first Debian package.
    2656 
    27  -- Frederik Heber <heber@molecuilder.com>  Sat, 23 May 2015 09:48:00 +0100
     57 -- Frederik Heber <heber@molecuilder.com>  Sun, 09 Aug 2015 21:37:00 +0100
  • debian/control

    r084729c r41e8e2  
    1 Source: libcodepatterns
    2 Section: libs
     1Source:molecuilder
     2Section: science
    33Priority: optional
    44Maintainer: Frederik Heber <heber@molecuilder.com>
    5 Build-Depends: debhelper (>=9), cdbs, autoconf, automake (>=1.11),
    6  libboost-dev (>=1.46), libboost-program-options-dev (>=1.46),
    7  libboost-serialization-dev (>=1.46), libboost-thread-dev (>= 1.46),
    8  libcppunit-dev (>=1.12), doxygen (>= 1.7.6)
     5Build-Depends: debhelper (>=9), cdbs, autoconf, automake (>=1.11), pkg-config,
     6 gfortran, libgpg-error0, libboost-dev (>=1.46), libboost-python-dev (>=1.46),
     7 libboost-program-options-dev (>=1.46), libboost-serialization-dev (>=1.46),
     8 libboost-graph-dev (>=1.46), libboost-system-dev (>=1.46),
     9 libboost-filesystem-dev (>=1.46), libboost-iostreams-dev (>=1.46),
     10 libboost-python-dev (>=1.46), python (>=2.7), python-dev (>=2.7), libgsl0-dev,
     11 libcodepatterns (>=1.3.0), liblapack-dev (>= 3.3.1), levmar (>=2.6),
     12 units, libcppunit-dev (>=1.12), libqt4-dev (>=4.8.5), libqt4-3d-dev (>=1.0),
     13 libqwt5-qt4-dev (>=5.2.2), doxygen (>=1.7.6), graphviz (>= 2.26.3)
    914Build-Conflicts: autoconf2.13, automake1.4
    1015Standards-Version: 3.9.3
    11 Homepage: https://www.molecuilder.com/projects/codepatterns
     16Homepage: https://www.molecuilder.de/
    1217
    13 Package: libcodepatterns
     18Package: molecuilder
    1419Architecture: any
    1520Depends: ${shlibs:Depends}, ${misc:Depends}
    16 Description: C++ library containing some frequently used patterns
    17  Codepatterns contains a list of design patterns such as Singleton,
    18  Observer/Observable, logging, ... that are frequently employed
    19  concepts in C++ code. It is especially used by the package molecuilder.
     21Suggests: mpqc, psi3
     22Description: creates, alters and prepares molecular systems for simulations
     23 MoleCuilder is a tool for preparing molecular systems for molecular
     24 dynamics simulations. You add, modify, and manipulate atoms and molecules.
     25 Empirical potentials parametrizations can be calculated via an efficient
     26 fragmentation scheme from ab-initio calculations.
    2027
     28Package: molecuilder-dbg
     29Architecture: any
     30Section: debug
     31Priority: extra
     32Depends:
     33    molecuilder (= ${binary:Version}),
     34    ${misc:Depends}
     35Description: debugging symbols for molecuilder
     36 MoleCuilder is a tool for preparing molecular systems for molecular
     37 dynamics simulations. You add, modify, and manipulate atoms and molecules.
     38 Empirical potentials parametrizations can be calculated via an efficient
     39 fragmentation scheme from ab-initio calculations.
     40 .
     41 This package contains the debugging symbols for molecuilder.
     42
     43Package: molecuilder-dev
     44Architecture: any
     45Priority: extra
     46Depends:
     47    molecuilder (= ${binary:Version}),
     48    ${misc:Depends}
     49Description: headers for molecuilder
     50 MoleCuilder is a tool for preparing molecular systems for molecular
     51 dynamics simulations. You add, modify, and manipulate atoms and molecules.
     52 Empirical potentials parametrizations can be calculated via an efficient
     53 fragmentation scheme from ab-initio calculations.
     54 .
     55 This package contains everything to compile against molecuilder.
  • debian/copyright

    r084729c r41e8e2  
    22Upstream-Name: CodePatterns
    33Upstream-Contact: Frederik Heber <heber@ins.uni-bonn.de>
    4 Source: https://trac.ins.uni-bonn.de/projects/codepatterns/
     4Source: https://www.molecuilder.de/
    55
    66Files: *
    7 Copyright:  2007-2015 Frederik Heber
     7Copyright:  2007-2016 Frederik Heber
    88License: GPL-2
    99 This program is free software; you can redistribute it
  • debian/rules

    r084729c r41e8e2  
    44include /usr/share/cdbs/1/class/autotools.mk
    55
    6 DEB_CONFIGURE_SCRIPT_ENV += CXXFLAGS=" -DNO_MEMDEBUG"
     6DEB_CONFIGURE_EXTRA_FLAGS += --disable-debug --disable-action-thread --disable-jobmarket --disable-vmg --enable-python --enable-qtgui --enable-qwt --enable-levmar
    77
    88DEB_MAKE_CHECK_TARGET = check
     9
     10DEB_DH_STRIP_ARGS := --dbg-package=molecuilder-dbg
     11
     12#include /usr/share/gnome-pkg-tools/1/rules/clean-la.mk
  • doc/Doxyfile

    • Property mode changed from 100644 to 100755
    r084729c r41e8e2  
    1 # Doxyfile 1.6.3
     1# Doxyfile 1.4.5
    22
    3 # This file describes the settings to be used by the documentation system
    4 # doxygen (www.doxygen.org) for a project
    5 #
    6 # All text after a hash (#) is considered a comment and will be ignored
    7 # The format is:
    8 #       TAG = value [value, ...]
    9 # For lists items can also be appended using:
    10 #       TAG += value [value, ...]
    11 # Values that contain spaces should be placed between quotes (" ")
    12 
    133#---------------------------------------------------------------------------
    144# Project related configuration options
    155#---------------------------------------------------------------------------
    16 
    17 # This tag specifies the encoding used for all characters in the config file
    18 # that follow. The default is UTF-8 which is also the encoding used for all
    19 # text before the first occurrence of this tag. Doxygen uses libiconv (or the
    20 # iconv built into libc) for the transcoding. See
    21 # http://www.gnu.org/software/libiconv for the list of possible encodings.
    22 
    23 DOXYFILE_ENCODING      = UTF-8
    24 
    25 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
    26 # by quotes) that should identify the project.
    27 
    28 PROJECT_NAME           = $(PROJECT)-$(VERSION)
    29 
    30 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
    31 # This could be handy for archiving the generated documentation or
    32 # if some version control system is used.
    33 
    34 PROJECT_NUMBER         =
    35 
    36 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
    37 # base path where the generated documentation will be put.
    38 # If a relative path is entered, it will be relative to the location
    39 # where doxygen was started. If left blank the current directory will be used.
    40 
     6PROJECT_NAME           = $(PROJECT)
     7PROJECT_NUMBER         = $(VERSION)
    418OUTPUT_DIRECTORY       = $(DOCDIR)
    42 
    43 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
    44 # 4096 sub-directories (in 2 levels) under the output directory of each output
    45 # format and will distribute the generated files over these directories.
    46 # Enabling this option can be useful when feeding doxygen a huge amount of
    47 # source files, where putting all generated files in the same directory would
    48 # otherwise cause performance problems for the file system.
    49 
    509CREATE_SUBDIRS         = NO
    51 
    52 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
    53 # documentation generated by doxygen is written. Doxygen will use this
    54 # information to generate all constant output in the proper language.
    55 # The default language is English, other supported languages are:
    56 # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
    57 # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
    58 # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
    59 # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
    60 # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
    61 # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
    62 
    6310OUTPUT_LANGUAGE        = English
    64 
    65 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
    66 # include brief member descriptions after the members that are listed in
    67 # the file and class documentation (similar to JavaDoc).
    68 # Set to NO to disable this.
    69 
     11USE_WINDOWS_ENCODING   = YES
    7012BRIEF_MEMBER_DESC      = YES
    71 
    72 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
    73 # the brief description of a member or function before the detailed description.
    74 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
    75 # brief descriptions will be completely suppressed.
    76 
    7713REPEAT_BRIEF           = YES
    78 
    79 # This tag implements a quasi-intelligent brief description abbreviator
    80 # that is used to form the text in various listings. Each string
    81 # in this list, if found as the leading text of the brief description, will be
    82 # stripped from the text and the result after processing the whole list, is
    83 # used as the annotated text. Otherwise, the brief description is used as-is.
    84 # If left blank, the following values are used ("$name" is automatically
    85 # replaced with the name of the entity): "The $name class" "The $name widget"
    86 # "The $name file" "is" "provides" "specifies" "contains"
    87 # "represents" "a" "an" "the"
    88 
    8914ABBREVIATE_BRIEF       = "The $name class" \
    9015                         "The $name widget" \
     
    9823                         an \
    9924                         the
    100 
    101 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
    102 # Doxygen will generate a detailed section even if there is only a brief
    103 # description.
    104 
    10525ALWAYS_DETAILED_SEC    = NO
    106 
    107 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
    108 # inherited members of a class in the documentation of that class as if those
    109 # members were ordinary class members. Constructors, destructors and assignment
    110 # operators of the base classes will not be shown.
    111 
    11226INLINE_INHERITED_MEMB  = NO
    113 
    114 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
    115 # path before files name in the file list and in the header files. If set
    116 # to NO the shortest path that makes the file name unique will be used.
    117 
    11827FULL_PATH_NAMES        = YES
    119 
    120 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
    121 # can be used to strip a user-defined part of the path. Stripping is
    122 # only done if one of the specified strings matches the left-hand part of
    123 # the path. The tag can be used to show relative paths in the file list.
    124 # If left blank the directory from which doxygen is run is used as the
    125 # path to strip.
    126 
    12728STRIP_FROM_PATH        = ../bin/
    128 
    129 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
    130 # the path mentioned in the documentation of a class, which tells
    131 # the reader which header file to include in order to use a class.
    132 # If left blank only the name of the header file containing the class
    133 # definition is used. Otherwise one should specify the include paths that
    134 # are normally passed to the compiler using the -I flag.
    135 
    136 STRIP_FROM_INC_PATH    =
    137 
    138 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
    139 # (but less readable) file names. This can be useful is your file systems
    140 # doesn't support long names like on DOS, Mac, or CD-ROM.
    141 
     29STRIP_FROM_INC_PATH    =
    14230SHORT_NAMES            = NO
    143 
    144 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
    145 # will interpret the first line (until the first dot) of a JavaDoc-style
    146 # comment as the brief description. If set to NO, the JavaDoc
    147 # comments will behave just like regular Qt-style comments
    148 # (thus requiring an explicit @brief command for a brief description.)
    149 
    15031JAVADOC_AUTOBRIEF      = YES
    151 
    152 # If the QT_AUTOBRIEF tag is set to YES then Doxygen will
    153 # interpret the first line (until the first dot) of a Qt-style
    154 # comment as the brief description. If set to NO, the comments
    155 # will behave just like regular Qt-style comments (thus requiring
    156 # an explicit \brief command for a brief description.)
    157 
    158 QT_AUTOBRIEF           = NO
    159 
    160 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
    161 # treat a multi-line C++ special comment block (i.e. a block of //! or ///
    162 # comments) as a brief description. This used to be the default behaviour.
    163 # The new default is to treat a multi-line C++ comment block as a detailed
    164 # description. Set this tag to YES if you prefer the old behaviour instead.
    165 
    16632MULTILINE_CPP_IS_BRIEF = NO
    167 
    168 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
    169 # member inherits the documentation from any documented member that it
    170 # re-implements.
    171 
     33DETAILS_AT_TOP         = NO
    17234INHERIT_DOCS           = YES
    173 
    174 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
    175 # a new page for each member. If set to NO, the documentation of a member will
    176 # be part of the file/class/namespace that contains it.
    177 
    17835SEPARATE_MEMBER_PAGES  = NO
    179 
    180 # The TAB_SIZE tag can be used to set the number of spaces in a tab.
    181 # Doxygen uses this value to replace tabs by spaces in code fragments.
    182 
    18336TAB_SIZE               = 3
    184 
    185 # This tag can be used to specify a number of aliases that acts
    186 # as commands in the documentation. An alias has the form "name=value".
    187 # For example adding "sideeffect=\par Side Effects:\n" will allow you to
    188 # put the command \sideeffect (or @sideeffect) in the documentation, which
    189 # will result in a user-defined paragraph with heading "Side Effects:".
    190 # You can put \n's in the value part of an alias to insert newlines.
    191 
    192 ALIASES                =
    193 
    194 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
    195 # sources only. Doxygen will then generate output that is more tailored for C.
    196 # For instance, some of the names that are used will be different. The list
    197 # of all members will be omitted, etc.
    198 
     37ALIASES                =
    19938OPTIMIZE_OUTPUT_FOR_C  = YES
    200 
    201 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
    202 # sources only. Doxygen will then generate output that is more tailored for
    203 # Java. For instance, namespaces will be presented as packages, qualified
    204 # scopes will look different, etc.
    205 
    20639OPTIMIZE_OUTPUT_JAVA   = NO
    207 
    208 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
    209 # sources only. Doxygen will then generate output that is more tailored for
    210 # Fortran.
    211 
    212 OPTIMIZE_FOR_FORTRAN   = NO
    213 
    214 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
    215 # sources. Doxygen will then generate output that is tailored for
    216 # VHDL.
    217 
    218 OPTIMIZE_OUTPUT_VHDL   = NO
    219 
    220 # Doxygen selects the parser to use depending on the extension of the files it parses.
    221 # With this tag you can assign which parser to use for a given extension.
    222 # Doxygen has a built-in mapping, but you can override or extend it using this tag.
    223 # The format is ext=language, where ext is a file extension, and language is one of
    224 # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
    225 # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
    226 # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
    227 # use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
    228 
    229 EXTENSION_MAPPING      =
    230 
    231 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
    232 # to include (a tag file for) the STL sources as input, then you should
    233 # set this tag to YES in order to let doxygen match functions declarations and
    234 # definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
    235 # func(std::string) {}). This also make the inheritance and collaboration
    236 # diagrams that involve STL classes more complete and accurate.
    237 
    238 BUILTIN_STL_SUPPORT    = NO
    239 
    240 # If you use Microsoft's C++/CLI language, you should set this option to YES to
    241 # enable parsing support.
    242 
    243 CPP_CLI_SUPPORT        = NO
    244 
    245 # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
    246 # Doxygen will parse them like normal C++ but will assume all classes use public
    247 # instead of private inheritance when no explicit protection keyword is present.
    248 
    249 SIP_SUPPORT            = NO
    250 
    251 # For Microsoft's IDL there are propget and propput attributes to indicate getter
    252 # and setter methods for a property. Setting this option to YES (the default)
    253 # will make doxygen to replace the get and set methods by a property in the
    254 # documentation. This will only work if the methods are indeed getting or
    255 # setting a simple type. If this is not the case, or you want to show the
    256 # methods anyway, you should set this option to NO.
    257 
    258 IDL_PROPERTY_SUPPORT   = YES
    259 
    260 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
    261 # tag is set to YES, then doxygen will reuse the documentation of the first
    262 # member in the group (if any) for the other members of the group. By default
    263 # all members of a group must be documented explicitly.
    264 
     40#BUILTIN_STL_SUPPORT    = NO
    26541DISTRIBUTE_GROUP_DOC   = NO
    266 
    267 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of
    268 # the same type (for instance a group of public functions) to be put as a
    269 # subgroup of that type (e.g. under the Public Functions section). Set it to
    270 # NO to prevent subgrouping. Alternatively, this can be done per class using
    271 # the \nosubgrouping command.
    272 
    27342SUBGROUPING            = YES
    274 
    275 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
    276 # is documented as struct, union, or enum with the name of the typedef. So
    277 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
    278 # with name TypeT. When disabled the typedef will appear as a member of a file,
    279 # namespace, or class. And the struct will be named TypeS. This can typically
    280 # be useful for C code in case the coding convention dictates that all compound
    281 # types are typedef'ed and only the typedef is referenced, never the tag name.
    282 
    283 TYPEDEF_HIDES_STRUCT   = NO
    284 
    285 # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
    286 # determine which symbols to keep in memory and which to flush to disk.
    287 # When the cache is full, less often used symbols will be written to disk.
    288 # For small to medium size projects (<1000 input files) the default value is
    289 # probably good enough. For larger projects a too small cache size can cause
    290 # doxygen to be busy swapping symbols to and from disk most of the time
    291 # causing a significant performance penality.
    292 # If the system has enough physical memory increasing the cache will improve the
    293 # performance by keeping more symbols in memory. Note that the value works on
    294 # a logarithmic scale so increasing the size by one will rougly double the
    295 # memory usage. The cache size is given by this formula:
    296 # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
    297 # corresponding to a cache size of 2^16 = 65536 symbols
    298 
    299 SYMBOL_CACHE_SIZE      = 0
    300 
    30143#---------------------------------------------------------------------------
    30244# Build related configuration options
    30345#---------------------------------------------------------------------------
    304 
    305 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
    306 # documentation are documented, even if no documentation was available.
    307 # Private class members and static file members will be hidden unless
    308 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
    309 
    31046EXTRACT_ALL            = YES
    311 
    312 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
    313 # will be included in the documentation.
    314 
    31547EXTRACT_PRIVATE        = YES
    316 
    317 # If the EXTRACT_STATIC tag is set to YES all static members of a file
    318 # will be included in the documentation.
    319 
    32048EXTRACT_STATIC         = YES
    321 
    322 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
    323 # defined locally in source files will be included in the documentation.
    324 # If set to NO only classes defined in header files are included.
    325 
    32649EXTRACT_LOCAL_CLASSES  = YES
    327 
    328 # This flag is only useful for Objective-C code. When set to YES local
    329 # methods, which are defined in the implementation section but not in
    330 # the interface are included in the documentation.
    331 # If set to NO (the default) only methods in the interface are included.
    332 
    33350EXTRACT_LOCAL_METHODS  = YES
    334 
    335 # If this flag is set to YES, the members of anonymous namespaces will be
    336 # extracted and appear in the documentation as a namespace called
    337 # 'anonymous_namespace{file}', where file will be replaced with the base
    338 # name of the file that contains the anonymous namespace. By default
    339 # anonymous namespace are hidden.
    340 
    341 EXTRACT_ANON_NSPACES   = NO
    342 
    343 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
    344 # undocumented members of documented classes, files or namespaces.
    345 # If set to NO (the default) these members will be included in the
    346 # various overviews, but no documentation section is generated.
    347 # This option has no effect if EXTRACT_ALL is enabled.
    348 
    34951HIDE_UNDOC_MEMBERS     = NO
    350 
    351 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
    352 # undocumented classes that are normally visible in the class hierarchy.
    353 # If set to NO (the default) these classes will be included in the various
    354 # overviews. This option has no effect if EXTRACT_ALL is enabled.
    355 
    35652HIDE_UNDOC_CLASSES     = NO
    357 
    358 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
    359 # friend (class|struct|union) declarations.
    360 # If set to NO (the default) these declarations will be included in the
    361 # documentation.
    362 
    36353HIDE_FRIEND_COMPOUNDS  = NO
    364 
    365 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
    366 # documentation blocks found inside the body of a function.
    367 # If set to NO (the default) these blocks will be appended to the
    368 # function's detailed documentation block.
    369 
    37054HIDE_IN_BODY_DOCS      = NO
    371 
    372 # The INTERNAL_DOCS tag determines if documentation
    373 # that is typed after a \internal command is included. If the tag is set
    374 # to NO (the default) then the documentation will be excluded.
    375 # Set it to YES to include the internal documentation.
    376 
    37755INTERNAL_DOCS          = YES
    378 
    379 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
    380 # file names in lower-case letters. If set to YES upper-case letters are also
    381 # allowed. This is useful if you have classes or files whose names only differ
    382 # in case and if your file system supports case sensitive file names. Windows
    383 # and Mac users are advised to set this option to NO.
    384 
    38556CASE_SENSE_NAMES       = NO
    386 
    387 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
    388 # will show members with their full class and namespace scopes in the
    389 # documentation. If set to YES the scope will be hidden.
    390 
    39157HIDE_SCOPE_NAMES       = NO
    392 
    393 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
    394 # will put a list of the files that are included by a file in the documentation
    395 # of that file.
    396 
    39758SHOW_INCLUDE_FILES     = YES
    398 
    399 # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
    400 # will list include files with double quotes in the documentation
    401 # rather than with sharp brackets.
    402 
    403 FORCE_LOCAL_INCLUDES   = NO
    404 
    405 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
    406 # is inserted in the documentation for inline members.
    407 
    40859INLINE_INFO            = YES
    409 
    410 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
    411 # will sort the (detailed) documentation of file and class members
    412 # alphabetically by member name. If set to NO the members will appear in
    413 # declaration order.
    414 
    41560SORT_MEMBER_DOCS       = YES
    416 
    417 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
    418 # brief documentation of file, namespace and class members alphabetically
    419 # by member name. If set to NO (the default) the members will appear in
    420 # declaration order.
    421 
    42261SORT_BRIEF_DOCS        = NO
    423 
    424 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
    425 
    426 SORT_MEMBERS_CTORS_1ST = NO
    427 
    428 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
    429 # hierarchy of group names into alphabetical order. If set to NO (the default)
    430 # the group names will appear in their defined order.
    431 
    432 SORT_GROUP_NAMES       = NO
    433 
    434 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
    435 # sorted by fully-qualified names, including namespaces. If set to
    436 # NO (the default), the class list will be sorted only by class name,
    437 # not including the namespace part.
    438 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
    439 # Note: This option applies only to the class list, not to the
    440 # alphabetical list.
    441 
    44262SORT_BY_SCOPE_NAME     = NO
    443 
    444 # The GENERATE_TODOLIST tag can be used to enable (YES) or
    445 # disable (NO) the todo list. This list is created by putting \todo
    446 # commands in the documentation.
    447 
    44863GENERATE_TODOLIST      = YES
    449 
    450 # The GENERATE_TESTLIST tag can be used to enable (YES) or
    451 # disable (NO) the test list. This list is created by putting \test
    452 # commands in the documentation.
    453 
    45464GENERATE_TESTLIST      = YES
    455 
    456 # The GENERATE_BUGLIST tag can be used to enable (YES) or
    457 # disable (NO) the bug list. This list is created by putting \bug
    458 # commands in the documentation.
    459 
    46065GENERATE_BUGLIST       = YES
    461 
    462 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
    463 # disable (NO) the deprecated list. This list is created by putting
    464 # \deprecated commands in the documentation.
    465 
    46666GENERATE_DEPRECATEDLIST= YES
    467 
    468 # The ENABLED_SECTIONS tag can be used to enable conditional
    469 # documentation sections, marked by \if sectionname ... \endif.
    470 
    471 ENABLED_SECTIONS       =
    472 
    473 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
    474 # the initial value of a variable or define consists of for it to appear in
    475 # the documentation. If the initializer consists of more lines than specified
    476 # here it will be hidden. Use a value of 0 to hide initializers completely.
    477 # The appearance of the initializer of individual variables and defines in the
    478 # documentation can be controlled using \showinitializer or \hideinitializer
    479 # command in the documentation regardless of this setting.
    480 
     67ENABLED_SECTIONS       =
    48168MAX_INITIALIZER_LINES  = 30
    482 
    483 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated
    484 # at the bottom of the documentation of classes and structs. If set to YES the
    485 # list will mention the files that were used to generate the documentation.
    486 
    48769SHOW_USED_FILES        = YES
    488 
    489 # If the sources in your project are distributed over multiple directories
    490 # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
    491 # in the documentation. The default is NO.
    492 
    49370SHOW_DIRECTORIES       = NO
    494 
    495 # Set the SHOW_FILES tag to NO to disable the generation of the Files page.
    496 # This will remove the Files entry from the Quick Index and from the
    497 # Folder Tree View (if specified). The default is YES.
    498 
    499 SHOW_FILES             = YES
    500 
    501 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the
    502 # Namespaces page.
    503 # This will remove the Namespaces entry from the Quick Index
    504 # and from the Folder Tree View (if specified). The default is YES.
    505 
    506 SHOW_NAMESPACES        = YES
    507 
    508 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
    509 # doxygen should invoke to get the current version for each file (typically from
    510 # the version control system). Doxygen will invoke the program by executing (via
    511 # popen()) the command <command> <input-file>, where <command> is the value of
    512 # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
    513 # provided by doxygen. Whatever the program writes to standard output
    514 # is used as the file version. See the manual for examples.
    515 
    516 FILE_VERSION_FILTER    =
    517 
    518 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
    519 # doxygen. The layout file controls the global structure of the generated output files
    520 # in an output format independent way. The create the layout file that represents
    521 # doxygen's defaults, run doxygen with the -l option. You can optionally specify a
    522 # file name after the option, if omitted DoxygenLayout.xml will be used as the name
    523 # of the layout file.
    524 
    525 LAYOUT_FILE            =
    526 
     71FILE_VERSION_FILTER    =
    52772#---------------------------------------------------------------------------
    52873# configuration options related to warning and progress messages
    52974#---------------------------------------------------------------------------
    530 
    531 # The QUIET tag can be used to turn on/off the messages that are generated
    532 # by doxygen. Possible values are YES and NO. If left blank NO is used.
    533 
    53475QUIET                  = NO
    535 
    536 # The WARNINGS tag can be used to turn on/off the warning messages that are
    537 # generated by doxygen. Possible values are YES and NO. If left blank
    538 # NO is used.
    539 
    54076WARNINGS               = YES
    541 
    542 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
    543 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will
    544 # automatically be disabled.
    545 
    54677WARN_IF_UNDOCUMENTED   = YES
    547 
    548 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
    549 # potential errors in the documentation, such as not documenting some
    550 # parameters in a documented function, or documenting parameters that
    551 # don't exist or using markup commands wrongly.
    552 
    55378WARN_IF_DOC_ERROR      = YES
    554 
    555 # This WARN_NO_PARAMDOC option can be abled to get warnings for
    556 # functions that are documented, but have no documentation for their parameters
    557 # or return value. If set to NO (the default) doxygen will only warn about
    558 # wrong or incomplete parameter documentation, but not about the absence of
    559 # documentation.
    560 
    56179WARN_NO_PARAMDOC       = NO
    562 
    563 # The WARN_FORMAT tag determines the format of the warning messages that
    564 # doxygen can produce. The string should contain the $file, $line, and $text
    565 # tags, which will be replaced by the file and line number from which the
    566 # warning originated and the warning text. Optionally the format may contain
    567 # $version, which will be replaced by the version of the file (if it could
    568 # be obtained via FILE_VERSION_FILTER)
    569 
    57080WARN_FORMAT            = "$file:$line: $text"
    571 
    572 # The WARN_LOGFILE tag can be used to specify a file to which warning
    573 # and error messages should be written. If left blank the output is written
    574 # to stderr.
    575 
    576 WARN_LOGFILE           =
    577 
     81WARN_LOGFILE           =
    57882#---------------------------------------------------------------------------
    57983# configuration options related to the input files
    58084#---------------------------------------------------------------------------
    581 
    582 # The INPUT tag can be used to specify the files and/or directories that contain
    583 # documented source files. You may enter file names like "myfile.cpp" or
    584 # directories like "/usr/src/myproject". Separate the files or directories
    585 # with spaces.
    586 
    587 INPUT                  = $(SRCDIR)/../src
    588 
    589 # This tag can be used to specify the character encoding of the source files
    590 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
    591 # also the default input encoding. Doxygen uses libiconv (or the iconv built
    592 # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
    593 # the list of possible encodings.
    594 
    595 INPUT_ENCODING         = UTF-8
    596 
    597 # If the value of the INPUT tag contains directories, you can use the
    598 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
    599 # and *.h) to filter out the source-files in the directories. If left
    600 # blank the following patterns are tested:
    601 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
    602 # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
    603 
     85INPUT                  = $(TOPSRCDIR)/src
    60486FILE_PATTERNS          = *.c \
    60587                         *.cc \
     
    60890                         *.c++ \
    60991                         *.d \
    610                         *.dox \
     92                        *.dox \
    61193                         *.java \
    61294                         *.ii \
     
    630112                         *.dox \
    631113                         *.py
    632 
    633 # The RECURSIVE tag can be used to turn specify whether or not subdirectories
    634 # should be searched for input files as well. Possible values are YES and NO.
    635 # If left blank NO is used.
    636 
    637114RECURSIVE              = YES
    638 
    639 # The EXCLUDE tag can be used to specify files and/or directories that should
    640 # excluded from the INPUT source files. This way you can easily exclude a
    641 # subdirectory from a directory tree whose root is specified with the INPUT tag.
    642 
    643 EXCLUDE                =
    644 
    645 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or
    646 # directories that are symbolic links (a Unix filesystem feature) are excluded
    647 # from the input.
    648 
     115EXCLUDE                =
    649116EXCLUDE_SYMLINKS       = NO
    650 
    651 # If the value of the INPUT tag contains directories, you can use the
    652 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
    653 # certain files from those directories. Note that the wildcards are matched
    654 # against the file with absolute path, so to exclude all test directories
    655 # for example use the pattern */test/*
    656 
    657117EXCLUDE_PATTERNS       = */unittests/* \
    658                          */test/*
    659 
    660 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
    661 # (namespaces, classes, functions, etc.) that should be excluded from the
    662 # output. The symbol name can be a fully qualified name, a word, or if the
    663 # wildcard * is used, a substring. Examples: ANamespace, AClass,
    664 # AClass::ANamespace, ANamespace::*Test
    665 
    666 EXCLUDE_SYMBOLS        =
    667 
    668 # The EXAMPLE_PATH tag can be used to specify one or more files or
    669 # directories that contain example code fragments that are included (see
    670 # the \include command).
    671 
    672 EXAMPLE_PATH           =
    673 
    674 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
    675 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
    676 # and *.h) to filter out the source-files in the directories. If left
    677 # blank all files are included.
    678 
     118                                                 */test/*
     119EXAMPLE_PATH           =
    679120EXAMPLE_PATTERNS       = *
    680 
    681 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
    682 # searched for input files to be used with the \include or \dontinclude
    683 # commands irrespective of the value of the RECURSIVE tag.
    684 # Possible values are YES and NO. If left blank NO is used.
    685 
    686121EXAMPLE_RECURSIVE      = NO
    687 
    688 # The IMAGE_PATH tag can be used to specify one or more files or
    689 # directories that contain image that are included in the documentation (see
    690 # the \image command).
    691 
    692 IMAGE_PATH             =
    693 
    694 # The INPUT_FILTER tag can be used to specify a program that doxygen should
    695 # invoke to filter for each input file. Doxygen will invoke the filter program
    696 # by executing (via popen()) the command <filter> <input-file>, where <filter>
    697 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an
    698 # input file. Doxygen will then use the output that the filter program writes
    699 # to standard output.
    700 # If FILTER_PATTERNS is specified, this tag will be
    701 # ignored.
    702 
    703 INPUT_FILTER           =
    704 
    705 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
    706 # basis.
    707 # Doxygen will compare the file name with each pattern and apply the
    708 # filter if there is a match.
    709 # The filters are a list of the form:
    710 # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
    711 # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
    712 # is applied to all files.
    713 
    714 FILTER_PATTERNS        =
    715 
    716 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
    717 # INPUT_FILTER) will be used to filter the input files when producing source
    718 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
    719 
     122IMAGE_PATH             =
     123INPUT_FILTER           =
     124FILTER_PATTERNS        =
    720125FILTER_SOURCE_FILES    = NO
    721 
    722126#---------------------------------------------------------------------------
    723127# configuration options related to source browsing
    724128#---------------------------------------------------------------------------
    725 
    726 # If the SOURCE_BROWSER tag is set to YES then a list of source files will
    727 # be generated. Documented entities will be cross-referenced with these sources.
    728 # Note: To get rid of all source code in the generated output, make sure also
    729 # VERBATIM_HEADERS is set to NO.
    730 
    731129SOURCE_BROWSER         = YES
    732 
    733 # Setting the INLINE_SOURCES tag to YES will include the body
    734 # of functions and classes directly in the documentation.
    735 
    736130INLINE_SOURCES         = YES
    737 
    738 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
    739 # doxygen to hide any special comment blocks from generated source code
    740 # fragments. Normal C and C++ comments will always remain visible.
    741 
    742131STRIP_CODE_COMMENTS    = NO
    743 
    744 # If the REFERENCED_BY_RELATION tag is set to YES
    745 # then for each documented function all documented
    746 # functions referencing it will be listed.
    747 
    748132REFERENCED_BY_RELATION = NO
    749 
    750 # If the REFERENCES_RELATION tag is set to YES
    751 # then for each documented function all documented entities
    752 # called/used by that function will be listed.
    753 
    754133REFERENCES_RELATION    = NO
    755 
    756 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
    757 # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
    758 # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
    759 # link to the source code.
    760 # Otherwise they will link to the documentation.
    761 
    762 REFERENCES_LINK_SOURCE = YES
    763 
    764 # If the USE_HTAGS tag is set to YES then the references to source code
    765 # will point to the HTML generated by the htags(1) tool instead of doxygen
    766 # built-in source browser. The htags tool is part of GNU's global source
    767 # tagging system (see http://www.gnu.org/software/global/global.html). You
    768 # will need version 4.8.6 or higher.
    769 
    770134USE_HTAGS              = NO
    771 
    772 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
    773 # will generate a verbatim copy of the header file for each class for
    774 # which an include is specified. Set to NO to disable this.
    775 
    776135VERBATIM_HEADERS       = NO
    777 
    778136#---------------------------------------------------------------------------
    779137# configuration options related to the alphabetical class index
    780138#---------------------------------------------------------------------------
    781 
    782 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
    783 # of all compounds will be generated. Enable this if the project
    784 # contains a lot of classes, structs, unions or interfaces.
    785 
    786 ALPHABETICAL_INDEX     = YES
    787 
    788 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
    789 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
    790 # in which this list will be split (can be a number in the range [1..20])
    791 
     139ALPHABETICAL_INDEX     = NO
    792140COLS_IN_ALPHA_INDEX    = 5
    793 
    794 # In case all classes in a project start with a common prefix, all
    795 # classes will be put under the same header in the alphabetical index.
    796 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that
    797 # should be ignored while generating the index headers.
    798 
    799 IGNORE_PREFIX          =
    800 
     141IGNORE_PREFIX          =
    801142#---------------------------------------------------------------------------
    802143# configuration options related to the HTML output
    803144#---------------------------------------------------------------------------
    804 
    805 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will
    806 # generate HTML output.
    807 
    808145GENERATE_HTML          = YES
    809 
    810 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
    811 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
    812 # put in front of it. If left blank `html' will be used as the default path.
    813 
    814146HTML_OUTPUT            = html
    815 
    816 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
    817 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
    818 # doxygen will generate files with .html extension.
    819 
    820147HTML_FILE_EXTENSION    = .html
    821 
    822 # The HTML_HEADER tag can be used to specify a personal HTML header for
    823 # each generated HTML page. If it is left blank doxygen will generate a
    824 # standard header.
    825 
    826 HTML_HEADER            =
    827 
    828 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
    829 # each generated HTML page. If it is left blank doxygen will generate a
    830 # standard footer.
    831 
    832 HTML_FOOTER            =
    833 
    834 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
    835 # style sheet that is used by each HTML page. It can be used to
    836 # fine-tune the look of the HTML output. If the tag is left blank doxygen
    837 # will generate a default style sheet. Note that doxygen will try to copy
    838 # the style sheet file to the HTML output directory, so don't put your own
    839 # stylesheet in the HTML output directory as well, or it will be erased!
    840 
    841 HTML_STYLESHEET        =
    842 
    843 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
    844 # page will contain the date and time when the page was generated. Setting
    845 # this to NO can help when comparing the output of multiple runs.
    846 
    847 HTML_TIMESTAMP         = YES
    848 
    849 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
    850 # files or namespaces will be aligned in HTML using tables. If set to
    851 # NO a bullet list will be used.
    852 
     148HTML_HEADER            =
     149HTML_FOOTER            =
     150HTML_STYLESHEET        =
    853151HTML_ALIGN_MEMBERS     = YES
    854 
    855 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
    856 # documentation will contain sections that can be hidden and shown after the
    857 # page has loaded. For this to work a browser that supports
    858 # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
    859 # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
    860 
    861 HTML_DYNAMIC_SECTIONS  = NO
    862 
    863 # If the GENERATE_DOCSET tag is set to YES, additional index files
    864 # will be generated that can be used as input for Apple's Xcode 3
    865 # integrated development environment, introduced with OSX 10.5 (Leopard).
    866 # To create a documentation set, doxygen will generate a Makefile in the
    867 # HTML output directory. Running make will produce the docset in that
    868 # directory and running "make install" will install the docset in
    869 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
    870 # it at startup.
    871 # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
    872 
    873 GENERATE_DOCSET        = NO
    874 
    875 # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
    876 # feed. A documentation feed provides an umbrella under which multiple
    877 # documentation sets from a single provider (such as a company or product suite)
    878 # can be grouped.
    879 
    880 DOCSET_FEEDNAME        = "Doxygen generated docs"
    881 
    882 # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
    883 # should uniquely identify the documentation set bundle. This should be a
    884 # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
    885 # will append .docset to the name.
    886 
    887 DOCSET_BUNDLE_ID       = org.doxygen.Project
    888 
    889 # If the GENERATE_HTMLHELP tag is set to YES, additional index files
    890 # will be generated that can be used as input for tools like the
    891 # Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
    892 # of the generated HTML documentation.
    893 
    894152GENERATE_HTMLHELP      = NO
    895 
    896 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
    897 # be used to specify the file name of the resulting .chm file. You
    898 # can add a path in front of the file if the result should not be
    899 # written to the html output directory.
    900 
    901 CHM_FILE               =
    902 
    903 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
    904 # be used to specify the location (absolute path including file name) of
    905 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
    906 # the HTML help compiler on the generated index.hhp.
    907 
    908 HHC_LOCATION           =
    909 
    910 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
    911 # controls if a separate .chi index file is generated (YES) or that
    912 # it should be included in the master .chm file (NO).
    913 
     153CHM_FILE               =
     154HHC_LOCATION           =
    914155GENERATE_CHI           = NO
    915 
    916 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
    917 # is used to encode HtmlHelp index (hhk), content (hhc) and project file
    918 # content.
    919 
    920 CHM_INDEX_ENCODING     =
    921 
    922 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
    923 # controls whether a binary table of contents is generated (YES) or a
    924 # normal table of contents (NO) in the .chm file.
    925 
    926156BINARY_TOC             = NO
    927 
    928 # The TOC_EXPAND flag can be set to YES to add extra items for group members
    929 # to the contents of the HTML help documentation and to the tree view.
    930 
    931157TOC_EXPAND             = NO
    932 
    933 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
    934 # are set, an additional index file will be generated that can be used as input for
    935 # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
    936 # HTML documentation.
    937 
    938 GENERATE_QHP           = NO
    939 
    940 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can
    941 # be used to specify the file name of the resulting .qch file.
    942 # The path specified is relative to the HTML output folder.
    943 
    944 QCH_FILE               =
    945 
    946 # The QHP_NAMESPACE tag specifies the namespace to use when generating
    947 # Qt Help Project output. For more information please see
    948 # http://doc.trolltech.com/qthelpproject.html#namespace
    949 
    950 QHP_NAMESPACE          = org.doxygen.Project
    951 
    952 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
    953 # Qt Help Project output. For more information please see
    954 # http://doc.trolltech.com/qthelpproject.html#virtual-folders
    955 
    956 QHP_VIRTUAL_FOLDER     = doc
    957 
    958 # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
    959 # For more information please see
    960 # http://doc.trolltech.com/qthelpproject.html#custom-filters
    961 
    962 QHP_CUST_FILTER_NAME   =
    963 
    964 # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
    965 # <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
    966 
    967 QHP_CUST_FILTER_ATTRS  =
    968 
    969 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
    970 # filter section matches.
    971 # <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
    972 
    973 QHP_SECT_FILTER_ATTRS  =
    974 
    975 # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
    976 # be used to specify the location of Qt's qhelpgenerator.
    977 # If non-empty doxygen will try to run qhelpgenerator on the generated
    978 # .qhp file.
    979 
    980 QHG_LOCATION           =
    981 
    982 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
    983 #  will be generated, which together with the HTML files, form an Eclipse help
    984 #  plugin. To install this plugin and make it available under the help contents
    985 # menu in Eclipse, the contents of the directory containing the HTML and XML
    986 # files needs to be copied into the plugins directory of eclipse. The name of
    987 # the directory within the plugins directory should be the same as
    988 # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
    989 
    990 GENERATE_ECLIPSEHELP   = YES
    991 
    992 # A unique identifier for the eclipse help plugin. When installing the plugin
    993 # the directory name containing the HTML and XML files should also have
    994 # this name.
    995 
    996 ECLIPSE_DOC_ID         = org.doxygen.Project
    997 
    998 # The DISABLE_INDEX tag can be used to turn on/off the condensed index at
    999 # top of each HTML page. The value NO (the default) enables the index and
    1000 # the value YES disables it.
    1001 
    1002158DISABLE_INDEX          = NO
    1003 
    1004 # This tag can be used to set the number of enum values (range [1..20])
    1005 # that doxygen will group on one line in the generated HTML documentation.
    1006 
    1007159ENUM_VALUES_PER_LINE   = 4
    1008 
    1009 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
    1010 # structure should be generated to display hierarchical information.
    1011 # If the tag value is set to YES, a side panel will be generated
    1012 # containing a tree-like index structure (just like the one that
    1013 # is generated for HTML Help). For this to work a browser that supports
    1014 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
    1015 # Windows users are probably better off using the HTML help feature.
    1016 
    1017160GENERATE_TREEVIEW      = NO
    1018 
    1019 # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
    1020 # and Class Hierarchy pages using a tree view instead of an ordered list.
    1021 
    1022 USE_INLINE_TREES       = NO
    1023 
    1024 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
    1025 # used to set the initial width (in pixels) of the frame in which the tree
    1026 # is shown.
    1027 
    1028161TREEVIEW_WIDTH         = 250
    1029 
    1030 # Use this tag to change the font size of Latex formulas included
    1031 # as images in the HTML documentation. The default is 10. Note that
    1032 # when you change the font size after a successful doxygen run you need
    1033 # to manually remove any form_*.png images from the HTML output directory
    1034 # to force them to be regenerated.
    1035 
    1036 FORMULA_FONTSIZE       = 10
    1037 
    1038 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
    1039 # and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
    1040 # typically be disabled. For large projects the javascript based search engine
    1041 # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
    1042 
     162#---------------------------------------------------------------------------
     163# configuration options related to the LaTeX output
     164#---------------------------------------------------------------------------
     165GENERATE_LATEX         = NO
     166LATEX_OUTPUT           = latex
     167LATEX_CMD_NAME         = latex
     168MAKEINDEX_CMD_NAME     = makeindex
     169COMPACT_LATEX          = NO
     170PAPER_TYPE             = a4wide
     171EXTRA_PACKAGES         =
     172LATEX_HEADER           =
     173PDF_HYPERLINKS         = YES
     174USE_PDFLATEX           = YES
     175LATEX_BATCHMODE        = NO
     176LATEX_HIDE_INDICES     = NO
     177#---------------------------------------------------------------------------
     178# configuration options related to the RTF output
     179#---------------------------------------------------------------------------
     180GENERATE_RTF           = NO
     181RTF_OUTPUT             = rtf
     182COMPACT_RTF            = NO
     183RTF_HYPERLINKS         = NO
     184RTF_STYLESHEET_FILE    =
     185RTF_EXTENSIONS_FILE    =
     186#---------------------------------------------------------------------------
     187# configuration options related to the man page output
     188#---------------------------------------------------------------------------
     189GENERATE_MAN           = NO
     190MAN_OUTPUT             = man
     191MAN_EXTENSION          = .3
     192MAN_LINKS              = NO
     193#---------------------------------------------------------------------------
     194# configuration options related to the XML output
     195#---------------------------------------------------------------------------
     196GENERATE_XML           = NO
     197XML_OUTPUT             = xml
     198XML_SCHEMA             =
     199XML_DTD                =
     200XML_PROGRAMLISTING     = YES
     201#---------------------------------------------------------------------------
     202# configuration options for the AutoGen Definitions output
     203#---------------------------------------------------------------------------
     204GENERATE_AUTOGEN_DEF   = NO
     205#---------------------------------------------------------------------------
     206# configuration options related to the Perl module output
     207#---------------------------------------------------------------------------
     208GENERATE_PERLMOD       = NO
     209PERLMOD_LATEX          = NO
     210PERLMOD_PRETTY         = YES
     211PERLMOD_MAKEVAR_PREFIX =
     212#---------------------------------------------------------------------------
     213# Configuration options related to the preprocessor   
     214#---------------------------------------------------------------------------
     215ENABLE_PREPROCESSING   = YES
     216MACRO_EXPANSION        = NO
     217EXPAND_ONLY_PREDEF     = NO
     218SEARCH_INCLUDES        = YES
     219INCLUDE_PATH           =
     220INCLUDE_FILE_PATTERNS  =
     221PREDEFINED             =
     222EXPAND_AS_DEFINED      =
     223SKIP_FUNCTION_MACROS   = YES
     224#---------------------------------------------------------------------------
     225# Configuration::additions related to external references   
     226#---------------------------------------------------------------------------
     227TAGFILES               =
     228GENERATE_TAGFILE       =
     229ALLEXTERNALS           = NO
     230EXTERNAL_GROUPS        = YES
     231PERL_PATH              = /usr/bin/perl
     232#---------------------------------------------------------------------------
     233# Configuration options related to the dot tool   
     234#---------------------------------------------------------------------------
     235CLASS_DIAGRAMS         = YES
     236HIDE_UNDOC_RELATIONS   = YES
     237HAVE_DOT               = NO
     238CLASS_GRAPH            = YES
     239COLLABORATION_GRAPH    = YES
     240GROUP_GRAPHS           = YES
     241UML_LOOK               = NO
     242TEMPLATE_RELATIONS     = NO
     243INCLUDE_GRAPH          = YES
     244INCLUDED_BY_GRAPH      = YES
     245CALL_GRAPH             = NO
     246GRAPHICAL_HIERARCHY    = YES
     247DIRECTORY_GRAPH        = YES
     248DOT_IMAGE_FORMAT       = png
     249DOT_PATH               =
     250DOTFILE_DIRS           =
     251MAX_DOT_GRAPH_WIDTH    = 1024
     252MAX_DOT_GRAPH_HEIGHT   = 1024
     253MAX_DOT_GRAPH_DEPTH    = 1000
     254DOT_TRANSPARENT        = NO
     255DOT_MULTI_TARGETS      = NO
     256GENERATE_LEGEND        = YES
     257DOT_CLEANUP            = YES
     258#---------------------------------------------------------------------------
     259# Configuration::additions related to the search engine   
     260#---------------------------------------------------------------------------
    1043261SEARCHENGINE           = YES
    1044 
    1045 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
    1046 # file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
    1047 # and does not have live searching capabilities.
    1048 
    1049 SERVER_BASED_SEARCH    = NO
    1050 
    1051 #---------------------------------------------------------------------------
    1052 # configuration options related to the LaTeX output
    1053 #---------------------------------------------------------------------------
    1054 
    1055 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
    1056 # generate Latex output.
    1057 
    1058 GENERATE_LATEX         = NO
    1059 
    1060 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
    1061 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
    1062 # put in front of it. If left blank `latex' will be used as the default path.
    1063 
    1064 LATEX_OUTPUT           = latex
    1065 
    1066 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
    1067 # invoked. If left blank `latex' will be used as the default command name.
    1068 # Note that when enabling USE_PDFLATEX this option is only used for
    1069 # generating bitmaps for formulas in the HTML output, but not in the
    1070 # Makefile that is written to the output directory.
    1071 
    1072 LATEX_CMD_NAME         = latex
    1073 
    1074 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
    1075 # generate index for LaTeX. If left blank `makeindex' will be used as the
    1076 # default command name.
    1077 
    1078 MAKEINDEX_CMD_NAME     = makeindex
    1079 
    1080 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
    1081 # LaTeX documents. This may be useful for small projects and may help to
    1082 # save some trees in general.
    1083 
    1084 COMPACT_LATEX          = NO
    1085 
    1086 # The PAPER_TYPE tag can be used to set the paper type that is used
    1087 # by the printer. Possible values are: a4, a4wide, letter, legal and
    1088 # executive. If left blank a4wide will be used.
    1089 
    1090 PAPER_TYPE             = a4wide
    1091 
    1092 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
    1093 # packages that should be included in the LaTeX output.
    1094 
    1095 EXTRA_PACKAGES         =
    1096 
    1097 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for
    1098 # the generated latex document. The header should contain everything until
    1099 # the first chapter. If it is left blank doxygen will generate a
    1100 # standard header. Notice: only use this tag if you know what you are doing!
    1101 
    1102 LATEX_HEADER           =
    1103 
    1104 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
    1105 # is prepared for conversion to pdf (using ps2pdf). The pdf file will
    1106 # contain links (just like the HTML output) instead of page references
    1107 # This makes the output suitable for online browsing using a pdf viewer.
    1108 
    1109 PDF_HYPERLINKS         = YES
    1110 
    1111 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
    1112 # plain latex in the generated Makefile. Set this option to YES to get a
    1113 # higher quality PDF documentation.
    1114 
    1115 USE_PDFLATEX           = YES
    1116 
    1117 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
    1118 # command to the generated LaTeX files. This will instruct LaTeX to keep
    1119 # running if errors occur, instead of asking the user for help.
    1120 # This option is also used when generating formulas in HTML.
    1121 
    1122 LATEX_BATCHMODE        = NO
    1123 
    1124 # If LATEX_HIDE_INDICES is set to YES then doxygen will not
    1125 # include the index chapters (such as File Index, Compound Index, etc.)
    1126 # in the output.
    1127 
    1128 LATEX_HIDE_INDICES     = NO
    1129 
    1130 # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
    1131 
    1132 LATEX_SOURCE_CODE      = NO
    1133 
    1134 #---------------------------------------------------------------------------
    1135 # configuration options related to the RTF output
    1136 #---------------------------------------------------------------------------
    1137 
    1138 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
    1139 # The RTF output is optimized for Word 97 and may not look very pretty with
    1140 # other RTF readers or editors.
    1141 
    1142 GENERATE_RTF           = NO
    1143 
    1144 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
    1145 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
    1146 # put in front of it. If left blank `rtf' will be used as the default path.
    1147 
    1148 RTF_OUTPUT             = rtf
    1149 
    1150 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact
    1151 # RTF documents. This may be useful for small projects and may help to
    1152 # save some trees in general.
    1153 
    1154 COMPACT_RTF            = NO
    1155 
    1156 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
    1157 # will contain hyperlink fields. The RTF file will
    1158 # contain links (just like the HTML output) instead of page references.
    1159 # This makes the output suitable for online browsing using WORD or other
    1160 # programs which support those fields.
    1161 # Note: wordpad (write) and others do not support links.
    1162 
    1163 RTF_HYPERLINKS         = NO
    1164 
    1165 # Load stylesheet definitions from file. Syntax is similar to doxygen's
    1166 # config file, i.e. a series of assignments. You only have to provide
    1167 # replacements, missing definitions are set to their default value.
    1168 
    1169 RTF_STYLESHEET_FILE    =
    1170 
    1171 # Set optional variables used in the generation of an rtf document.
    1172 # Syntax is similar to doxygen's config file.
    1173 
    1174 RTF_EXTENSIONS_FILE    =
    1175 
    1176 #---------------------------------------------------------------------------
    1177 # configuration options related to the man page output
    1178 #---------------------------------------------------------------------------
    1179 
    1180 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will
    1181 # generate man pages
    1182 
    1183 GENERATE_MAN           = NO
    1184 
    1185 # The MAN_OUTPUT tag is used to specify where the man pages will be put.
    1186 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
    1187 # put in front of it. If left blank `man' will be used as the default path.
    1188 
    1189 MAN_OUTPUT             = man
    1190 
    1191 # The MAN_EXTENSION tag determines the extension that is added to
    1192 # the generated man pages (default is the subroutine's section .3)
    1193 
    1194 MAN_EXTENSION          = .3
    1195 
    1196 # If the MAN_LINKS tag is set to YES and Doxygen generates man output,
    1197 # then it will generate one additional man file for each entity
    1198 # documented in the real man page(s). These additional files
    1199 # only source the real man page, but without them the man command
    1200 # would be unable to find the correct page. The default is NO.
    1201 
    1202 MAN_LINKS              = NO
    1203 
    1204 #---------------------------------------------------------------------------
    1205 # configuration options related to the XML output
    1206 #---------------------------------------------------------------------------
    1207 
    1208 # If the GENERATE_XML tag is set to YES Doxygen will
    1209 # generate an XML file that captures the structure of
    1210 # the code including all documentation.
    1211 
    1212 GENERATE_XML           = NO
    1213 
    1214 # The XML_OUTPUT tag is used to specify where the XML pages will be put.
    1215 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
    1216 # put in front of it. If left blank `xml' will be used as the default path.
    1217 
    1218 XML_OUTPUT             = xml
    1219 
    1220 # The XML_SCHEMA tag can be used to specify an XML schema,
    1221 # which can be used by a validating XML parser to check the
    1222 # syntax of the XML files.
    1223 
    1224 XML_SCHEMA             =
    1225 
    1226 # The XML_DTD tag can be used to specify an XML DTD,
    1227 # which can be used by a validating XML parser to check the
    1228 # syntax of the XML files.
    1229 
    1230 XML_DTD                =
    1231 
    1232 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will
    1233 # dump the program listings (including syntax highlighting
    1234 # and cross-referencing information) to the XML output. Note that
    1235 # enabling this will significantly increase the size of the XML output.
    1236 
    1237 XML_PROGRAMLISTING     = YES
    1238 
    1239 #---------------------------------------------------------------------------
    1240 # configuration options for the AutoGen Definitions output
    1241 #---------------------------------------------------------------------------
    1242 
    1243 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
    1244 # generate an AutoGen Definitions (see autogen.sf.net) file
    1245 # that captures the structure of the code including all
    1246 # documentation. Note that this feature is still experimental
    1247 # and incomplete at the moment.
    1248 
    1249 GENERATE_AUTOGEN_DEF   = NO
    1250 
    1251 #---------------------------------------------------------------------------
    1252 # configuration options related to the Perl module output
    1253 #---------------------------------------------------------------------------
    1254 
    1255 # If the GENERATE_PERLMOD tag is set to YES Doxygen will
    1256 # generate a Perl module file that captures the structure of
    1257 # the code including all documentation. Note that this
    1258 # feature is still experimental and incomplete at the
    1259 # moment.
    1260 
    1261 GENERATE_PERLMOD       = NO
    1262 
    1263 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate
    1264 # the necessary Makefile rules, Perl scripts and LaTeX code to be able
    1265 # to generate PDF and DVI output from the Perl module output.
    1266 
    1267 PERLMOD_LATEX          = NO
    1268 
    1269 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
    1270 # nicely formatted so it can be parsed by a human reader.
    1271 # This is useful
    1272 # if you want to understand what is going on.
    1273 # On the other hand, if this
    1274 # tag is set to NO the size of the Perl module output will be much smaller
    1275 # and Perl will parse it just the same.
    1276 
    1277 PERLMOD_PRETTY         = YES
    1278 
    1279 # The names of the make variables in the generated doxyrules.make file
    1280 # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
    1281 # This is useful so different doxyrules.make files included by the same
    1282 # Makefile don't overwrite each other's variables.
    1283 
    1284 PERLMOD_MAKEVAR_PREFIX =
    1285 
    1286 #---------------------------------------------------------------------------
    1287 # Configuration options related to the preprocessor
    1288 #---------------------------------------------------------------------------
    1289 
    1290 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
    1291 # evaluate all C-preprocessor directives found in the sources and include
    1292 # files.
    1293 
    1294 ENABLE_PREPROCESSING   = YES
    1295 
    1296 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
    1297 # names in the source code. If set to NO (the default) only conditional
    1298 # compilation will be performed. Macro expansion can be done in a controlled
    1299 # way by setting EXPAND_ONLY_PREDEF to YES.
    1300 
    1301 MACRO_EXPANSION        = NO
    1302 
    1303 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
    1304 # then the macro expansion is limited to the macros specified with the
    1305 # PREDEFINED and EXPAND_AS_DEFINED tags.
    1306 
    1307 EXPAND_ONLY_PREDEF     = NO
    1308 
    1309 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
    1310 # in the INCLUDE_PATH (see below) will be search if a #include is found.
    1311 
    1312 SEARCH_INCLUDES        = YES
    1313 
    1314 # The INCLUDE_PATH tag can be used to specify one or more directories that
    1315 # contain include files that are not input files but should be processed by
    1316 # the preprocessor.
    1317 
    1318 INCLUDE_PATH           =
    1319 
    1320 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
    1321 # patterns (like *.h and *.hpp) to filter out the header-files in the
    1322 # directories. If left blank, the patterns specified with FILE_PATTERNS will
    1323 # be used.
    1324 
    1325 INCLUDE_FILE_PATTERNS  =
    1326 
    1327 # The PREDEFINED tag can be used to specify one or more macro names that
    1328 # are defined before the preprocessor is started (similar to the -D option of
    1329 # gcc). The argument of the tag is a list of macros of the form: name
    1330 # or name=definition (no spaces). If the definition and the = are
    1331 # omitted =1 is assumed. To prevent a macro definition from being
    1332 # undefined via #undef or recursively expanded use the := operator
    1333 # instead of the = operator.
    1334 
    1335 PREDEFINED             =
    1336 
    1337 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
    1338 # this tag can be used to specify a list of macro names that should be expanded.
    1339 # The macro definition that is found in the sources will be used.
    1340 # Use the PREDEFINED tag if you want to use a different macro definition.
    1341 
    1342 EXPAND_AS_DEFINED      =
    1343 
    1344 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
    1345 # doxygen's preprocessor will remove all function-like macros that are alone
    1346 # on a line, have an all uppercase name, and do not end with a semicolon. Such
    1347 # function macros are typically used for boiler-plate code, and will confuse
    1348 # the parser if not removed.
    1349 
    1350 SKIP_FUNCTION_MACROS   = YES
    1351 
    1352 #---------------------------------------------------------------------------
    1353 # Configuration::additions related to external references
    1354 #---------------------------------------------------------------------------
    1355 
    1356 # The TAGFILES option can be used to specify one or more tagfiles.
    1357 # Optionally an initial location of the external documentation
    1358 # can be added for each tagfile. The format of a tag file without
    1359 # this location is as follows:
    1360 #
    1361 # TAGFILES = file1 file2 ...
    1362 # Adding location for the tag files is done as follows:
    1363 #
    1364 # TAGFILES = file1=loc1 "file2 = loc2" ...
    1365 # where "loc1" and "loc2" can be relative or absolute paths or
    1366 # URLs. If a location is present for each tag, the installdox tool
    1367 # does not have to be run to correct the links.
    1368 # Note that each tag file must have a unique name
    1369 # (where the name does NOT include the path)
    1370 # If a tag file is not located in the directory in which doxygen
    1371 # is run, you must also specify the path to the tagfile here.
    1372 
    1373 TAGFILES               =
    1374 
    1375 # When a file name is specified after GENERATE_TAGFILE, doxygen will create
    1376 # a tag file that is based on the input files it reads.
    1377 
    1378 GENERATE_TAGFILE       =
    1379 
    1380 # If the ALLEXTERNALS tag is set to YES all external classes will be listed
    1381 # in the class index. If set to NO only the inherited external classes
    1382 # will be listed.
    1383 
    1384 ALLEXTERNALS           = NO
    1385 
    1386 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
    1387 # in the modules index. If set to NO, only the current project's groups will
    1388 # be listed.
    1389 
    1390 EXTERNAL_GROUPS        = YES
    1391 
    1392 # The PERL_PATH should be the absolute path and name of the perl script
    1393 # interpreter (i.e. the result of `which perl').
    1394 
    1395 PERL_PATH              = /usr/bin/perl
    1396 
    1397 #---------------------------------------------------------------------------
    1398 # Configuration options related to the dot tool
    1399 #---------------------------------------------------------------------------
    1400 
    1401 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
    1402 # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
    1403 # or super classes. Setting the tag to NO turns the diagrams off. Note that
    1404 # this option is superseded by the HAVE_DOT option below. This is only a
    1405 # fallback. It is recommended to install and use dot, since it yields more
    1406 # powerful graphs.
    1407 
    1408 CLASS_DIAGRAMS         = YES
    1409 
    1410 # You can define message sequence charts within doxygen comments using the \msc
    1411 # command. Doxygen will then run the mscgen tool (see
    1412 # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
    1413 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
    1414 # the mscgen tool resides. If left empty the tool is assumed to be found in the
    1415 # default search path.
    1416 
    1417 MSCGEN_PATH            =
    1418 
    1419 # If set to YES, the inheritance and collaboration graphs will hide
    1420 # inheritance and usage relations if the target is undocumented
    1421 # or is not a class.
    1422 
    1423 HIDE_UNDOC_RELATIONS   = YES
    1424 
    1425 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
    1426 # available from the path. This tool is part of Graphviz, a graph visualization
    1427 # toolkit from AT&T and Lucent Bell Labs. The other options in this section
    1428 # have no effect if this option is set to NO (the default)
    1429 
    1430 HAVE_DOT               = NO
    1431 
    1432 # By default doxygen will write a font called FreeSans.ttf to the output
    1433 # directory and reference it in all dot files that doxygen generates. This
    1434 # font does not include all possible unicode characters however, so when you need
    1435 # these (or just want a differently looking font) you can specify the font name
    1436 # using DOT_FONTNAME. You need need to make sure dot is able to find the font,
    1437 # which can be done by putting it in a standard location or by setting the
    1438 # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
    1439 # containing the font.
    1440 
    1441 DOT_FONTNAME           = FreeSans
    1442 
    1443 # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
    1444 # The default size is 10pt.
    1445 
    1446 DOT_FONTSIZE           = 10
    1447 
    1448 # By default doxygen will tell dot to use the output directory to look for the
    1449 # FreeSans.ttf font (which doxygen will put there itself). If you specify a
    1450 # different font using DOT_FONTNAME you can set the path where dot
    1451 # can find it using this tag.
    1452 
    1453 DOT_FONTPATH           =
    1454 
    1455 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
    1456 # will generate a graph for each documented class showing the direct and
    1457 # indirect inheritance relations. Setting this tag to YES will force the
    1458 # the CLASS_DIAGRAMS tag to NO.
    1459 
    1460 CLASS_GRAPH            = YES
    1461 
    1462 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
    1463 # will generate a graph for each documented class showing the direct and
    1464 # indirect implementation dependencies (inheritance, containment, and
    1465 # class references variables) of the class with other documented classes.
    1466 
    1467 COLLABORATION_GRAPH    = YES
    1468 
    1469 # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
    1470 # will generate a graph for groups, showing the direct groups dependencies
    1471 
    1472 GROUP_GRAPHS           = YES
    1473 
    1474 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
    1475 # collaboration diagrams in a style similar to the OMG's Unified Modeling
    1476 # Language.
    1477 
    1478 UML_LOOK               = NO
    1479 
    1480 # If set to YES, the inheritance and collaboration graphs will show the
    1481 # relations between templates and their instances.
    1482 
    1483 TEMPLATE_RELATIONS     = NO
    1484 
    1485 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
    1486 # tags are set to YES then doxygen will generate a graph for each documented
    1487 # file showing the direct and indirect include dependencies of the file with
    1488 # other documented files.
    1489 
    1490 INCLUDE_GRAPH          = YES
    1491 
    1492 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
    1493 # HAVE_DOT tags are set to YES then doxygen will generate a graph for each
    1494 # documented header file showing the documented files that directly or
    1495 # indirectly include this file.
    1496 
    1497 INCLUDED_BY_GRAPH      = YES
    1498 
    1499 # If the CALL_GRAPH and HAVE_DOT options are set to YES then
    1500 # doxygen will generate a call dependency graph for every global function
    1501 # or class method. Note that enabling this option will significantly increase
    1502 # the time of a run. So in most cases it will be better to enable call graphs
    1503 # for selected functions only using the \callgraph command.
    1504 
    1505 CALL_GRAPH             = NO
    1506 
    1507 # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
    1508 # doxygen will generate a caller dependency graph for every global function
    1509 # or class method. Note that enabling this option will significantly increase
    1510 # the time of a run. So in most cases it will be better to enable caller
    1511 # graphs for selected functions only using the \callergraph command.
    1512 
    1513 CALLER_GRAPH           = NO
    1514 
    1515 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
    1516 # will graphical hierarchy of all classes instead of a textual one.
    1517 
    1518 GRAPHICAL_HIERARCHY    = YES
    1519 
    1520 # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
    1521 # then doxygen will show the dependencies a directory has on other directories
    1522 # in a graphical way. The dependency relations are determined by the #include
    1523 # relations between the files in the directories.
    1524 
    1525 DIRECTORY_GRAPH        = YES
    1526 
    1527 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
    1528 # generated by dot. Possible values are png, jpg, or gif
    1529 # If left blank png will be used.
    1530 
    1531 DOT_IMAGE_FORMAT       = png
    1532 
    1533 # The tag DOT_PATH can be used to specify the path where the dot tool can be
    1534 # found. If left blank, it is assumed the dot tool can be found in the path.
    1535 
    1536 DOT_PATH               =
    1537 
    1538 # The DOTFILE_DIRS tag can be used to specify one or more directories that
    1539 # contain dot files that are included in the documentation (see the
    1540 # \dotfile command).
    1541 
    1542 DOTFILE_DIRS           =
    1543 
    1544 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
    1545 # nodes that will be shown in the graph. If the number of nodes in a graph
    1546 # becomes larger than this value, doxygen will truncate the graph, which is
    1547 # visualized by representing a node as a red box. Note that doxygen if the
    1548 # number of direct children of the root node in a graph is already larger than
    1549 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
    1550 # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
    1551 
    1552 DOT_GRAPH_MAX_NODES    = 50
    1553 
    1554 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
    1555 # graphs generated by dot. A depth value of 3 means that only nodes reachable
    1556 # from the root by following a path via at most 3 edges will be shown. Nodes
    1557 # that lay further from the root node will be omitted. Note that setting this
    1558 # option to 1 or 2 may greatly reduce the computation time needed for large
    1559 # code bases. Also note that the size of a graph can be further restricted by
    1560 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
    1561 
    1562 MAX_DOT_GRAPH_DEPTH    = 1000
    1563 
    1564 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
    1565 # background. This is disabled by default, because dot on Windows does not
    1566 # seem to support this out of the box. Warning: Depending on the platform used,
    1567 # enabling this option may lead to badly anti-aliased labels on the edges of
    1568 # a graph (i.e. they become hard to read).
    1569 
    1570 DOT_TRANSPARENT        = NO
    1571 
    1572 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
    1573 # files in one run (i.e. multiple -o and -T options on the command line). This
    1574 # makes dot run faster, but since only newer versions of dot (>1.8.10)
    1575 # support this, this feature is disabled by default.
    1576 
    1577 DOT_MULTI_TARGETS      = NO
    1578 
    1579 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
    1580 # generate a legend page explaining the meaning of the various boxes and
    1581 # arrows in the dot generated graphs.
    1582 
    1583 GENERATE_LEGEND        = YES
    1584 
    1585 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
    1586 # remove the intermediate dot files that are used to generate
    1587 # the various graphs.
    1588 
    1589 DOT_CLEANUP            = YES
  • doc/Makefile.am

    r084729c r41e8e2  
     1EXTRA_DIST =
     2
     3# userguide documentation
     4
     5EXTRA_DIST += \
     6        userguide/createguide.sh \
     7        $(top_builddir)/doc/molecuilder.pdf
     8
     9XSLTPROC=xsltproc
     10XSLTPROC_FLAGS=@XSLTPROC_FLAGS@ \
     11        --stringparam paper.type A4
     12PDF_STYLESHEET=@DOCBOOK_ROOT@/fo/docbook.xsl
     13XML_CATALOG_FILES=$(top_builddir)/doc/userguide/catalog.xml
     14FOP=fop
     15
     16pdfdir = $(prefix)/share/doc/@PACKAGE@
     17dist_pdf_DATA = @PACKAGE@.pdf
     18
     19if have_fop
     20if have_xsltproc
     21
     22@PACKAGE@.fo: $(top_srcdir)/doc/userguide/userguide.xml
     23        XML_CATALOG_FILES=$(XML_CATALOG_FILES) $(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(PDF_STYLESHEET) $<
     24@PACKAGE@.pdf: @PACKAGE@.fo
     25        $(FOP) -fo $< -pdf $@
     26
     27else
     28
     29@PACKAGE@.pdf:
     30        touch $@
     31
     32endif
     33else
     34
     35@PACKAGE@.pdf:
     36        touch $@
     37
     38endif
     39
     40clean-local:
     41        $(RM) -f doc/userguide/catalog.xml
     42        $(RM) -f @PACKAGE@.fo
     43        $(RM) -f @PACKAGE@.pdf
     44
     45distclean-local:
     46        $(RM) -f doc/userguide/catalog.xml
     47        $(RM) -f @PACKAGE@.fo
     48        $(RM) -f @PACKAGE@.pdf
     49
     50
     51SUBDIRS = userguide
     52
     53EXTRA_DIST += \
     54        am_doxygen_include.am \
     55        Doxyfile
     56
     57include ../src/documentation/Makefile.am
    158
    259include am_doxygen_include.am
    3 
    4 EXTRA_DIST = am_doxygen_include.am Doxyfile
    5 
  • m4/ac_doxygen.m4

    r084729c r41e8e2  
    185185# Environment variables used inside doxygen.cfg:
    186186DX_ENV_APPEND(SRCDIR, $srcdir)
     187DX_ENV_APPEND(TOPSRCDIR, \$(top_srcdir))
    187188DX_ENV_APPEND(PROJECT, $DX_PROJECT)
    188189DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
  • m4/boost.m4

    r084729c r41e8e2  
    517517])
    518518
     519
     520# BOOST_ANY()
     521# ------------
     522# Look for Boost.Any
     523BOOST_DEFUN([Any],
     524[BOOST_FIND_HEADER([boost/any.hpp])])
     525
     526
    519527# BOOST_ARRAY()
    520528# -------------
     
    532540
    533541
     542# BOOST_BIMAP()
     543# ------------
     544# Look for Boost.Bimap
     545BOOST_DEFUN([Bimap],
     546[BOOST_FIND_HEADER([boost/bimap.hpp])])
     547
     548
    534549# BOOST_BIND()
    535550# ------------
     
    537552BOOST_DEFUN([Bind],
    538553[BOOST_FIND_HEADER([boost/bind.hpp])])
     554
     555
     556# BOOST_CAST()
     557# ------------
     558# Look for Boost.Cast
     559BOOST_DEFUN([Cast],
     560[BOOST_FIND_HEADER([boost/cast.hpp])])
    539561
    540562
     
    628650
    629651
     652# BOOST_FUSION()
     653# -----------------
     654# Look for Boost.Fusion
     655BOOST_DEFUN([Fusion],
     656[BOOST_FIND_HEADER([boost/fusion/sequence.hpp])])
     657
     658
    630659# BOOST_FLYWEIGHT()
    631660# -----------------
     
    772801
    773802
     803# BOOST_MPL()
     804# ------------------
     805# Look for Boost.MPL
     806BOOST_DEFUN([MPL],
     807[BOOST_FIND_HEADER([boost/mpl/for_each.hpp])])
     808
     809
    774810# BOOST_MULTIARRAY()
    775811# ------------------
     
    777813BOOST_DEFUN([MultiArray],
    778814[BOOST_FIND_HEADER([boost/multi_array.hpp])])
     815
     816# BOOST_MULTIINDEXCCONTAINER()
     817# ------------------
     818# Look for Boost.MultiIndexContainer
     819BOOST_DEFUN([MultiIndexContainer],
     820[BOOST_FIND_HEADER([boost/multi_index_container.hpp])])
    779821
    780822
     
    807849BOOST_DEFUN([Preprocessor],
    808850[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])])
     851
     852
     853# BOOST_PROPERTY_TREE([PREFERRED-RT-OPT])
     854# -----------------------------------------
     855# Look for Boost.Property_Tree.  For the documentation of PREFERRED-RT-OPT,
     856# see the documentation of BOOST_FIND_LIB above.
     857BOOST_DEFUN([Property_Tree],
     858[BOOST_FIND_LIB([property_tree], [$1],
     859                [boost/property_tree/ptree.hpp],
     860                [boost::property_tree::ptree pt; boost::property_tree::read_xml d("test", pt);])
     861])# BOOST_PROPERTY_TREE
     862
     863
     864# BOOST_RANDOM()
     865# --------------------
     866# Look for Boost.Random
     867BOOST_DEFUN([Random],
     868[BOOST_FIND_HEADER([boost/random/random_number_generator.hpp])])
    809869
    810870
  • src/Helpers/Makefile.am

    • Property mode changed from 100755 to 100644
    r084729c r41e8e2  
    22# Also indentation by a single tab
    33
    4 AM_LDFLAGS = -ldl
    5 AM_CPPFLAGS = -I$(top_srcdir)/src/ $(BOOST_CPPFLAGS)
     4HELPERSSOURCE = \
     5        Helpers/defs.cpp
    66
    7 HELPERSOURCE = \
    8         Assert.cpp \
    9         Chronos.cpp \
    10         errorlogger.cpp \
    11         Info.cpp \
    12         Log.cpp \
    13         logger.cpp \
    14         MemDebug.cpp \
    15         Verbose.cpp
     7HELPERSHEADER = \
     8        Helpers/defs.hpp \
     9        Helpers/helpers.hpp
    1610
    17 HELPERDEBUGSOURCE = \
    18         $(HELPERSOURCE)
    19                                  
    20 HELPERHEADER = \
    21         $(top_srcdir)/src/CodePatterns/Assert.hpp \
    22         $(top_srcdir)/src/CodePatterns/Chronos.hpp \
    23         $(top_srcdir)/src/CodePatterns/enumeration.hpp \
    24         $(top_srcdir)/src/CodePatterns/errorlogger.hpp \
    25         $(top_srcdir)/src/CodePatterns/Info.hpp \
    26         $(top_srcdir)/src/CodePatterns/IteratorAdaptors.hpp \
    27         $(top_srcdir)/src/CodePatterns/Log.hpp \
    28         $(top_srcdir)/src/CodePatterns/logger.hpp \
    29         $(top_srcdir)/src/CodePatterns/MemDebug.hpp \
    30         $(top_srcdir)/src/CodePatterns/Range.hpp \
    31         $(top_srcdir)/src/CodePatterns/toString.hpp \
    32         $(top_srcdir)/src/CodePatterns/Verbose.hpp
    3311
    34 HELPERDEBUGHEADER =
    3512
    36 noinst_LTLIBRARIES = libcodepatterns-Helpers.la libcodepatterns-Helpers-debug.la
    37 libcodepatterns_Helpers_la_includedir = $(includedir)/CodePatterns/
    38 libcodepatterns_Helpers_debug_la_includedir = $(includedir)/CodePatterns/
    39 libcodepatterns_Helpers_la_LDFLAGS = \
    40         $(AM_LDFLAGS) \
    41         $(BOOST_THREAD_LDFLAGS) \
    42         $(LIBRT) \
    43         $(BOOST_THREAD_LIBS)
    44 libcodepatterns_Helpers_debug_la_LDFLAGS = \
    45         $(AM_LDFLAGS) \
    46         $(BOOST_THREAD_LDFLAGS) \
    47         $(LIBRT) \
    48         $(BOOST_THREAD_LIBS)
     13noinst_LTLIBRARIES += libMolecuilderHelpers.la
     14libMolecuilderHelpers_la_includedir = $(includedir)/MoleCuilder/
    4915
    50 libcodepatterns_Helpers_la_CPPFLAGS = -DNDEBUG -DNO_MEMDEBUG $(AM_CPPFLAGS)
    51 libcodepatterns_Helpers_debug_la_CPPFLAGS = -DMEMDEBUG -DLOG_HELPER $(AM_CPPFLAGS)
    52 
    53 libcodepatterns_Helpers_la_include_HEADERS = $(HELPERHEADER)
    54 libcodepatterns_Helpers_debug_la_include_HEADERS = $(HELPERDEBUGHEADER)
     16nobase_libMolecuilderHelpers_la_include_HEADERS = ${HELPERSHEADER}
    5517
    5618## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
     
    6224## from each source file.  Note that it is not necessary to list header files
    6325## which are already listed elsewhere in a _HEADERS variable assignment.
    64 libcodepatterns_Helpers_la_SOURCES = $(HELPERSOURCE)
    65 libcodepatterns_Helpers_debug_la_SOURCES = $(HELPERDEBUGSOURCE)
     26libMolecuilderHelpers_la_SOURCES = ${HELPERSSOURCE}
     27
     28## Instruct libtool to include ABI version information in the generated shared
     29## library file (.so).  The library ABI version is defined in configure.ac, so
     30## that all version information is kept in one place.
     31#libMolecuilderHelpers_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
     32
     33## The generated configuration header is installed in its own subdirectory of
     34## $(libdir).  The reason for this is that the configuration information put
     35## into this header file describes the target platform the installed library
     36## has been built for.  Thus the file must not be installed into a location
     37## intended for architecture-independent files, as defined by the Filesystem
     38## Hierarchy Standard (FHS).
     39## The nodist_ prefix instructs Automake to not generate rules for including
     40## the listed files in the distribution on 'make dist'.  Files that are listed
     41## in _HEADERS variables are normally included in the distribution, but the
     42## configuration header file is generated at configure time and should not be
     43## shipped with the source tarball.
     44#libMolecuilderHelpers_libincludedir = $(libdir)/MoleCuilder/include
     45#nodist_libMolecuilderHelpers_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
     46
     47## Install the generated pkg-config file (.pc) into the expected location for
     48## architecture-dependent package configuration information.  Occasionally,
     49## pkg-config files are also used for architecture-independent data packages,
     50## in which case the correct install location would be $(datadir)/pkgconfig.
     51#pkgconfigdir = $(libdir)/pkgconfig
     52#pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
  • src/Makefile.am

    r084729c r41e8e2  
    22# Also indentation by a single tab
    33
    4 AM_LDFLAGS = $(BOOST_THREAD_LDFLAGS) -ldl
    5 AM_CPPFLAGS = -I$(top_srcdir)/src/ $(BOOST_CPPFLAGS)
    6 
    7 SUBDIRS = Helpers Patterns Observer unittests
    8 
    9 ## config utility ###
    10 
    11 bin_PROGRAMS = codepatterns-config codepatterns-debug-config
    12 
    13 CONFIGSOURCES = \
    14         codepatterns-config-main.cpp \
    15         codepatterns-config.hpp \
    16         version.hpp
    17 
    18 codepatterns_config_SOURCES = \
    19         $(CONFIGSOURCES) \
    20         codepatterns-config.cpp
    21 codepatterns_config_CPPFLAGS = \
    22         $(AM_CPPFLAGS) \
    23         $(BOOST_CPPFLAGS)
    24 codepatterns_config_LDFLAGS = \
     4MOSTLYCLEANFILES =
     5lib_LTLIBRARIES =
     6noinst_LTLIBRARIES =
     7pyexec_LTLIBRARIES =
     8BUILT_SOURCES =
     9bin_PROGRAMS =
     10EXTRA_DIST =
     11
     12# libMolecuilder.la requires the libraries listed below
     13
     14include Helpers/Makefile.am
     15include Shapes/Makefile.am
     16include Tesselation/Makefile.am
     17
     18# then comes the library itself
     19
     20AM_LDFLAGS = -ldl ${BOOST_LDFLAGS} ${CodePatterns_LDFLAGS}
     21AM_CPPFLAGS = \
     22        -I$(top_srcdir)/src/unittests \
     23        -I$(top_srcdir)/src/Actions \
     24        -I$(top_srcdir)/src/UIElements \
     25        -I$(top_srcdir)/ThirdParty/LinearAlgebra/src \
     26        ${BOOST_CPPFLAGS} \
     27        ${CodePatterns_CFLAGS}
     28
     29
     30BONDSOURCE = \
     31        Bond/bond.cpp \
     32        Bond/bond_observable.cpp \
     33        Bond/BondInfo.cpp \
     34        Bond/GraphEdge.cpp
     35
     36BONDHEADER = \
     37        Bond/bond.hpp \
     38        Bond/bond_observable.hpp \
     39        Bond/BondInfo.hpp \
     40        Bond/GraphEdge.hpp
     41
     42DESCRIPTORSOURCE = \
     43  Descriptors/AtomDescriptor.cpp \
     44  Descriptors/AtomIdDescriptor.cpp \
     45  Descriptors/AtomNameDescriptor.cpp \
     46  Descriptors/AtomOfMoleculeDescriptor.cpp \
     47  Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
     48  Descriptors/AtomOrderDescriptor.cpp \
     49  Descriptors/AtomSelectionDescriptor.cpp \
     50  Descriptors/AtomShapeDescriptor.cpp \
     51  Descriptors/AtomTypeDescriptor.cpp \
     52  Descriptors/AtomsWithinDistanceOfDescriptor.cpp \
     53  Descriptors/MoleculeDescriptor.cpp \
     54  Descriptors/MoleculeFormulaDescriptor.cpp \
     55  Descriptors/MoleculeIdDescriptor.cpp \
     56  Descriptors/MoleculeNameDescriptor.cpp \
     57  Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
     58  Descriptors/MoleculeOrderDescriptor.cpp \
     59  Descriptors/MoleculePtrDescriptor.cpp \
     60  Descriptors/MoleculeSelectionDescriptor.cpp
     61                                   
     62
     63DESCRIPTORHEADER = \
     64  Descriptors/AtomDescriptor.hpp \
     65  Descriptors/AtomIdDescriptor.hpp \
     66  Descriptors/AtomNameDescriptor.hpp \
     67  Descriptors/AtomOfMoleculeDescriptor.hpp \
     68  Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
     69  Descriptors/AtomOrderDescriptor.hpp \
     70  Descriptors/AtomSelectionDescriptor.hpp \
     71  Descriptors/AtomShapeDescriptor.hpp \
     72  Descriptors/AtomTypeDescriptor.hpp \
     73  Descriptors/AtomsWithinDistanceOfDescriptor.hpp \
     74  Descriptors/DescriptorBase.hpp \
     75  Descriptors/MoleculeDescriptor.hpp \
     76  Descriptors/MoleculeFormulaDescriptor.hpp \
     77  Descriptors/MoleculeIdDescriptor.hpp \
     78  Descriptors/MoleculeNameDescriptor.hpp \
     79  Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
     80  Descriptors/MoleculeOrderDescriptor.hpp \
     81  Descriptors/MoleculePtrDescriptor.hpp \
     82  Descriptors/MoleculeSelectionDescriptor.hpp \
     83  Descriptors/SelectiveConstIterator.hpp \
     84  Descriptors/SelectiveIterator.hpp
     85 
     86DESCRIPTORIMPLHEADER = \
     87  Descriptors/AtomDescriptor_impl.hpp \
     88  Descriptors/AtomIdDescriptor_impl.hpp \
     89  Descriptors/AtomNameDescriptor_impl.hpp \
     90  Descriptors/AtomOfMoleculeDescriptor_impl.hpp \
     91  Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
     92  Descriptors/AtomOrderDescriptor_impl.hpp \
     93  Descriptors/AtomSelectionDescriptor_impl.hpp \
     94  Descriptors/AtomShapeDescriptor_impl.hpp \
     95  Descriptors/AtomTypeDescriptor_impl.hpp \
     96  Descriptors/AtomsWithinDistanceOfDescriptor_impl.hpp \
     97  Descriptors/DescriptorBase_impl.hpp \
     98  Descriptors/MoleculeDescriptor_impl.hpp \
     99  Descriptors/MoleculeFormulaDescriptor_impl.hpp \
     100  Descriptors/MoleculeIdDescriptor_impl.hpp \
     101  Descriptors/MoleculeNameDescriptor_impl.hpp \
     102  Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
     103  Descriptors/MoleculeOrderDescriptor_impl.hpp \
     104  Descriptors/MoleculePtrDescriptor_impl.hpp \
     105  Descriptors/MoleculeSelectionDescriptor_impl.hpp \
     106  Descriptors/SelectiveConstIterator_impl.hpp \
     107  Descriptors/SelectiveIterator_impl.hpp
     108
     109DYNAMICSSOURCE = \
     110        Dynamics/MinimiseConstrainedPotential.cpp
     111
     112DYNAMICSHEADER = \
     113        Dynamics/AtomicForceManipulator.hpp \
     114        Dynamics/ForceAnnealing.hpp \
     115        Dynamics/LinearInterpolationBetweenSteps.hpp \
     116        Dynamics/MinimiseConstrainedPotential.hpp \
     117        Dynamics/OutputTemperature.hpp \
     118        Dynamics/VerletForceIntegration.hpp
     119
     120THERMOSTATSOURCE = \
     121  Thermostats/Berendsen.cpp \
     122  Thermostats/GaussianThermostat.cpp \
     123  Thermostats/Langevin.cpp \
     124  Thermostats/NoseHoover.cpp \
     125  Thermostats/NoThermostat.cpp \
     126  Thermostats/Thermostat.cpp \
     127  Thermostats/ThermoStatContainer.cpp \
     128  Thermostats/Woodcock.cpp
     129
     130THERMOSTATHEADER = \
     131  Thermostats/Berendsen.hpp \
     132  Thermostats/GaussianThermostat.hpp \
     133  Thermostats/Langevin.hpp \
     134  Thermostats/NoseHoover.hpp \
     135  Thermostats/NoThermostat.hpp \
     136  Thermostats/Thermostat.hpp \
     137  Thermostats/ThermoStatContainer.hpp \
     138  Thermostats/Woodcock.hpp
     139
     140MOLECUILDERSOURCE = \
     141  ${BONDSOURCE} \
     142  ${DESCRIPTORSOURCE} \
     143  ${DYNAMICSSOURCE} \
     144  ${THERMOSTATSOURCE} \
     145  Shapes/ShapeFactory.cpp \
     146  AtomIdSet.cpp \
     147  Box.cpp \
     148  Box_BoundaryConditions.cpp \
     149  config.cpp \
     150  Formula.cpp \
     151  MoleculeLeafClass.cpp \
     152  MoleculeObserver.cpp \
     153  molecule.cpp \
     154  molecule_geometry.cpp \
     155  molecule_graph.cpp \
     156  UIElements/UIFactory.cpp \
     157  version.c \
     158  World.cpp \
     159  WorldTime.cpp
     160
     161MOLECUILDERHEADER = \
     162  ${BONDHEADER} \
     163  ${DESCRIPTORHEADER} \
     164  ${DESCRIPTORIMPLHEADER} \
     165  ${DYNAMICSHEADER} \
     166  ${THERMOSTATHEADER} \
     167  Shapes/ShapeFactory.hpp \
     168  AtomIdSet.hpp \
     169  Box.hpp \
     170  Box_BoundaryConditions.hpp \
     171  config.hpp \
     172  EntityObserver.hpp \
     173  EntityObserver_impl.hpp \
     174  Formula.hpp \
     175  IdPool.hpp \
     176  IdPool_impl.hpp \
     177  IdPool_policy.hpp \
     178  MoleculeLeafClass.hpp \
     179  MoleculeObserver.hpp \
     180  molecule.hpp \
     181  types.hpp \
     182  ThreadGuard.hpp \
     183  UIElements/UIFactory.hpp \
     184  version.h \
     185  World.hpp \
     186  World_calculations.hpp \
     187  WorldTime.hpp
     188
     189lib_LTLIBRARIES += libMolecuilder.la
     190libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
     191libMolecuilder_la_LDFLAGS = \
    25192        $(AM_LDFLAGS) \
    26         $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
    27         $(BOOST_PROGRAM_OPTIONS_LIBS)
    28 codepatterns_config_LDADD = \
    29         libcodepatterns.la
    30 
    31 codepatterns_debug_config_SOURCES = \
    32         $(CONFIGSOURCES) \
    33         codepatterns-debug-config.cpp
    34 codepatterns_debug_config_CPPFLAGS = \
    35         $(AM_CPPFLAGS) \
    36         $(BOOST_CPPFLAGS)
    37 codepatterns_debug_config_LDFLAGS = \
    38         $(AM_LDFLAGS) \
    39         $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
    40         $(BOOST_PROGRAM_OPTIONS_LIBS)
    41 codepatterns_debug_config_LDADD = \
    42         libcodepatterns.la
    43 
    44 dist_man_MANS = \
    45         manpages/codepatterns-config.1 \
    46         manpages/codepatterns-debug-config.1
    47 
    48 include_HEADERS = \
    49         version.hpp
    50 
    51 CLEANFILES = \
    52         codepatterns-config.cpp \
    53         codepatterns-debug-config.cpp
    54 
    55 # this includes source files that need to be present at multiple points
    56 SOURCE =  \
    57         version.cpp
    58 SOURCEDEBUG = \
    59         $(SOURCE)
    60 
    61 HEADER =  \
    62         version.hpp
    63 
    64 ##-@CODEPATTERNS_API_VERSION@
    65 lib_LTLIBRARIES = libcodepatterns.la libcodepatterns-debug.la
    66 libcodepatterns_la_LDFLAGS = \
    67         $(AM_LDFLAGS) \
    68         $(LIBRT)
    69 libcodepatterns_debug_la_LDFLAGS = \
    70         $(AM_LDFLAGS) \
    71         $(LIBRT)
    72 libcodepatterns_la_LIBADD = \
    73         Patterns/libcodepatterns-Patterns.la \
    74         Observer/libcodepatterns-Observer.la \
    75         Helpers/libcodepatterns-Helpers.la
    76 libcodepatterns_debug_la_LIBADD = \
    77         Patterns/libcodepatterns-Patterns-debug.la \
    78         Observer/libcodepatterns-Observer-debug.la \
    79         Helpers/libcodepatterns-Helpers-debug.la
    80 
    81 libcodepatterns_la_CPPFLAGS = -DNDEBUG -DNO_MEMDEBUG $(AM_CPPFLAGS)
    82 libcodepatterns_debug_la_CPPFLAGS = -DMEMDEBUG -DLOG_OBSERVER $(AM_CPPFLAGS)
    83 
    84 ## Define the source file list for the "libexample-@CODEPATTERNS_API_VERSION@.la"
    85 ## target.  Note that @CODEPATTERNS_API_VERSION@ is not interpreted by Automake and
     193        $(CodePatterns_LDFLAGS) \
     194        $(BOOST_SYSTEM_LDFLAGS) \
     195        $(BOOST_THREAD_LDFLAGS)
     196libMolecuilder_la_LIBADD = \
     197        libMolecuilderTesselation.la \
     198        libMolecuilderShapes.la \
     199        libMolecuilderHelpers.la \
     200        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     201        ${CodePatterns_LIBS} \
     202        $(BOOST_SERIALIZATION_LIBS) \
     203        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     204        $(BOOST_FILESYSTEM_LIBS) \
     205        $(BOOST_SYSTEM_LIBS) \
     206        $(BOOST_THREAD_LIBS)
     207
     208nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
     209
     210## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
     211## target.  Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
    86212## will therefore be treated as if it were literally part of the target name,
    87213## and the variable name derived from that.
     
    90216## from each source file.  Note that it is not necessary to list header files
    91217## which are already listed elsewhere in a _HEADERS variable assignment.
    92 #-$(CODEPATTERNS_API_VERSION)
    93 libcodepatterns_la_SOURCES = $(SOURCE)
    94 libcodepatterns_debug_la_SOURCES = $(SOURCEDEBUG)
     218libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE}
    95219
    96220## Instruct libtool to include ABI version information in the generated shared
    97221## library file (.so).  The library ABI version is defined in configure.ac, so
    98222## that all version information is kept in one place.
    99 #-$(CODEPATTERNS_API_VERSION)
    100 libcodepatterns_la_LDFLAGS += -version-info $(CODEPATTERNS_SO_VERSION)
    101 libcodepatterns_debug_la_LDFLAGS += -version-info $(CODEPATTERNS_SO_VERSION)
     223libMolecuilder_la_LDFLAGS += -version-info $(MOLECUILDER_SO_VERSION)
    102224
    103225## The generated configuration header is installed in its own subdirectory of
     
    112234## configuration header file is generated at configure time and should not be
    113235## shipped with the source tarball.
    114 libcodepatterns_libincludedir = $(includedir)/CodePatterns/
    115 #-$(CODEPATTERNS_API_VERSION)
    116 libcodepatterns_libinclude_HEADERS = $(HEADER) $(top_builddir)/libcodepatterns_config.h
     236libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
     237nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
    117238
    118239## Install the generated pkg-config file (.pc) into the expected location for
     
    121242## in which case the correct install location would be $(datadir)/pkgconfig.
    122243pkgconfigdir = $(libdir)/pkgconfig
    123 pkgconfig_DATA = $(top_builddir)/libcodepatterns.pc $(top_builddir)/libcodepatterns-debug.pc
     244pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
     245
     246# then we compile the remainder of all other libraries, especially
     247# libMolecuilderUI.la, which requires libMolecuilder.la on install
     248
     249include Actions/Makefile.am
     250include Analysis/Makefile.am
     251include Atom/Makefile.am
     252include Element/Makefile.am
     253include Filling/Makefile.am
     254include Fragmentation/Makefile.am
     255include Fragmentation/Automation/Makefile.am
     256include Fragmentation/Summation/Containers/Makefile.am
     257include Fragmentation/Summation/Converter/Makefile.am
     258include Fragmentation/Summation/Makefile.am
     259include Fragmentation/Summation/SetValues/Makefile.am
     260include FunctionApproximation/Makefile.am
     261include Graph/Makefile.am
     262include Jobs/Makefile.am
     263
     264if CONDPYTHON
     265include Python/Makefile.am
     266endif
     267
     268include LinkedCell/Makefile.am
     269include Parameters/Makefile.am
     270include Parser/Makefile.am
     271include Potentials/Makefile.am
     272include RandomNumbers/Makefile.am
     273include UIElements/Makefile.am
     274
     275bin_PROGRAMS += molecuilder
     276EXTRA_PROGRAMS = unity
     277
     278
     279extrastuffdir = $(datadir)/@PACKAGE@/data
     280databasedir = $(extrastuffdir)/databases
     281database_DATA = \
     282        ${top_srcdir}/data/databases/*.db
     283
     284bondtabledir = $(extrastuffdir)/bondtables
     285bondtable_DATA = \
     286        ${top_srcdir}/data/bondtables/*.dat
     287
     288moleculedir = $(extrastuffdir)/molecules
     289molecule_DATA = \
     290        ${top_srcdir}/data/molecules/*.pdb
     291
     292if CONDPYTHON
     293pyexec_LTLIBRARIES += pyMoleCuilder.la
     294pyMoleCuilder_la_SOURCES = \
     295        cleanUp.cpp \
     296        cleanUp.hpp \
     297        Actions/Action_impl_python.hpp \
     298        Actions/GlobalListOfActions.hpp \
     299        Actions/ActionHistory.hpp
     300pyMoleCuilder_la_CPPFLAGS = $(AM_CPPFLAGS) ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} $(JobMarket_CFLAGS) -I$(PYTHON_INCLUDE_DIR)
     301pyMoleCuilder_la_LDFLAGS = -module -version-info $(MOLECUILDER_SO_VERSION) -shared $(BOOST_PYTHON_LDFLAGS)
     302pyMoleCuilder_la_LIBADD = \
     303        libMolecuilderUI.la
     304pyMoleCuilder_la_LIBADD += \
     305        $(BOOST_PYTHON_LIBS) \
     306        ${CodePatterns_LIBS} \
     307        -l$(PYTHON_LIB)
     308endif
     309
     310
     311
     312molecuilder_CPPFLAGS  = $(AM_CPPFLAGS)
     313#molecuilder_CPPFLAGS += -DNO_CACHING
     314molecuilder_LDFLAGS = \
     315        $(AM_LDFLAGS) \
     316        $(CodePatterns_LDFLAGS) \
     317        $(BOOST_FILESYSTEM_LDFLAGS) \
     318        $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
     319        $(BOOST_RANDOM_LDFLAGS) \
     320        $(BOOST_SYSTEM_LDFLAGS) \
     321        $(BOOST_THREAD_LDFLAGS)
     322molecuilder_SOURCES = \
     323        builder.cpp \
     324        builder_init.cpp \
     325        builder_init.hpp \
     326        Python/PythonScripting.hpp
     327molecuilder_LDADD = \
     328        libMolecuilder.la \
     329        libMolecuilderUI.la
     330molecuilder_LDADD += \
     331        ${CodePatterns_LIBS} \
     332        $(BOOST_THREAD_LIBS) \
     333        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     334        $(BOOST_RANDOM_LIBS) \
     335        $(BOOST_FILESYSTEM_LIBS) \
     336        $(BOOST_SYSTEM_LIBS)
     337       
     338if CONDPYTHON
     339molecuilder_SOURCES += \
     340        Actions/Action_impl_python.hpp \
     341        Actions/GlobalListOfActions.hpp
     342molecuilder_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
     343molecuilder_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
     344molecuilder_LDADD += \
     345        $(BOOST_PYTHON_LIBS) \
     346        ${CodePatterns_LIBS} \
     347        -l$(PYTHON_LIB)
     348endif
     349
     350#Stuff for building the GUI using Qt
     351if CONDQTGUI
     352bin_PROGRAMS += molecuildergui
     353molecuildergui_SOURCES = \
     354        builder.cpp \
     355        builder_init.cpp \
     356        builder_init.hpp \
     357        Python/PythonScripting.hpp
     358molecuildergui_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT
     359molecuildergui_LDFLAGS = \
     360        $(AM_LDFLAGS) \
     361        $(BOOST_FILESYSTEM_LDFLAGS) \
     362        $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
     363        $(BOOST_SYSTEM_LDFLAGS) \
     364        $(BOOST_THREAD_LDFLAGS)
     365molecuildergui_LDADD = \
     366        libMolecuilder.la \
     367        libMolecuilderQtUI.la \
     368        libMolecuilderUI.la
     369molecuildergui_LDADD += \
     370        ${CodePatterns_LIBS} \
     371        $(BOOST_THREAD_LIBS) \
     372        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     373        $(BOOST_RANDOM_LIBS) \
     374        $(BOOST_FILESYSTEM_LIBS) \
     375        $(BOOST_SYSTEM_LIBS) \
     376        $(GUI_LIBS)
     377
     378if CONDPYTHON
     379molecuildergui_SOURCES += \
     380        Actions/Action_impl_python.hpp \
     381        Actions/GlobalListOfActions.hpp
     382molecuildergui_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
     383molecuildergui_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
     384molecuildergui_LDADD += \
     385        $(BOOST_PYTHON_LIBS) \
     386        ${CodePatterns_LIBS} \
     387        -l$(PYTHON_LIB)
     388endif
     389
     390endif
     391
     392if CONDJOBMARKET
     393CONTROLLERSOURCE = \
     394        controller_MPQCCommandJob.cpp \
     395        ControllerOptions_MPQCCommandJob.cpp
     396
     397CONTROLLERHEADER = \
     398        controller_MPQCCommandJob.hpp \
     399        ControllerOptions_MPQCCommandJob.hpp
     400
     401
     402noinst_LTLIBRARIES += libFragmentationAutomationController.la
     403libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket
     404nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER)
     405libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE)
     406 libFragmentationAutomationController_la_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
     407libFragmentationAutomationController_la_LIBADD = \
     408        ${JobMarket_Controller_LIBS} \
     409        $(JobMarket_LIBS)
     410
     411bin_PROGRAMS += Controller PoolWorker Server
     412
     413Controller_SOURCES = controller.cpp controller_AddOn_MPQCCommandJob.cpp
     414Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
     415Controller_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
     416Controller_LDADD = \
     417        libFragmentationAutomationController.la \
     418        libMolecuilderFragmentation_getFromKeysetStub.la \
     419        libMolecuilderFragmentation.la \
     420        libMolecuilderJobs.la \
     421        libMolecuilderFragmentationSummation.la \
     422        libMolecuilderFragmentation_KeysetsContainer.la \
     423        libMolecuilderHelpers.la \
     424        $(JobMarket_Controller_LIBS) \
     425        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     426        $(BOOST_SERIALIZATION_LIBS) \
     427        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     428        ${CodePatterns_LIBS}
     429
     430PoolWorker_SOURCES = poolworker.cpp
     431PoolWorker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
     432PoolWorker_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
     433PoolWorker_LDADD = \
     434        libMolecuilderJobs.la \
     435        libMolecuilderFragmentationSummation.la \
     436        ${JobMarket_PoolWorker_LIBS} \
     437        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     438        $(BOOST_SERIALIZATION_LIBS) \
     439        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     440        ${CodePatterns_LIBS}
     441
     442Server_SOURCES = Server.cpp
     443Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
     444Server_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
     445Server_LDADD = \
     446        libMolecuilderJobs.la \
     447        libMolecuilderFragmentationSummation.la \
     448        ${JobMarket_Server_LIBS} \
     449        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     450        $(BOOST_SERIALIZATION_LIBS) \
     451        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     452        ${CodePatterns_LIBS}
     453endif
     454
     455unity_SOURCES = unity.cpp
     456unity_CPPFLAGS = $(AM_CPPFLAGS)
     457unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
     458unity_LDADD = \
     459        ${CodePatterns_LIBS} \
     460        $(BOOST_THREAD_LIBS) \
     461        $(BOOST_PROGRAM_OPTIONS_LIBS) \
     462        $(BOOST_RANDOM_LIBS) \
     463        $(BOOST_FILESYSTEM_LIBS) \
     464        $(BOOST_SYSTEM_LIBS)
     465
    124466
    125467FORCE:
    126 
    127468$(srcdir)/.git-version: FORCE
    128469        @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
    129              && { git describe --abbrev=0 | sed -e "s#^v##" ; } ) > .git-version-t 2>/dev/null \
     470             && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
    130471          && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
    131472          mv -f .git-version-t $(srcdir)/.git-version; \
     
    134475        fi
    135476
    136 EXTRA_DIST = $(srcdir)/.git-version
    137 
    138 version.cpp: $(srcdir)/.git-version
    139         echo -e "const char *CODEPATTERNSVERSION = \"`cat <$(srcdir)/.git-version`\";\nconst char *CODEPATTERNSFULLVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";\n" > $@
    140 
    141 codepatterns-config.cpp:
    142         echo -e "const char *CODEPATTERNSCFLAGS=\"-I$(includedir) ${BOOST_CPPFLAGS}\";\nconst char *CODEPATTERNSLDFLAGS=\"-L$(libdir) $(BOOST_LDFLAGS)\";\nconst char *CODEPATTERNSLIBS=\"-lcodepatterns $(BOOST_THREAD_LIB)\";\n" > $@
    143 
    144 codepatterns-debug-config.cpp:
    145         echo -e "const char *CODEPATTERNSCFLAGS=\"-I$(includedir) ${BOOST_CPPFLAGS}\";\nconst char *CODEPATTERNSLDFLAGS=\"-L$(libdir) $(BOOST_LDFLAGS)\";\nconst char *CODEPATTERNSLIBS=\"-lcodepatterns-debug $(BOOST_THREAD_LIB)\";\n" > $@
     477EXTRA_DIST += \
     478        $(srcdir)/.git-version \
     479        $(bondtable_DATA) \
     480        $(database_DATA) \
     481        $(molecule_DATA)
     482
     483$(srcdir)/version.c: $(srcdir)/.git-version
     484        echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
     485
     486
     487unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
     488        list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
     489        echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
     490        done; \
     491        subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
     492                olddir=$$PWD;\
     493                cd $$directory && make unity.cpp;\
     494                cd $$olddir;\
     495                echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
     496        done;\
     497        echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
     498        echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
     499
     500MOSTLYCLEANFILES += unity.cpp
     501
  • src/documentation/faq.dox

    r084729c r41e8e2  
    1111 *  Herein, all frequently asked questions (FAQ) are contained.
    1212 *
    13  * Created on: Oct 28, 2011
     13 * Created on: Oct 11, 2011
    1414 *    Author: heber
    1515 */
     16
     17/**
     18 * \page faq Frequently Asked Questions
     19 *
     20 *  TODO: Documentation - add FAQ
     21 *
     22 *
     23 * \date 2011-10-31
     24 *
     25 */
  • src/unittests/Makefile.am

    r084729c r41e8e2  
    11# PLEASE adhere to the alphabetical ordering in this Makefile!
    22# Also indentation by a single tab
    3 
    4 # NOTE that all paths are relative to ./src (because we get included there!)
    53
    64check_PROGRAMS =
    75noinst_PROGRAMS =
    86TESTS =
    9 TESTSOURCES =
    10 TESTHEADERS =
    11 
    12 AM_LDFLAGS = ${BOOST_THREAD_LDFLAGS} $(CPPUNIT_LIBS) -ldl
    13 AM_CPPFLAGS = -I$(top_srcdir)/src/ ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS)
    14 
    15 include $(top_srcdir)/src/Helpers/unittests/Makefile.am
    16 include $(top_srcdir)/src/Patterns/unittests/Makefile.am
    17 include $(top_srcdir)/src/Observer/unittests/Makefile.am
    18 
    19 check_PROGRAMS += 
     7XFAIL_TESTS =
     8MOSTLYCLEANFILES =
     9noinst_LTLIBRARIES =
     10
     11#AUTOMAKE_OPTIONS = no-dependencies
     12
     13if CONDCPPUNIT
     14
     15include ../../src/Actions/unittests/Makefile.am
     16include ../../src/Analysis/unittests/Makefile.am
     17include ../../src/Atom/unittests/Makefile.am
     18include ../../src/Descriptors/unittests/Makefile.am
     19include ../../src/Element/unittests/Makefile.am
     20include ../../src/Filling/unittests/Makefile.am
     21include ../../src/FunctionApproximation/unittests/Makefile.am
     22include ../../src/Fragmentation/unittests/Makefile.am
     23include ../../src/Fragmentation/Exporters/unittests/Makefile.am
     24include ../../src/Fragmentation/Homology/unittests/Makefile.am
     25include ../../src/Fragmentation/Summation/unittests/Makefile.am
     26include ../../src/Fragmentation/Summation/Containers/unittests/Makefile.am
     27include ../../src/Fragmentation/Summation/SetValues/unittests/Makefile.am
     28include ../../src/Graph/unittests/Makefile.am
     29
     30if CONDJOBMARKET
     31include ../../src/Jobs/unittests/Makefile.am
     32endif
     33
     34include ../../src/LinkedCell/unittests/Makefile.am
     35include ../../src/Parameters/unittests/Makefile.am
     36include ../../src/Parser/unittests/Makefile.am
     37include ../../src/Potentials/unittests/Makefile.am
     38include ../../src/Potentials/Specifics/unittests/Makefile.am
     39include ../../src/RandomNumbers/unittests/Makefile.am
     40include ../../src/Shapes/unittests/Makefile.am
     41include ../../src/Tesselation/unittests/Makefile.am
     42include ../../src/UIElements/CommandLineUI/unittests/Makefile.am
     43include ../../src/UIElements/Menu/unittests/Makefile.am
     44
     45AM_LDFLAGS = \
     46        ${CodePatterns_LIBS} \
     47        $(CPPUNIT_LIBS) \
     48        -ldl
     49AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/ThirdParty/LinearAlgebra/src ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
     50
     51GENERALTESTS = \
     52  AtomIdSetUnitTest \
     53  BoxUnitTest \
     54  Box_BoundaryConditionsTest \
     55  FormulaUnittest \
     56  ListOfBondsUnitTest \
     57  MoleculeUnitTest \
     58  WorldTimeUnitTest
     59
     60# these ones are checked
     61TESTS += $(GENERALTESTS)
     62# these ones are built for checking only
     63check_PROGRAMS += $(GENERALTESTS)
     64# ... and not installed
     65noinst_PROGRAMS += $(GENERALTESTS)
     66
     67if CONDECUT
    2068noinst_PROGRAMS += TestRunner
    21 
    22 TestRunner_SOURCES = \
    23         TestRunnerMain.cpp \
    24         $(TESTSOURCES) \
    25         $(TESTHEADERS)
    26 TestRunner_LDADD = \
    27         ../Patterns/libcodepatterns-Patterns-debug.la \
    28         ../Observer/libcodepatterns-Observer-debug.la \
    29         ../Helpers/libcodepatterns-Helpers-debug.la \
    30         $(LIBRT)
     69endif
     70
     71noinst_LTLIBRARIES += libUnitTest.la
     72libUnitTest_la_LDFLAGS = \
     73        $(AM_LDFLAGS)
     74libUnitTest_la_LIBADD =
     75
     76#nobase_libUnitTest_la_include_HEADERS =
     77
     78## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
     79## target.  Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
     80## will therefore be treated as if it were literally part of the target name,
     81## and the variable name derived from that.
     82## The file extension .cc is recognized by Automake, and makes it produce
     83## rules which invoke the C++ compiler to produce a libtool object file (.lo)
     84## from each source file.  Note that it is not necessary to list header files
     85## which are already listed elsewhere in a _HEADERS variable assignment.
     86libUnitTest_la_SOURCES = UnitTestMain.cpp
     87
     88## Instruct libtool to include ABI version information in the generated shared
     89## library file (.so).  The library ABI version is defined in configure.ac, so
     90## that all version information is kept in one place.
     91#libUnitTest_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
     92
     93## The generated configuration header is installed in its own subdirectory of
     94## $(libdir).  The reason for this is that the configuration information put
     95## into this header file describes the target platform the installed library
     96## has been built for.  Thus the file must not be installed into a location
     97## intended for architecture-independent files, as defined by the Filesystem
     98## Hierarchy Standard (FHS).
     99## The nodist_ prefix instructs Automake to not generate rules for including
     100## the listed files in the distribution on 'make dist'.  Files that are listed
     101## in _HEADERS variables are normally included in the distribution, but the
     102## configuration header file is generated at configure time and should not be
     103## shipped with the source tarball.
     104#libUnitTest_la_libincludedir = $(libdir)/MoleCuilder/include
     105#nodist_libUnitTest_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
     106
     107## Install the generated pkg-config file (.pc) into the expected location for
     108## architecture-dependent package configuration information.  Occasionally,
     109## pkg-config files are also used for architecture-independent data packages,
     110## in which case the correct install location would be $(datadir)/pkgconfig.
     111#pkgconfigdir = $(libdir)/pkgconfig
     112#pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
     113
     114
     115BOOST_LIB = \
     116        $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LIBS) \
     117        $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LIBS) \
     118        $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
     119        $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
     120        $(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS)
     121
     122GENERALLIBS = \
     123        ../libMolecuilder.la \
     124        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     125        ${CodePatterns_LIBS} \
     126        $(BOOST_LIB)
     127
     128ALLLIBS = \
     129        libUnitTest.la \
     130        ../libMolecuilder.la \
     131        ../libMolecuilderUI.la
     132if CONDJOBMARKET
     133ALLLIBS += \
     134        ../libMolecuilderJobs.la
     135endif
     136ALLLIBS += \
     137        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     138        ${CodePatterns_LIBS} \
     139        $(BOOST_LIB)
     140
     141TESTSOURCES = \
     142        ${ACTIONTESTSSOURCES} \
     143        ${ANALYSISTESTSSOURCES} \
     144        ${DESCRIPTORTESTSSOURCES} \
     145        ${ELEMENTTESTSSOURCES} \
     146        ${FILLINGTESTSSOURCES} \
     147        ${FRAGMENTATIONTESTSSOURCES} \
     148        ${GRAPHTESTSSOURCES} \
     149        ${LINKEDCELLTESTSSOURCES} \
     150        ${LINEARALGEBRATESTSSOURCES} \
     151        ${PARAMETERTESTSSOURCES} \
     152        ${PARSERTESTSSOURCES} \
     153        ${RANDOMNUMBERTESTSSOURCES} \
     154        ${SHAPETESTSSOURCES} \
     155        ${TESSELATIONTESTSSOURCES} \
     156        $(UIELEMENTSCOMMANDLINEPARSERTESTSSOURCES) \
     157        ${UIELEMENTSMENUTESTSSOURCES} \
     158        stubs/ObserverStub.cpp \
     159        AtomIdSetUnitTest.cpp \
     160  BoxUnitTest.cpp \
     161        Box_BoundaryConditionsUnitTest.cpp \
     162  FormulaUnitTest.cpp \
     163  ListOfBondsUnitTest.cpp \
     164  MoleculeUnitTest.cpp \
     165  WorldTimeUnitTest.cpp
     166
     167TESTHEADERS = \
     168        ${ACTIONTESTSHEADERS} \
     169        ${ANALYSISTESTSHEADERS} \
     170        ${DESCRIPTORTESTSHEADERS} \
     171        ${ELEMENTTESTSHEADERS} \
     172        ${FILLINGTESTSHEADERS} \
     173        ${FRAGMENTATIONTESTSHEADERS} \
     174        ${GRAPHTESTSHEADERS} \
     175        ${LINKEDCELLTESTHEADERS} \
     176        ${LINEARALGEBRATESTSHEADERS} \
     177        ${PARAMETERTESTSHEADERS} \
     178        ${PARSERTESTSHEADERS} \
     179        ${RANDOMNUMBERTESTSHEADERS} \
     180        ${SHAPETESTSHEADERS} \
     181        ${TESSELATIONTESTSHEADERS} \
     182        $(UIELEMENTSCOMMANDLINEPARSERTESTSHEADERS) \
     183        ${UIELEMENTSMENUTESTSHEADERS} \
     184        stubs/ObserverStub.hpp \
     185        AtomIdSetUnitTest.hpp \
     186  BoxUnitTest.hpp \
     187        Box_BoundaryConditionsUnitTest.hpp \
     188  FormulaUnitTest.hpp \
     189  ListOfBondsUnitTest.hpp \
     190  MoleculeUnitTest.hpp \
     191  WorldTimeUnitTest.hpp
     192 
     193
     194BoxUnitTest_SOURCES = \
     195        BoxUnitTest.cpp \
     196        BoxUnitTest.hpp \
     197        stubs/ObserverStub.cpp \
     198        stubs/ObserverStub.hpp \
     199        ../Shapes/unittests/stubs/ApproximateShapeAreaStub.cpp \
     200        ../Shapes/unittests/stubs/ApproximateShapeVolumeStub.cpp
     201BoxUnitTest_LDADD = \
     202        $(ALLLIBS) \
     203        ../libMolecuilderShapes.la \
     204        ../libMolecuilderHelpers.la
     205
     206AtomIdSetUnitTest_SOURCES = \
     207        AtomIdSetUnitTest.cpp \
     208        AtomIdSetUnitTest.hpp
     209AtomIdSetUnitTest_LDADD =  $(ALLLIBS)
     210
     211Box_BoundaryConditionsTest_SOURCES = \
     212        Box_BoundaryConditionsUnitTest.cpp \
     213        Box_BoundaryConditionsUnitTest.hpp
     214Box_BoundaryConditionsTest_LDADD = \
     215        $(ALLLIBS) \
     216        ../libMolecuilderShapes.la \
     217        ../libMolecuilderHelpers.la
     218
     219FormulaUnittest_SOURCES = \
     220        FormulaUnitTest.cpp \
     221        FormulaUnitTest.hpp
     222FormulaUnittest_LDADD = $(ALLLIBS)
     223
     224ListOfBondsUnitTest_SOURCES = \
     225        ListOfBondsUnitTest.cpp \
     226        ListOfBondsUnitTest.hpp
     227ListOfBondsUnitTest_LDADD = $(ALLLIBS)
     228
     229MoleculeUnitTest_SOURCES = \
     230        MoleculeUnitTest.cpp \
     231        MoleculeUnitTest.hpp
     232MoleculeUnitTest_LDADD = \
     233        $(ALLLIBS) \
     234        ../libMolecuilderShapes.la \
     235        ../libMolecuilderHelpers.la
     236
     237WorldTimeUnitTest_SOURCES = \
     238        WorldTimeUnitTest.cpp \
     239        WorldTimeUnitTest.hpp
     240WorldTimeUnitTest_LDADD = \
     241        $(ALLLIBS) \
     242        ../libMolecuilderShapes.la \
     243        ../libMolecuilderHelpers.la
     244
     245
     246TestRunner_SOURCES = TestRunnerMain.cpp $(TESTSOURCES) $(TESTHEADERS)
     247TestRunner_LDADD = ${UILIBS} ${ALLLIBS}
    31248
    32249#AUTOMAKE_OPTIONS = parallel-tests
     250
     251endif
  • src/unittests/TestRunnerMain.cpp

    r084729c r41e8e2  
    22 * Project: MoleCuilder
    33 * Description: creates and alters molecular systems
    4  * Copyright (C)  2010 University of Bonn. All rights reserved.
    5  * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
     4 * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
     5 *
     6 *
     7 *   This file is part of MoleCuilder.
     8 *
     9 *    MoleCuilder is free software: you can redistribute it and/or modify
     10 *    it under the terms of the GNU General Public License as published by
     11 *    the Free Software Foundation, either version 2 of the License, or
     12 *    (at your option) any later version.
     13 *
     14 *    MoleCuilder is distributed in the hope that it will be useful,
     15 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 *    GNU General Public License for more details.
     18 *
     19 *    You should have received a copy of the GNU General Public License
     20 *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
    621 */
    722
     
    2742#else
    2843
    29 #include "UnitTestMain.cpp"
     44#include "unittests/UnitTestMain.cpp"
    3045
    3146#endif /* HAVE_ECUT */
  • src/unittests/UnitTestMain.cpp

    r084729c r41e8e2  
    22 * Project: MoleCuilder
    33 * Description: creates and alters molecular systems
    4  * Copyright (C)  2010 University of Bonn. All rights reserved.
    5  * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
     4 * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
     5 *
     6 *
     7 *   This file is part of MoleCuilder.
     8 *
     9 *    MoleCuilder is free software: you can redistribute it and/or modify
     10 *    it under the terms of the GNU General Public License as published by
     11 *    the Free Software Foundation, either version 2 of the License, or
     12 *    (at your option) any later version.
     13 *
     14 *    MoleCuilder is distributed in the hope that it will be useful,
     15 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 *    GNU General Public License for more details.
     18 *
     19 *    You should have received a copy of the GNU General Public License
     20 *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
    621 */
    722
Note: See TracChangeset for help on using the changeset viewer.