lemon/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 24 Mar 2009 00:18:25 +0100
changeset 604 8c3112a66878
parent 474 f59df77f5c8d
parent 491 879c55700cd4
child 549 ba659d676331
permissions -rw-r--r--
Use XTI implementation instead of ATI in NetworkSimplex (#234)

XTI (eXtended Threaded Index) is an imporved version of the widely
known ATI (Augmented Threaded Index) method for storing and updating
the spanning tree structure in Network Simplex algorithms.

In the ATI data structure three indices are stored for each node:
predecessor, thread and depth. In the XTI data structure depth is
replaced by the number of successors and the last successor
(according to the thread index).
ladanyi@473
     1
INCLUDE_DIRECTORIES(
ladanyi@473
     2
  ${CMAKE_SOURCE_DIR}
ladanyi@473
     3
  ${CMAKE_BINARY_DIR}
ladanyi@473
     4
)
alpar@225
     5
ladanyi@473
     6
CONFIGURE_FILE(
ladanyi@473
     7
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
ladanyi@473
     8
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
ladanyi@473
     9
)
ladanyi@473
    10
ladanyi@473
    11
SET(LEMON_SOURCES
alpar@225
    12
  arg_parser.cc
alpar@225
    13
  base.cc
alpar@225
    14
  color.cc
ladanyi@473
    15
  lp_base.cc
ladanyi@473
    16
  lp_skeleton.cc
alpar@491
    17
  random.cc
alpar@491
    18
  bits/windows.cc
alpar@491
    19
)
alpar@225
    20
ladanyi@473
    21
IF(HAVE_GLPK)
ladanyi@473
    22
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
ladanyi@474
    23
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIR})
ladanyi@474
    24
  IF(WIN32)
ladanyi@474
    25
    INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
ladanyi@474
    26
    INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
ladanyi@474
    27
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
ladanyi@474
    28
  ENDIF(WIN32)
ladanyi@473
    29
ENDIF(HAVE_GLPK)
ladanyi@473
    30
ladanyi@473
    31
ADD_LIBRARY(lemon ${LEMON_SOURCES})
ladanyi@473
    32
alpar@225
    33
INSTALL(
alpar@225
    34
  TARGETS lemon
alpar@225
    35
  ARCHIVE DESTINATION lib
alpar@225
    36
  COMPONENT library)
alpar@225
    37
alpar@225
    38
INSTALL(
alpar@225
    39
  DIRECTORY . bits concepts
alpar@225
    40
  DESTINATION include/lemon
alpar@225
    41
  COMPONENT headers
alpar@225
    42
  FILES_MATCHING PATTERN "*.h")