lemon/CMakeLists.txt
author Alpar Juttner <alpar@cs.elte.hu>
Thu, 08 May 2014 17:20:25 +0200
changeset 1111 fc35e3ff4bea
parent 1062 caf16813b1e8
child 1115 9153e490f09c
permissions -rw-r--r--
CLANG compatible linker setting (#480)
     1 INCLUDE_DIRECTORIES(
     2   ${PROJECT_SOURCE_DIR}
     3   ${PROJECT_BINARY_DIR}
     4 )
     5 
     6 CONFIGURE_FILE(
     7   ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
     8   ${CMAKE_CURRENT_BINARY_DIR}/config.h
     9 )
    10 
    11 CONFIGURE_FILE(
    12   ${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.in
    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(${ILOG_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 IF(LEMON_HAVE_SOPLEX)
    53   SET(LEMON_SOURCES ${LEMON_SOURCES} soplex.cc)
    54   INCLUDE_DIRECTORIES(${SOPLEX_INCLUDE_DIRS})
    55 ENDIF()
    56 
    57 ADD_LIBRARY(lemon ${LEMON_SOURCES})
    58 IF(UNIX)
    59   SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
    60 ENDIF()
    61 
    62 INSTALL(
    63   TARGETS lemon
    64   ARCHIVE DESTINATION lib
    65   LIBRARY DESTINATION lib
    66   COMPONENT library
    67 )
    68 
    69 INSTALL(
    70   DIRECTORY . bits concepts
    71   DESTINATION include/lemon
    72   COMPONENT headers
    73   FILES_MATCHING PATTERN "*.h"
    74 )
    75 
    76 INSTALL(
    77   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
    78   DESTINATION include/lemon
    79   COMPONENT headers
    80 )
    81 
    82 INSTALL(
    83   FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
    84   DESTINATION lib/pkgconfig
    85 )
    86