Ignore:
Timestamp:
Oct 31, 2011, 5:13:52 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
5982c5
Parents:
19bc74
Message:

HUGE: Update on documenation.

  • a general skeleton of the documentation is now in place with all the major components of MoleCuilder explained to some extent.
  • some information has been transfered from TRAC (e.g. install procecure) into this doxygen documentation where it is general and not specific to the situation at our institute.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/documentation/install.dox

    r19bc74 r750cff  
    1313 */
    1414
    15 /* \page install Installation
     15/**
     16 *  \page install Installation
    1617 *
    17  *  Installation should without problems succeed as follows:
    18  *  -# ./configure (or: mkdir build;mkdir run;cd build; ../configure --bindir=../run)
    19  *  -# make
    20  *  -# make install
     18 * \section install-compiling Compiling the Code
     19 *
     20 * After you obtained the code, you do the following:
     21 *
     22 * \code
     23 * ./bootstrap
     24 * \endcode
     25 *
     26 * This creates the necessary autoconf and automake files.
     27 *
     28 * After this,
     29 *
     30 * \code
     31 * mkdir build
     32 * cd build
     33 * ../configure --prefix=`pwd`
     34 * \endcode
     35 *
     36 * which will run the configure script that checks whether you have a current
     37 * version of the following required packages
     38 *
     39 * -# GNU Scientific Library (specify via LDFLAGS, ...)
     40 * -# Qt4 framework (--with-Qt=<dir> or --with-Qt-include-dir, --with-Qt-bin-dir,
     41 *  --with-Qt-lib-dir and --with-Qt-lib)
     42 * -# Boost library 1.40 or newer with program_options and threads (--with-boost=<dir>)
     43 * -# CPPUnit framework (--with-cppunit-prefix=<dir>)
     44 * -# CodePatterns (--with-codepatterns=<dir>)
     45 *
     46 * \a --prefix is the argument to tell configure where all program code should go
     47 * to (pwd is the unix command for the current working directory). There are
     48 * others, see
     49 *
     50 * \code
     51 * ../configure --help
     52 * \endcode
     53 *
     54 * and some enable/disable switches you should check out:
     55 *
     56 * - \a --enable-ecut - says that the TestRunner, comprising all unit tests in one
     57 *  exectuable, shall make use of the Eclipse CppUnitTest (ECUT). If this is
     58 *  started within eclipse with this plugin installed, a shiny interface will tell
     59 *  you what failed and what not.
     60 * - \a --enable-debug - activates many internal asserts, memory debugger and more
     61 *  (makes code a lot slower but gives information in case something fails)
     62 *
     63 * \note A note about configure: If one library is found only under some specific path, you
     64 * can add CFLAGS, CPPFLAGS, LDFLAGS, ... to the configure call, like this
     65 * \code
     66 * ../configure --prefix=`pwd` --enable-hydrogen CFLAGS="-Wall -g3" CXXFLAGS="-Wall -g3"
     67 * \endcode
     68 * which enables all compiler warnings and full debugging of the code without any
     69 * optimization. configure saves these variables, too, such that when it is called
     70 * to re-configure it will still make use of them from its cache file.
     71 *
     72 * There are several flags that change the way molecuilder is compiled and probably
     73 * make it run faster, more unsafe, ...
     74 * -# \a -DLOG_OBSERVER,  What the Observers do is logged, the log is printed on exit
     75 * -# \a -DNO_MEMDEBUG,   MemDebug (memory debugger) is disabled
     76 * -# \a -DNO_CACHING,  Cachable are short-wired, i.e. always recalculate, this slows
     77 *  down the code a lot
     78 * -# \a -DNDEBUG,  include NO_MEMDEBUG, also ASSERTs are not checked, this speeds up
     79 *  the code by a factor of 5
     80 *
     81 * \section install-install Installing
     82 *
     83 * Now, we are ready to compile and install.
     84 *
     85 * \code
     86 * make
     87 * make install
     88 * \endcode
     89 *
     90 * \attention If you have a multi-core system, it is highly recommended to use the
     91 * \a -j option of make to allow for multiple threads to work on compiling or
     92 * checking the codfe simultaneously.
     93 *
     94 * And if everything went well, you should launch the unit tests and the testsuite
     95 * by (see section \ref tests on how to launch the tests individually)
     96 *
     97 * \code
     98 * make check
     99 * \endcode
     100 *
     101 * If everything is OK, you have a working version of MoleCuilder in form of the
     102 * executables \b bin/molecuilder and \b bin/molecuildergui.
     103 *
     104 * If you have to delete all compiled stuff, enter
     105 *
     106 * \code
     107 * make clean
     108 * \endcode
     109 *
     110 * or
     111 *
     112 * \code
     113 * make distclean
     114 * \endcode
     115 *
     116 * which will also delete all autoconf stuff for configure.
     117 *
     118 * distclean is at times necessary when stuff does not compile and there's
     119 * seemingly no logic behind it, i.e. especially when paths of modules have
     120 * changed. To recover your configure options, either look at \b config.log in
     121 * the build directory or enter
     122 *
     123 * \code
     124 * ./config.status --version
     125 * \endcode
    21126 *
    22127 *  Further useful commands are
    23  *  -# make clean uninstall: deletes .o-files and removes executable from the given binary directory\n
    24  *  -# make doxygen-doc: Creates these html pages out of the documented source
    25  *  -# make check: Runs an extensive set of unit tests and a testsuite which also gives a good overview on the set of
    26  *                 functions.
     128 *  -# make clean uninstall: deletes .o-files and removes executable from the given
     129 *    binary directory
     130 *  -# make doc: Creates these html pages out of the documented source
     131 *  -# make check: Runs an extensive set of unit tests and a testsuite which also gives
     132 *    a good overview on the set of functions.
     133 *
     134 * \date 2011-10-31
    27135 */
Note: See TracChangeset for help on using the changeset viewer.