lemon/CMakeLists.txt
author Akos Ladanyi <ladanyi@tmit.bme.hu>
Fri, 29 May 2009 12:44:37 +0100
changeset 679 9c7639f3a741
parent 675 c5dc4d3124aa
child 908 10242c611190
permissions -rw-r--r--
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.
ladanyi@510
     1
INCLUDE_DIRECTORIES(
ladanyi@549
     2
  ${PROJECT_SOURCE_DIR}
ladanyi@510
     3
  ${PROJECT_BINARY_DIR}
ladanyi@510
     4
)
ladanyi@510
     5
ladanyi@510
     6
CONFIGURE_FILE(
ladanyi@510
     7
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
ladanyi@510
     8
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
ladanyi@510
     9
)
alpar@225
    10
ladanyi@473
    11
SET(LEMON_SOURCES
alpar@225
    12
  arg_parser.cc
alpar@225
    13
  base.cc
alpar@225
    14
  color.cc
ladanyi@473
    15
  lp_base.cc
ladanyi@473
    16
  lp_skeleton.cc
alpar@491
    17
  random.cc
alpar@491
    18
  bits/windows.cc
alpar@491
    19
)
alpar@225
    20
ladanyi@627
    21
IF(LEMON_HAVE_GLPK)
ladanyi@473
    22
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
ladanyi@619
    23
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
ladanyi@474
    24
  IF(WIN32)
ladanyi@474
    25
    INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
ladanyi@474
    26
    INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
ladanyi@474
    27
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
ladanyi@679
    28
  ENDIF()
ladanyi@679
    29
ENDIF()
ladanyi@473
    30
ladanyi@627
    31
IF(LEMON_HAVE_CPLEX)
ladanyi@620
    32
  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
ladanyi@620
    33
  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
ladanyi@679
    34
ENDIF()
ladanyi@620
    35
ladanyi@627
    36
IF(LEMON_HAVE_CLP)
ladanyi@621
    37
  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
ladanyi@621
    38
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ladanyi@679
    39
ENDIF()
ladanyi@621
    40
ladanyi@627
    41
IF(LEMON_HAVE_CBC)
ladanyi@621
    42
  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
ladanyi@621
    43
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
ladanyi@679
    44
ENDIF()
ladanyi@621
    45
ladanyi@473
    46
ADD_LIBRARY(lemon ${LEMON_SOURCES})
ladanyi@675
    47
IF(UNIX)
ladanyi@675
    48
  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
ladanyi@679
    49
ENDIF()
ladanyi@473
    50
alpar@225
    51
INSTALL(
alpar@225
    52
  TARGETS lemon
alpar@225
    53
  ARCHIVE DESTINATION lib
ladanyi@675
    54
  COMPONENT library
ladanyi@675
    55
)
alpar@225
    56
alpar@225
    57
INSTALL(
alpar@225
    58
  DIRECTORY . bits concepts
alpar@225
    59
  DESTINATION include/lemon
alpar@225
    60
  COMPONENT headers
ladanyi@675
    61
  FILES_MATCHING PATTERN "*.h"
ladanyi@675
    62
)
ladanyi@510
    63
ladanyi@510
    64
INSTALL(
ladanyi@510
    65
  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
ladanyi@510
    66
  DESTINATION include/lemon
ladanyi@675
    67
  COMPONENT headers
ladanyi@675
    68
)