doc/getstart.dox
changeset 1639 aec340db8fc2
parent 1528 1aa71600000c
child 1640 9c7834ac5e64
equal deleted inserted replaced
7:de258b223ab0 8:8373f2a4b2f7
     7 have a basic knowledge of your operating system and \c C++ programming
     7 have a basic knowledge of your operating system and \c C++ programming
     8 language. The procedure is pretty straightforward, but if you have any
     8 language. The procedure is pretty straightforward, but if you have any
     9 difficulties don't hesitate to
     9 difficulties don't hesitate to
    10 <a href="http://lemon.cs.elte.hu/mailinglists.html">ask</a>.
    10 <a href="http://lemon.cs.elte.hu/mailinglists.html">ask</a>.
    11 
    11 
       
    12 
    12 \section requirementsLEMON Hardware and software requirements
    13 \section requirementsLEMON Hardware and software requirements
    13 
    14 
    14 In LEMON we use C++ templates heavily, thus compilation takes a
    15 In LEMON we use C++ templates heavily, thus compilation takes a
    15 considerable amount of time and memory. So some decent box would be
    16 considerable amount of time and memory. So some decent box would be
    16 advantageous. But otherwise there are no special hardware requirements.
    17 advantageous. But otherwise there are no special hardware requirements.
    17 
    18 
    18 You will need a recent C++ compiler. Our primary target is the GNU C++
    19 You will need a recent C++ compiler. Our primary target is the GNU C++
    19 Compiler (g++), from version 3.3 upwards. We also checked the Intel C
    20 Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
    20 compiler (icc). Microsoft Visual C++ .NET version was also reported to
    21 Compiler (icc). Microsoft Visual C++ .NET 2003 was also reported to
    21 work (but not the earlier versions). If you want to develop with LEMON
    22 work (but not the earlier versions). If you want to develop with LEMON
    22 under Windows you could consider using Cygwin.
    23 under Windows you could consider using Cygwin.
    23 
    24 
    24 
    25 In this description we will suppose a Linux environment and GNU C++ Compiler.
    25 In this description we will suppose a linux environment and GNU C Compiler.
    26 
       
    27 
       
    28 \subsection requirementsLP LP solver requirements
       
    29 
       
    30 The LEMON LP solver interface can use the GLPK (GNU Linear Programming Kit)
       
    31 and CPLEX solvers (was tested with CPLEX 7.5). If you want to use it you will
       
    32 need at least one of these. See \ref configureFlags how to enable these at
       
    33 compile time.
       
    34 
       
    35 
       
    36 \subsection requirementsGUI GUI requirements
       
    37 
       
    38 To compile the graphical graph editor you will need libgnomecanvasmm
       
    39 (2.6.0 or newer). See \ref configureFlags how to enable it.
       
    40 
    26 
    41 
    27 \section downloadLEMON How to download LEMON
    42 \section downloadLEMON How to download LEMON
    28 
    43 
    29 You can download LEMON from the LEMON web site:
    44 You can download LEMON from the LEMON web site:
    30 http://lemon.cs.elte.hu/download.html.
    45 http://lemon.cs.elte.hu/download.html .
    31 There you will find released versions in form of <tt>.tar.gz</tt> files.
    46 There you will find released versions in form of <tt>.tar.gz</tt> files.
    32 If you want a developer version (for example you want to contribute in
    47 If you want a developer version (for example you want to contribute in
    33 developing the library LEMON) then you might want to use our Subversion
    48 developing the library LEMON) then you might want to use our Subversion
    34 repository. This case is not detailed here, so from now on we suppose that
    49 repository. This case is not detailed here, so from now on we suppose that
    35 you downloaded a tar.gz file.
    50 you downloaded a tar.gz file.
    36 
       
    37 
    51 
    38 
    52 
    39 \section installLEMON How to install LEMON
    53 \section installLEMON How to install LEMON
    40 
    54 
    41 In order to install LEMON you have to do the following steps.
    55 In order to install LEMON you have to do the following steps.
    82 
    96 
    83 \verbatim
    97 \verbatim
    84 ./configure
    98 ./configure
    85 \endverbatim
    99 \endverbatim
    86 Does some configuration (creates makefiles etc).
   100 Does some configuration (creates makefiles etc).
    87 \todo Explain the most important switches here (gui, doc, glpk, cplex).
       
    88 
   101 
    89 \verbatim
   102 \verbatim
    90 make
   103 make
    91 \endverbatim
   104 \endverbatim
    92 This command compiles the non-template part of LEMON into
   105 This command compiles the non-template part of LEMON into
   104 make install
   117 make install
   105 \endverbatim
   118 \endverbatim
   106 This will copy the directory structure to its final destination (e.g. to \c
   119 This will copy the directory structure to its final destination (e.g. to \c
   107 /usr/local) so that your system can access it. This command should
   120 /usr/local) so that your system can access it. This command should
   108 be issued as "root", unless you provided a \c --prefix switch to
   121 be issued as "root", unless you provided a \c --prefix switch to
   109 the \c cofugure to install the library in non-default location.
   122 the \c configure to install the library in non-default location.
       
   123 
       
   124 
       
   125 \subsection configureFlags Configure flags
       
   126 
       
   127 You can pass the following flags to \c ./configure (see \c ./configure --help
       
   128 for more):
       
   129 
       
   130 \verbatim
       
   131 --enable-gui
       
   132 \endverbatim
       
   133 Build the GUI.
       
   134 
       
   135 \verbatim
       
   136 --disable-gui
       
   137 \endverbatim
       
   138 Do not build the GUI (default).
       
   139 
       
   140 \verbatim
       
   141 --with-glpk[=PREFIX]
       
   142 \endverbatim
       
   143 Enable GLPK support (default). You should specify the prefix too if you
       
   144 installed it to some non-standard location (e.g. your home directory). If
       
   145 GLPK is not found, then GLPK support will be disabled.
       
   146 
       
   147 \verbatim
       
   148 --with-glpk-includedir=DIR
       
   149 \endverbatim
       
   150 The directory where the GLPK header files are located. This is only useful when
       
   151 the GLPK headers and libraries are not under the same prefix (which is not
       
   152 likely).
       
   153 
       
   154 \verbatim
       
   155 --with-glpk-libdir=DIR
       
   156 \endverbatim
       
   157 The directory where the GLPK libraries are located. This is only useful when
       
   158 the GLPK headers and libraries are not under the same prefix (which is not
       
   159 likely).
       
   160 
       
   161 \verbatim
       
   162 --without-glpk
       
   163 \endverbatim
       
   164 Disable GLPK support.
       
   165 
       
   166 \verbatim
       
   167 --with-cplex[=PREFIX]
       
   168 \endverbatim
       
   169 Enable CPLEX support (default). You should specify the prefix too if you
       
   170 installed it to some non-standard location (e.g. \c /opt/ilog/cplex75). If
       
   171 CPLEX is not found, then CPLEX support will be disabled.
       
   172 
       
   173 \verbatim
       
   174 --with-cplex-includedir=DIR
       
   175 \endverbatim
       
   176 The directory where the CPLEX header files are located. This is only useful
       
   177 when the CPLEX headers and libraries are not under the same prefix.
       
   178 
       
   179 \verbatim
       
   180 --with-cplex-libdir=DIR
       
   181 \endverbatim
       
   182 The directory where the CPLEX libraries are located. This is only useful when
       
   183 the CPLEX headers and libraries are not under the same prefix.
       
   184 
       
   185 \verbatim
       
   186 --without-cplex
       
   187 \endverbatim
       
   188 Disable CPLEX support.
       
   189 
       
   190 
       
   191 \section svnCheckout How to checkout LEMON form our Subversion repository
       
   192 
       
   193 You can obtain the latest version of LEMON from our Subversion repository. To
       
   194 do this issue the following command:
       
   195 \verbatim
       
   196 svn co https://lemon.cs.elte.hu/svn/hugo/trunk lemon
       
   197 \endverbatim
       
   198 Use "lemon" as username, the password is empty.
       
   199 
       
   200 
       
   201 \section svnCompile How to compile the source from the repository
       
   202 
       
   203 You can compile the code from the repository similarly to the packaged version,
       
   204 but you will need to run \c ./bootstrap before \c ./configure. See \c
       
   205 ./bootstrap \c --help for options. For bootstrapping you will need the
       
   206 following tools:
       
   207 
       
   208  - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
       
   209  - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
       
   210  - <a href="http://www.gnu.org/software/libtool/">libtool</a>
       
   211  - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
       
   212 
       
   213 To generate the documentation, run \c make \c doc. You will need
       
   214 <a href="http://www.doxygen.org/">Doxygen</a> for this.
       
   215 
       
   216 You can pass the \c --enable-doc=full flag to \c ./configure to generate the
       
   217 internal documentation too.
       
   218 
       
   219 If you pass the \c --disable-doc flag to \c ./configure then the documentation
       
   220 won't be installed, when you run \c make \c install (this speeds things up a
       
   221 bit).
   110 
   222 
   111 \section helloworld My first program using LEMON
   223 \section helloworld My first program using LEMON
   112 
   224 
   113 If you have installed LEMON on your system you can paste the
   225 If you have installed LEMON on your system you can paste the
   114 following code segment into a file (you can find it as \c
   226 following code segment into a file (you can find it as \c