COIN-OR::LEMON - Graph Library

Changeset 1148:78434a448b5e in lemon


Ignore:
Timestamp:
12/22/11 20:55:43 (6 years ago)
Author:
Alpar Juttner <alpar@…>
Branch:
default
Message:

Update INSTALL to use CMAKE. Also update AUTHORS and LICENSE

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • AUTHORS

    r1072 r1148  
    1 The authors of the 1.x series are 
     1The main developers of release series 1.x are 
    22 
    33 * Balazs Dezso <deba@inf.elte.hu> 
     
    66 * Akos Ladanyi <ladanyi@tmit.bme.hu> 
    77 
    8 For more details on the actual contribution, please visit the history 
    9 of the main LEMON source repository: http://lemon.cs.elte.hu/hg/lemon 
     8For more complete list of contributors, please visit the history of 
     9the LEMON source code repository: http://lemon.cs.elte.hu/hg/lemon 
    1010 
    11 Moreover, this version is heavily based on the 0.x series of 
    12 LEMON. Here is the list of people who contributed to those versions. 
     11Moreover, this version is heavily based on version 0.x of LEMON. Here 
     12is the list of people who contributed to those versions. 
    1313 
    1414 * Mihaly Barasz <klao@cs.elte.hu> 
  • INSTALL

    r890 r1148  
    22========================= 
    33 
    4 Since you are reading this I assume you already obtained one of the release 
    5 tarballs and successfully extracted it. The latest version of LEMON is 
    6 available at our web page (http://lemon.cs.elte.hu/). 
     4This file contains instructions for building and installing LEMON from 
     5source on Linux. The process on Windows is similar. 
    76 
    8 LEMON provides two different build environments, one is based on "autotool", 
    9 while the other is based on "cmake". This file contains instructions only for 
    10 the former one, which is the recommended build environment on Linux, Mac OSX 
    11 and other unices or if you use Cygwin on Windows. For cmake installation 
    12 instructions visit http://lemon.cs.elte.hu. 
     7Note that it is not necessary to install LEMON in order to use 
     8it. Instead, you can easily integrate it with your own code 
     9directly. For instructions, see 
     10https://lemon.cs.elte.hu/trac/lemon/wiki/HowToCompile 
     11 
    1312 
    1413In order to install LEMON from the extracted source tarball you have to 
    1514issue the following commands: 
    1615 
    17    1. `cd lemon-x.y.z' 
     16   1. Step into the root of the source directory. 
    1817 
    19       This command changes to the directory which was created when you 
    20       extracted the sources. The x.y.z part is a version number. 
     18      $ cd lemon-x.y.z 
    2119 
    22    2. `./configure' 
     20   2. Create a build subdirectory and step into it. 
    2321 
    24       This command runs the configure shell script, which does some checks and 
    25       creates the makefiles. 
     22      $ mkdir build 
     23      $ cd build 
    2624 
    27    3. `make' 
     25   3. Perform system checks and create the makefiles. 
    2826 
    29       This command compiles the non-template part of LEMON into libemon.a 
    30       file. It also compiles the programs in the tools subdirectory by 
    31       default. 
     27      $ cmake .. 
    3228 
    33    4. `make check' 
     29   4. Build LEMON. 
    3430 
    35       This step is optional, but recommended. It runs the test programs that 
    36       we developed for LEMON to check whether the library works properly on 
    37       your platform. 
     31      $ make  
    3832 
    39    5. `make install' 
     33      This command compiles the non-template part of LEMON into 
     34      libemon.a file. It also compiles the programs in the 'tools' and 
     35      'demo' subdirectories. 
     36 
     37   5. [Optional] Compile and run the self-tests. 
     38 
     39      $ make check 
     40 
     41   5. [Optional] Generate the user documentation. 
     42 
     43      $ make html 
     44 
     45      The release tarballs already include the documentation. 
     46 
     47      Note that for this step you need to have the following tools 
     48      installed: Python, Doxygen, Graphviz, Ghostscript, LaTeX. 
     49 
     50   6. [Optional] Install LEMON 
     51 
     52      $ make install 
    4053 
    4154      This command installs LEMON under /usr/local (you will need root 
    42       privileges to be able to do that). If you want to install it to some 
    43       other location, then pass the --prefix=DIRECTORY flag to configure in 
    44       step 2. For example: `./configure --prefix=/home/username/lemon'. 
    45  
    46    6. `make install-html' 
    47  
    48       This command installs the documentation under share/doc/lemon/docs. The 
    49       generated documentation is included in the tarball. If you want to 
    50       generate it yourself, then run `make html'. Note that for this you need 
    51       to have the following programs installed: Doxygen, Graphviz, Ghostscript, 
    52       Latex. 
    53  
     55      privileges to be able to do that). If you want to install it to 
     56      some other location, then pass the 
     57      -DCMAKE_INSTALL_PREFIX=DIRECTORY flag to cmake in Step 3. 
     58      For example: 
     59       
     60      $ cmake -DCMAKE_INSTALL_PREFIX=/home/username/lemon' 
    5461 
    5562Configure Options and Variables 
    5663=============================== 
    5764 
    58 In step 2 you can customize the actions of configure by setting variables 
    59 and passing options to it. This can be done like this: 
    60 `./configure [OPTION]... [VARIABLE=VALUE]...' 
     65In Step 3, you can customize the build process by passing options to CMAKE. 
    6166 
    62 Below you will find some useful variables and options (see `./configure --help' 
    63 for more): 
     67$ cmake [OPTIONS] .. 
    6468 
    65 CXX='comp' 
     69You find a list of the most useful options below. 
    6670 
    67   Change the C++ compiler to 'comp'. 
    68  
    69 CXXFLAGS='flags' 
    70  
    71   Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m' 
    72   turns on generation of aggressively optimized Pentium-M specific code. 
    73  
    74 --prefix=PREFIX 
     71-DCMAKE_INSTALL_PREFIX=PREFIX 
    7572 
    7673  Set the installation prefix to PREFIX. By default it is /usr/local. 
    7774 
    78 --enable-tools 
     75-DCMAKE_BUILD_TYPE=[Release|Debug|Maintainer|...] 
    7976 
    80    Build the programs in the tools subdirectory (default). 
     77  This sets the compiler options. The choices are the following 
    8178 
    82 --disable-tools 
     79  'Release': A strong optimization is turned on (-O3 with gcc). This 
     80    is the default setting and we strongly recommend using this for 
     81    the final compilation. 
    8382 
    84    Do not build the programs in the tools subdirectory. 
     83  'Debug': Optimization is turned off and debug info is added (-O0 
     84    -ggdb with gcc). If is recommended during the development. 
    8585 
    86 --with-glpk[=PREFIX] 
     86  'Maintainer': The same as 'Debug' but the compiler warnings are 
     87    converted to errors (-Werror with gcc). In addition, 'make' will 
     88    also automatically compile and execute the test codes. It is the 
     89    best way of ensuring that LEMON codebase is clean and safe. 
    8790 
    88    Enable GLPK support (default). You should specify the prefix too if 
    89    you installed GLPK to some non-standard location (e.g. your home 
    90    directory). If it is not found, GLPK support will be disabled. 
     91  'RelWithDebInfo': Optimized build with debug info. 
    9192 
    92 --with-glpk-includedir=DIR 
     93  'MinSizeRel': Size optimized build (-Os with gcc) 
    9394 
    94    The directory where the GLPK header files are located. This is only 
    95    useful when the GLPK headers and libraries are not under the same 
    96    prefix (which is unlikely). 
     95-DTEST_WITH_VALGRIND=YES 
    9796 
    98 --with-glpk-libdir=DIR 
     97  Using this, the test codes will be executed using valgrind. It is a 
     98  very effective way of identifying indexing problems and memory leaks. 
    9999 
    100    The directory where the GLPK libraries are located. This is only 
    101    useful when the GLPK headers and libraries are not under the same 
    102    prefix (which is unlikely). 
     100-DCMAKE_CXX_COMPILER=path-to-compiler 
    103101 
    104 --without-glpk 
     102  Change the compiler to be used. 
    105103 
    106    Disable GLPK support. 
     104-DBUILD_SHARED_LIBS=TRUE 
    107105 
    108 --with-cplex[=PREFIX] 
     106  Build shared library instead of static one. Think twice if you 
     107  really want to use this option. 
    109108 
    110    Enable CPLEX support (default). You should specify the prefix too 
    111    if you installed CPLEX to some non-standard location 
    112    (e.g. /opt/ilog/cplex75). If it is not found, CPLEX support will be 
    113    disabled. 
     109-DGLPK_ROOT_DIR=DIRECTORY 
     110-DCOIN_ROOT_DIR=DIRECTORY 
     111-DCPLEX_ROOT_DIR=DIRECTORY 
    114112 
    115 --with-cplex-includedir=DIR 
    116  
    117    The directory where the CPLEX header files are located. This is 
    118    only useful when the CPLEX headers and libraries are not under the 
    119    same prefix (e.g.  /usr/local/cplex/cplex75/include). 
    120  
    121 --with-cplex-libdir=DIR 
    122  
    123    The directory where the CPLEX libraries are located. This is only 
    124    useful when the CPLEX headers and libraries are not under the same 
    125    prefix (e.g. 
    126    /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt). 
    127  
    128 --without-cplex 
    129  
    130    Disable CPLEX support. 
    131  
    132 --with-soplex[=PREFIX] 
    133  
    134    Enable SoPlex support (default). You should specify the prefix too if 
    135    you installed SoPlex to some non-standard location (e.g. your home 
    136    directory). If it is not found, SoPlex support will be disabled. 
    137  
    138 --with-soplex-includedir=DIR 
    139  
    140    The directory where the SoPlex header files are located. This is only 
    141    useful when the SoPlex headers and libraries are not under the same 
    142    prefix (which is unlikely). 
    143  
    144 --with-soplex-libdir=DIR 
    145  
    146    The directory where the SoPlex libraries are located. This is only 
    147    useful when the SoPlex headers and libraries are not under the same 
    148    prefix (which is unlikely). 
    149  
    150 --without-soplex 
    151  
    152    Disable SoPlex support. 
    153  
    154 --with-coin[=PREFIX] 
    155  
    156    Enable support for COIN-OR solvers (CLP and CBC). You should 
    157    specify the prefix too. (by default, COIN-OR tools install 
    158    themselves to the source code directory). This command enables the 
    159    solvers that are actually found. 
    160  
    161 --with-coin-includedir=DIR 
    162  
    163    The directory where the COIN-OR header files are located. This is 
    164    only useful when the COIN-OR headers and libraries are not under 
    165    the same prefix (which is unlikely). 
    166  
    167 --with-coin-libdir=DIR 
    168  
    169    The directory where the COIN-OR libraries are located. This is only 
    170    useful when the COIN-OR headers and libraries are not under the 
    171    same prefix (which is unlikely). 
    172  
    173 --without-coin 
    174  
    175    Disable COIN-OR support. 
    176  
     113  Install root directory prefixes of optional third party libraries. 
    177114 
    178115Makefile Variables 
    179116================== 
    180117 
    181 Some Makefile variables are reserved by the GNU Coding Standards for 
    182 the use of the "user" - the person building the package. For instance, 
    183 CXX and CXXFLAGS are such variables, and have the same meaning as 
    184 explained in the previous section. These variables can be set on the 
    185 command line when invoking `make' like this: 
    186 `make [VARIABLE=VALUE]...' 
     118make VERBOSE=1 
    187119 
    188 WARNINGCXXFLAGS is a non-standard Makefile variable introduced by us 
    189 to hold several compiler flags related to warnings. Its default value 
    190 can be overridden when invoking `make'. For example to disable all 
    191 warning flags use `make WARNINGCXXFLAGS='. 
    192  
    193 In order to turn off a single flag from the default set of warning 
    194 flags, you can use the CXXFLAGS variable, since this is passed after 
    195 WARNINGCXXFLAGS. For example to turn off `-Wold-style-cast' (which is 
    196 used by default when g++ is detected) you can use 
    197 `make CXXFLAGS="-g -O2 -Wno-old-style-cast"'. 
     120   This results in a more verbose output by showing the full 
     121   compiler and linker commands. 
  • LICENSE

    r959 r1148  
    22copyright/license. 
    33 
    4 Copyright (C) 2003-2010 Egervary Jeno Kombinatorikus Optimalizalasi 
     4Copyright (C) 2003-2012 Egervary Jeno Kombinatorikus Optimalizalasi 
    55Kutatocsoport (Egervary Combinatorial Optimization Research Group, 
    66EGRES). 
Note: See TracChangeset for help on using the changeset viewer.