Location: LEMON/LEMON-main/lemon/CMakeLists.txt - annotation

Load file history
gravatar
alpar (Alpar Juttner)
Support shared library build (#433)
INCLUDE_DIRECTORIES(
  ${PROJECT_SOURCE_DIR}
  ${PROJECT_BINARY_DIR}
)

CONFIGURE_FILE(
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
)

CONFIGURE_FILE(
  ${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.cmake
  ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
  @ONLY
)

SET(LEMON_SOURCES
  arg_parser.cc
  base.cc
  color.cc
  lp_base.cc
  lp_skeleton.cc
  random.cc
  bits/windows.cc
)

IF(LEMON_HAVE_GLPK)
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
  IF(WIN32)
    INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
    INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
  ENDIF()
ENDIF()

IF(LEMON_HAVE_CPLEX)
  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
ENDIF()

IF(LEMON_HAVE_CLP)
  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ENDIF()

IF(LEMON_HAVE_CBC)
  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ENDIF()

ADD_LIBRARY(lemon ${LEMON_SOURCES})
IF(UNIX)
  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
ENDIF()

INSTALL(
  TARGETS lemon
  ARCHIVE DESTINATION lib
  LIBRARY DESTINATION lib
  COMPONENT library
)

INSTALL(
  DIRECTORY . bits concepts
  DESTINATION include/lemon
  COMPONENT headers
  FILES_MATCHING PATTERN "*.h"
)

INSTALL(
  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
  DESTINATION include/lemon
  COMPONENT headers
)

INSTALL(
  FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
  DESTINATION lib/pkgconfig
)