lemon/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 15 Mar 2011 19:32:21 +0100
changeset 936 ddd3c0d3d9bf
parent 679 9c7639f3a741
child 968 53c0dd387001
permissions -rw-r--r--
Implement the scaling Price Refinement heuristic in CostScaling (#417)
instead of Early Termination.

These two heuristics are similar, but the newer one is faster
and not only makes it possible to skip some epsilon phases, but
it can improve the performance of the other phases, as well.
ladanyi@510
     1
INCLUDE_DIRECTORIES(
ladanyi@549
     2
  ${PROJECT_SOURCE_DIR}
ladanyi@510
     3
  ${PROJECT_BINARY_DIR}
ladanyi@510
     4
)
ladanyi@510
     5
ladanyi@510
     6
CONFIGURE_FILE(
ladanyi@510
     7
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
ladanyi@510
     8
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
ladanyi@510
     9
)
alpar@225
    10
alpar@908
    11
CONFIGURE_FILE(
alpar@908
    12
  ${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.cmake
alpar@908
    13
  ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
alpar@908
    14
  @ONLY
alpar@908
    15
)
alpar@908
    16
ladanyi@473
    17
SET(LEMON_SOURCES
alpar@225
    18
  arg_parser.cc
alpar@225
    19
  base.cc
alpar@225
    20
  color.cc
ladanyi@473
    21
  lp_base.cc
ladanyi@473
    22
  lp_skeleton.cc
alpar@491
    23
  random.cc
alpar@491
    24
  bits/windows.cc
alpar@491
    25
)
alpar@225
    26
ladanyi@627
    27
IF(LEMON_HAVE_GLPK)
ladanyi@473
    28
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
ladanyi@619
    29
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
ladanyi@474
    30
  IF(WIN32)
ladanyi@474
    31
    INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
ladanyi@474
    32
    INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
ladanyi@474
    33
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
ladanyi@679
    34
  ENDIF()
ladanyi@679
    35
ENDIF()
ladanyi@473
    36
ladanyi@627
    37
IF(LEMON_HAVE_CPLEX)
ladanyi@620
    38
  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
ladanyi@620
    39
  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
ladanyi@679
    40
ENDIF()
ladanyi@620
    41
ladanyi@627
    42
IF(LEMON_HAVE_CLP)
ladanyi@621
    43
  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
ladanyi@621
    44
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ladanyi@679
    45
ENDIF()
ladanyi@621
    46
ladanyi@627
    47
IF(LEMON_HAVE_CBC)
ladanyi@621
    48
  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
ladanyi@621
    49
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ladanyi@679
    50
ENDIF()
ladanyi@621
    51
ladanyi@473
    52
ADD_LIBRARY(lemon ${LEMON_SOURCES})
ladanyi@675
    53
IF(UNIX)
ladanyi@675
    54
  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
ladanyi@679
    55
ENDIF()
ladanyi@473
    56
alpar@225
    57
INSTALL(
alpar@225
    58
  TARGETS lemon
alpar@225
    59
  ARCHIVE DESTINATION lib
ladanyi@675
    60
  COMPONENT library
ladanyi@675
    61
)
alpar@225
    62
alpar@225
    63
INSTALL(
alpar@225
    64
  DIRECTORY . bits concepts
alpar@225
    65
  DESTINATION include/lemon
alpar@225
    66
  COMPONENT headers
ladanyi@675
    67
  FILES_MATCHING PATTERN "*.h"
ladanyi@675
    68
)
ladanyi@510
    69
ladanyi@510
    70
INSTALL(
ladanyi@510
    71
  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
ladanyi@510
    72
  DESTINATION include/lemon
ladanyi@675
    73
  COMPONENT headers
ladanyi@675
    74
)
alpar@908
    75
alpar@908
    76
INSTALL(
alpar@908
    77
  FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
alpar@908
    78
  DESTINATION lib/pkgconfig
alpar@908
    79
)
alpar@908
    80