COIN-OR::LEMON - Graph Library

Ticket #162: intro_0cf8882c7e7c.patch

File intro_0cf8882c7e7c.patch, 11.4 KB (added by Peter Kovacs, 14 years ago)
  • Doxyfile

    # HG changeset patch
    # User Peter Kovacs <kpeter@inf.elte.hu>
    # Date 1223723589 -7200
    # Node ID 0cf8882c7e7c72ec91bdcdc32831a7287a930c14
    # Parent  9388ccf862943f75a0a3ef1f0486a77ea59ad180
    Add Intro and Getting Started pages
    
    diff --git a/Doxyfile b/Doxyfile
    a b  
    8484#---------------------------------------------------------------------------
    8585# configuration options related to the input files
    8686#---------------------------------------------------------------------------
    87 INPUT                  = ./ \
     87INPUT                  = . \
    8888                         ./demo
    8989INPUT_ENCODING         = UTF-8
    9090FILE_PATTERNS          = *.h \
     
    9595EXCLUDE_SYMLINKS       = NO
    9696EXCLUDE_PATTERNS       =
    9797EXCLUDE_SYMBOLS        =
    98 EXAMPLE_PATH           = ./demo
     98EXAMPLE_PATH           = . \
     99                         ./demo
    99100EXAMPLE_PATTERNS       =
    100101EXAMPLE_RECURSIVE      = NO
    101102IMAGE_PATH             = ./images \
  • new file LICENSE

    diff --git a/LICENSE b/LICENSE
    new file mode 100644
    - +  
     1LEMON code without an explicit copyright is covered by the following
     2copyright/license.
     3
     4Copyright (C) 2003-2008 Egervary Jeno Kombinatorikus Optimalizalasi
     5Kutatocsoport (Egervary Combinatorial Optimization Research Group,
     6EGRES).
     7
     8Permission is hereby granted, free of charge, to any person or organization
     9obtaining a copy of the software and accompanying documentation covered by
     10this license (the "Software") to use, reproduce, display, distribute,
     11execute, and transmit the Software, and to prepare derivative works of the
     12Software, and to permit third-parties to whom the Software is furnished to
     13do so, all subject to the following:
     14
     15The copyright notices in the Software and this entire statement, including
     16the above license grant, this restriction and the following disclaimer,
     17must be included in all copies of the Software, in whole or in part, and
     18all derivative works of the Software, unless such copies or derivative
     19works are solely in the form of machine-executable object code generated by
     20a source language processor.
     21
     22THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     23IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     24FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
     25SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
     26FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
     27ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     28DEALINGS IN THE SOFTWARE.
     29
     30===========================================================================
     31This license is a verbatim copy of the Boost Software License, Version 1.0.
     32
     33
  • new file getting_started.dox

    diff --git a/getting_started.dox b/getting_started.dox
    new file mode 100644
    - +  
     1/* -*- mode: C++; indent-tabs-mode: nil; -*-
     2 *
     3 * This file is a part of LEMON, a generic C++ optimization library.
     4 *
     5 * Copyright (C) 2003-2008
     6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8 *
     9 * Permission to use, modify and distribute this software is granted
     10 * provided that this copyright notice appears in all copies. For
     11 * precise terms see the accompanying LICENSE file.
     12 *
     13 * This software is provided "AS IS" with no warranty of any kind,
     14 * express or implied, and with no claim as to its suitability for any
     15 * purpose.
     16 *
     17 */
     18
     19/**
     20\page getting_started How to Start Using LEMON
     21
     22In this page we detail how to start using LEMON, from downloading it to
     23your computer, through the steps of installation, to showing a simple
     24"Hello World" type program that already uses LEMON. We assume that you
     25have a basic knowledge of your operating system and C++ programming
     26language. The procedure is pretty straightforward, but if you have any
     27difficulties don't hesitate to
     28<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
     29
     30\section requirements_lemon Hardware and Software Requirements
     31
     32In LEMON we use C++ templates heavily, thus compilation takes a
     33considerable amount of time and memory. So some decent box would be
     34advantageous. But otherwise there are no special hardware requirements.
     35
     36You will need a recent C++ compiler. Our primary target is the GNU C++
     37Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
     38Compiler (icc) and Microsoft Visual C++ .NET 2003, 2005.
     39If you want to develop with LEMON under Windows you could consider
     40using Cygwin.
     41
     42In this description we will suppose a Linux environment and GNU C++ Compiler.
     43
     44\subsection requirements_lp LP Solver Requirements
     45
     46The LEMON LP solver interface can use the GLPK (GNU Linear Programming
     47Kit), CPLEX (was tested with CPLEX 7.5) and SoPlex solver. If you want
     48to use it you will need at least one of these. See \ref configure_flags
     49how to enable these at compile time.
     50
     51\section download_lemon How to Download LEMON
     52
     53You can download LEMON from the LEMON web site:
     54<a href="http://lemon.cs.elte.hu/">https://lemon.cs.elte.hu/</a>.
     55There you will find released versions in form of <tt>.tar.gz</tt> files.
     56If you want a developer version (for example you want to contribute in
     57developing the library LEMON) then you might want to use our Mercurial
     58repository. This case is detailed later, so from now on we suppose that
     59you downloaded a <tt>.tar.gz</tt> file.
     60
     61\section install_lemon How to Install LEMON
     62
     63In order to install LEMON you have to do the following steps.
     64
     65Download the tarball (named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c y
     66and \c z are numbers indicating the version of the library, in our example
     67we will have <tt>lemon-1.0.tar.gz</tt>) and issue the following commands:
     68
     69\verbatim
     70tar xvzf lemon-1.0.tar.gz
     71cd lemon-1.0
     72./configure
     73make
     74make check    # This is optional, but recommended. It runs a bunch of tests.
     75make install
     76\endverbatim
     77
     78These commands install LEMON under \c /usr/local (you will
     79need root privileges to be able to install to that
     80directory). If you want to install it to some other place, then
     81pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
     82
     83\verbatim
     84./configure --prefix=/home/username/lemon
     85\endverbatim
     86
     87In what follows we will assume that you were able to install to directory
     88\c /usr/local, otherwise some extra care is to be taken to use the library.
     89
     90We briefly explain these commands below.
     91
     92\verbatim
     93tar xvzf lemon-1.0.tar.gz
     94\endverbatim
     95This command untars the <tt>tar.gz</tt> file into a directory named
     96<tt>lemon-1.0</tt>.
     97
     98\verbatim
     99cd lemon-1.0
     100\endverbatim
     101This command enters the directory.
     102
     103\verbatim
     104./configure
     105\endverbatim
     106This command runs the configure shell script, which does some checks and
     107creates the makefiles.
     108
     109\verbatim
     110make
     111\endverbatim
     112This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
     113file. It also compiles the programs in the tools and demo subdirectories
     114when enabled.
     115
     116\verbatim
     117make check
     118\endverbatim
     119This step is optional, but recommended. It runs the test programs that
     120we developed for LEMON to check whether the library works properly on
     121your platform.
     122
     123\verbatim
     124make install
     125\endverbatim
     126This command will copy the directory structure to its final destination
     127(e.g. to \c /usr/local) so that your system can access it.
     128This command should be issued as "root", unless you provided a
     129\c --prefix switch to the \c configure to install the library in
     130non-default location.
     131
     132Several other configure flags can be passed to <tt>./configure</tt>.
     133For more information see <tt>./configure --help</tt> and the INSTALL
     134file in the install directory.
     135
     136\section hg_checkout How to Checkout LEMON from our Mercurial Repository
     137
     138You can obtain the latest version of LEMON from our Mercurial repository.
     139To do this issue the following command:
     140\verbatim
     141hg clone http://lemon.cs.elte.hu/hg/lemon lemon-src
     142\endverbatim
     143
     144\section hg_compile How to Compile the Source from the Repository
     145
     146You can compile the code from the repository similarly to the packaged
     147version, but you will need to run <b><tt>autoreconf -vif</tt></b> or
     148<b><tt>./bootstrap</tt></b> in some older environment before
     149<tt>./configure</tt>. See <tt>./configure --help</tt> for options.
     150For bootstrapping you will need the following tools:
     151
     152 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
     153 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
     154 - <a href="http://www.gnu.org/software/libtool/">libtool</a>
     155 - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
     156
     157To generate the documentation, run <tt>make html</tt>.
     158You will need <a href="http://www.doxygen.org/">Doxygen</a> for this.
     159
     160*/
  • new file intro.dox

    diff --git a/intro.dox b/intro.dox
    new file mode 100644
    - +  
     1/* -*- mode: C++; indent-tabs-mode: nil; -*-
     2 *
     3 * This file is a part of LEMON, a generic C++ optimization library.
     4 *
     5 * Copyright (C) 2003-2008
     6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8 *
     9 * Permission to use, modify and distribute this software is granted
     10 * provided that this copyright notice appears in all copies. For
     11 * precise terms see the accompanying LICENSE file.
     12 *
     13 * This software is provided "AS IS" with no warranty of any kind,
     14 * express or implied, and with no claim as to its suitability for any
     15 * purpose.
     16 *
     17 */
     18
     19/**
     20\page intro Introduction
     21
     22\section intro_lemon What is LEMON
     23
     24LEMON stands for <b>L</b>ibrary of <b>E</b>fficient <b>M</b>odels and
     25<b>O</b>ptimization in <b>N</b>etworks. It is a C++ template
     26library aimed at combinatorial optimization tasks which often involve
     27in working with graphs.
     28
     29<b>LEMON is an <a class="el" href="http://opensource.org/">open&nbsp;source</a>
     30project.
     31You are free to use it in your commercial or non-commercial applications
     32under very permissive \ref license "license terms".
     33</b>
     34
     35\section intro_tutorial LEMON Tutorial
     36
     37This tutorial introduces the reader to the basic concepts and features of
     38LEMON, and there are some sections about advanced topics showing the power
     39of the various tools implemented in the library.
     40
     41After getting familiar with the basic concepts you may start using LEMON
     42with the help of the detailed documentation (that can also be used as a
     43reference manual).
     44
     45*/
  • new file license.dox

    diff --git a/license.dox b/license.dox
    new file mode 100644
    - +  
     1/* -*- mode: C++; indent-tabs-mode: nil; -*-
     2 *
     3 * This file is a part of LEMON, a generic C++ optimization library.
     4 *
     5 * Copyright (C) 2003-2008
     6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8 *
     9 * Permission to use, modify and distribute this software is granted
     10 * provided that this copyright notice appears in all copies. For
     11 * precise terms see the accompanying LICENSE file.
     12 *
     13 * This software is provided "AS IS" with no warranty of any kind,
     14 * express or implied, and with no claim as to its suitability for any
     15 * purpose.
     16 *
     17 */
     18
     19/**
     20
     21\page license License Terms
     22
     23\verbinclude ./LICENSE
     24
     25*/
  • mainpage.dox

    diff --git a/mainpage.dox b/mainpage.dox
    a b  
    2020/**
    2121\mainpage LEMON Tutorial
    2222
    23 <h2>Table of Contents</h2>
     23\section toc Table of Contents
    2424
    2525<ol>
    2626  <li>\ref intro "Introduction"</li>