COIN-OR::LEMON - Graph Library

source: lemon/lemon/CMakeLists.txt @ 1315:07cd9a2d20e0

Last change on this file since 1315:07cd9a2d20e0 was 1315:07cd9a2d20e0, checked in by Alpar Juttner <alpar@…>, 5 years ago

Specify lib dependencies for the main lib build (#481)

File size: 1.8 KB
Line 
1INCLUDE_DIRECTORIES(
2  ${PROJECT_SOURCE_DIR}
3  ${PROJECT_BINARY_DIR}
4)
5
6CONFIGURE_FILE(
7  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
8  ${CMAKE_CURRENT_BINARY_DIR}/config.h
9)
10
11CONFIGURE_FILE(
12  ${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.in
13  ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
14  @ONLY
15)
16
17SET(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
27IF(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()
35ENDIF()
36
37IF(LEMON_HAVE_CPLEX)
38  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
39  INCLUDE_DIRECTORIES(${ILOG_INCLUDE_DIRS})
40ENDIF()
41
42IF(LEMON_HAVE_CLP)
43  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
44  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
45ENDIF()
46
47IF(LEMON_HAVE_CBC)
48  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
49  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
50ENDIF()
51
52IF(LEMON_HAVE_SOPLEX)
53  SET(LEMON_SOURCES ${LEMON_SOURCES} soplex.cc)
54  INCLUDE_DIRECTORIES(${SOPLEX_INCLUDE_DIRS})
55ENDIF()
56
57ADD_LIBRARY(lemon ${LEMON_SOURCES})
58
59TARGET_LINK_LIBRARIES(lemon
60  ${GLPK_LIBRARIES} ${COIN_LIBRARIES} ${ILOG_LIBRARIES} ${SOPLEX_LIBRARIES}
61  )
62
63IF(UNIX)
64  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon VERSION ${LEMON_VERSION} SOVERSION ${LEMON_VERSION})
65ENDIF()
66
67INSTALL(
68  TARGETS lemon
69  ARCHIVE DESTINATION lib
70  LIBRARY DESTINATION lib
71  COMPONENT library
72)
73
74INSTALL(
75  DIRECTORY . bits concepts
76  DESTINATION include/lemon
77  COMPONENT headers
78  FILES_MATCHING PATTERN "*.h"
79)
80
81INSTALL(
82  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
83  DESTINATION include/lemon
84  COMPONENT headers
85)
86
87INSTALL(
88  FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc
89  DESTINATION lib/pkgconfig
90)
91
Note: See TracBrowser for help on using the repository browser.