COIN-OR::LEMON - Graph Library

source: lemon-1.2/lemon/CMakeLists.txt @ 717:684964884a2e

Last change on this file since 717:684964884a2e was 679:9c7639f3a741, checked in by Akos Ladanyi <ladanyi@…>, 11 years ago

Minor CMake improvements

  • Use the empty ELSE(), ENDIF(), ENDMACRO(), etc. syntax since this improves readability and requires less typing.
  • Use FIND_PACKAGE() instead of INCLUDE().
  • Use the value of CMAKE_COMMAND variable instead of cmake, since this works even if cmake is not in the PATH.
File size: 1.4 KB
Line 
1INCLUDE_DIRECTORIES(
2  ${PROJECT_SOURCE_DIR}
3  ${PROJECT_BINARY_DIR}
4)
5
6CONFIGURE_FILE(
7  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
8  ${CMAKE_CURRENT_BINARY_DIR}/config.h
9)
10
11SET(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
21IF(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()
29ENDIF()
30
31IF(LEMON_HAVE_CPLEX)
32  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
33  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
34ENDIF()
35
36IF(LEMON_HAVE_CLP)
37  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
38  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
39ENDIF()
40
41IF(LEMON_HAVE_CBC)
42  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
43  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
44ENDIF()
45
46ADD_LIBRARY(lemon ${LEMON_SOURCES})
47IF(UNIX)
48  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
49ENDIF()
50
51INSTALL(
52  TARGETS lemon
53  ARCHIVE DESTINATION lib
54  COMPONENT library
55)
56
57INSTALL(
58  DIRECTORY . bits concepts
59  DESTINATION include/lemon
60  COMPONENT headers
61  FILES_MATCHING PATTERN "*.h"
62)
63
64INSTALL(
65  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
66  DESTINATION include/lemon
67  COMPONENT headers
68)
Note: See TracBrowser for help on using the repository browser.