lemon/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 12 Nov 2009 23:17:34 +0100
changeset 805 d3e32a777d0b
parent 675 c5dc4d3124aa
child 908 10242c611190
permissions -rw-r--r--
Port CapacityScaling from SVN -r3524 (#180)
     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()
    29 ENDIF()
    30 
    31 IF(LEMON_HAVE_CPLEX)
    32   SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
    33   INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
    34 ENDIF()
    35 
    36 IF(LEMON_HAVE_CLP)
    37   SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
    38   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    39 ENDIF()
    40 
    41 IF(LEMON_HAVE_CBC)
    42   SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
    43   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    44 ENDIF()
    45 
    46 ADD_LIBRARY(lemon ${LEMON_SOURCES})
    47 IF(UNIX)
    48   SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
    49 ENDIF()
    50 
    51 INSTALL(
    52   TARGETS lemon
    53   ARCHIVE DESTINATION lib
    54   COMPONENT library
    55 )
    56 
    57 INSTALL(
    58   DIRECTORY . bits concepts
    59   DESTINATION include/lemon
    60   COMPONENT headers
    61   FILES_MATCHING PATTERN "*.h"
    62 )
    63 
    64 INSTALL(
    65   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
    66   DESTINATION include/lemon
    67   COMPONENT headers
    68 )