lemon/CMakeLists.txt
author Alpar Juttner <alpar@cs.elte.hu>
Fri, 15 Apr 2011 09:37:47 +0200
changeset 945 2024bf2ecdd6
parent 679 9c7639f3a741
child 968 53c0dd387001
permissions -rw-r--r--
Build of mip_test and lp_test precede the running of the tests (#419)
     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 CONFIGURE_FILE(
    12   ${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.cmake
    13   ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
    14   @ONLY
    15 )
    16 
    17 SET(LEMON_SOURCES
    18   arg_parser.cc
    19   base.cc
    20   color.cc
    21   lp_base.cc
    22   lp_skeleton.cc
    23   random.cc
    24   bits/windows.cc
    25 )
    26 
    27 IF(LEMON_HAVE_GLPK)
    28   SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
    29   INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
    30   IF(WIN32)
    31     INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
    32     INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
    33     INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
    34   ENDIF()
    35 ENDIF()
    36 
    37 IF(LEMON_HAVE_CPLEX)
    38   SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
    39   INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
    40 ENDIF()
    41 
    42 IF(LEMON_HAVE_CLP)
    43   SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
    44   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    45 ENDIF()
    46 
    47 IF(LEMON_HAVE_CBC)
    48   SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
    49   INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
    50 ENDIF()
    51 
    52 ADD_LIBRARY(lemon ${LEMON_SOURCES})
    53 IF(UNIX)
    54   SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
    55 ENDIF()
    56 
    57 INSTALL(
    58   TARGETS lemon
    59   ARCHIVE DESTINATION lib
    60   COMPONENT library
    61 )
    62 
    63 INSTALL(
    64   DIRECTORY . bits concepts
    65   DESTINATION include/lemon
    66   COMPONENT headers
    67   FILES_MATCHING PATTERN "*.h"
    68 )
    69 
    70 INSTALL(
    71   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
    72   DESTINATION include/lemon
    73   COMPONENT headers
    74 )
    75 
    76 INSTALL(
    77   FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
    78   DESTINATION lib/pkgconfig
    79 )
    80