lemon/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 12 May 2009 12:06:40 +0200
changeset 663 8b0df68370a4
parent 621 b536eaacb39b
parent 499 d8ca76573eb3
child 675 c5dc4d3124aa
permissions -rw-r--r--
Fix the GEQ/LEQ handling in NetworkSimplex + improve doc (#291)

- Fix the optimality conditions for the GEQ/LEQ form.
- Fix the initialization of the algortihm. It ensures correct
solutions and it is much faster for the inequality forms.
- Fix the pivot rules to search all the arcs that have to be
allowed to get in the basis.
- Better block size for the Block Search pivot rule.
- Improve documentation of the problem and move it to a
separate page.
     1 INCLUDE_DIRECTORIES(
     2   ${PROJECT_SOURCE_DIR}
     3   ${PROJECT_BINARY_DIR}
     4 )
     5 
     6 CONFIGURE_FILE(
     7   ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
     8   ${CMAKE_CURRENT_BINARY_DIR}/config.h
     9 )
    10 
    11 SET(LEMON_SOURCES
    12   arg_parser.cc
    13   base.cc
    14   color.cc
    15   lp_base.cc
    16   lp_skeleton.cc
    17   random.cc
    18   bits/windows.cc
    19 )
    20 
    21 IF(LEMON_HAVE_GLPK)
    22   SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
    23   INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
    24   IF(WIN32)
    25     INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
    26     INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
    27     INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
    28   ENDIF(WIN32)
    29 ENDIF(LEMON_HAVE_GLPK)
    30 
    31 IF(LEMON_HAVE_CPLEX)
    32   SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
    33   INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
    34 ENDIF(LEMON_HAVE_CPLEX)
    35 
    36 IF(LEMON_HAVE_CLP)
    37   SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
    38   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    39 ENDIF(LEMON_HAVE_CLP)
    40 
    41 IF(LEMON_HAVE_CBC)
    42   SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
    43   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    44 ENDIF(LEMON_HAVE_CBC)
    45 
    46 ADD_LIBRARY(lemon ${LEMON_SOURCES})
    47 
    48 INSTALL(
    49   TARGETS lemon
    50   ARCHIVE DESTINATION lib
    51   COMPONENT library)
    52 
    53 INSTALL(
    54   DIRECTORY . bits concepts
    55   DESTINATION include/lemon
    56   COMPONENT headers
    57   FILES_MATCHING PATTERN "*.h")
    58 
    59 INSTALL(
    60   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
    61   DESTINATION include/lemon
    62   COMPONENT headers)