gravatar
ladanyi@tmit.bme.hu
ladanyi@tmit.bme.hu
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.
0 6 0
default
6 files changed with 110 insertions and 97 deletions:
↑ Collapse diff ↑
Ignore white space 1536 line context
1 1
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 2

	
3 3
SET(PROJECT_NAME "LEMON")
4 4
PROJECT(${PROJECT_NAME})
5 5

	
6 6
IF(EXISTS ${PROJECT_SOURCE_DIR}/cmake/version.cmake)
7 7
  INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
8 8
ELSEIF(DEFINED ENV{LEMON_VERSION})
9 9
  SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
10 10
ELSE()
11 11
  EXECUTE_PROCESS(
12 12
    COMMAND hg id -i
13 13
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
14 14
    OUTPUT_VARIABLE HG_REVISION
15 15
    ERROR_QUIET
16 16
    OUTPUT_STRIP_TRAILING_WHITESPACE
17 17
  )
18 18
  SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
19 19
ENDIF()
20 20

	
21 21
SET(PROJECT_VERSION ${LEMON_VERSION})
22 22

	
23 23
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
24 24

	
25
INCLUDE(FindDoxygen)
26
INCLUDE(FindGhostscript)
25
FIND_PACKAGE(Doxygen)
26
FIND_PACKAGE(Ghostscript)
27 27
FIND_PACKAGE(GLPK 4.33)
28 28
FIND_PACKAGE(CPLEX)
29 29
FIND_PACKAGE(COIN)
30 30

	
31 31
INCLUDE(CheckTypeSize)
32 32
CHECK_TYPE_SIZE("long long" LONG_LONG)
33 33
SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
34 34

	
35 35
ENABLE_TESTING()
36 36

	
37 37
ADD_SUBDIRECTORY(lemon)
38 38
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
39 39
  ADD_SUBDIRECTORY(demo)
40 40
  ADD_SUBDIRECTORY(tools)
41 41
  ADD_SUBDIRECTORY(doc)
42 42
  ADD_SUBDIRECTORY(test)
43
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
43
ENDIF()
44 44

	
45 45
CONFIGURE_FILE(
46 46
  ${PROJECT_SOURCE_DIR}/cmake/LEMONConfig.cmake.in
47 47
  ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
48 48
  @ONLY
49 49
)
50 50
IF(UNIX)
51 51
  INSTALL(
52 52
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
53 53
    DESTINATION share/lemon/cmake
54 54
  )
55 55
ELSEIF(WIN32)
56 56
  INSTALL(
57 57
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
58 58
    DESTINATION cmake
59 59
  )
60
ENDIF(UNIX)
60
ENDIF()
61 61

	
62
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
63
  IF(WIN32)
64
    SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
65
    SET(CPACK_PACKAGE_VENDOR "EGRES")
66
    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
67
      "LEMON - Library for Efficient Modeling and Optimization in Networks")
68
    SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
62
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
63
  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
64
  SET(CPACK_PACKAGE_VENDOR "EGRES")
65
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
66
    "LEMON - Library for Efficient Modeling and Optimization in Networks")
67
  SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
69 68

	
70
    SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
69
  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
71 70

	
72
    SET(CPACK_PACKAGE_INSTALL_DIRECTORY
73
      "${PROJECT_NAME} ${PROJECT_VERSION}")
74
    SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
75
      "${PROJECT_NAME} ${PROJECT_VERSION}")
71
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY
72
    "${PROJECT_NAME} ${PROJECT_VERSION}")
73
  SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
74
    "${PROJECT_NAME} ${PROJECT_VERSION}")
76 75

	
77
    SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
76
  SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
78 77

	
79
    SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
80
    SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
81
    SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
82
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
78
  SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
79
  SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
80
  SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
81
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
83 82

	
84
    SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
85
      "C++ header files")
86
    SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
87
      "DLL and import library")
88
    SET(CPACK_COMPONENT_BIN_DESCRIPTION
89
      "Command line utilities")
90
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
91
      "Doxygen generated documentation")
83
  SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
84
    "C++ header files")
85
  SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
86
    "DLL and import library")
87
  SET(CPACK_COMPONENT_BIN_DESCRIPTION
88
    "Command line utilities")
89
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
90
    "Doxygen generated documentation")
92 91

	
93
    SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
92
  SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
94 93

	
95
    SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
96
    SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
97
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
94
  SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
95
  SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
96
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
98 97

	
99
    SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
100
      "Components needed to develop software using LEMON")
101
    SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
102
      "Documentation of LEMON")
98
  SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
99
    "Components needed to develop software using LEMON")
100
  SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
101
    "Documentation of LEMON")
103 102

	
104
    SET(CPACK_ALL_INSTALL_TYPES Full Developer)
103
  SET(CPACK_ALL_INSTALL_TYPES Full Developer)
105 104

	
106
    SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
107
    SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
108
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
105
  SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
106
  SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
107
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
109 108

	
110
    SET(CPACK_GENERATOR "NSIS")
111
    SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
112
    SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
113
    #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
114
    SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
115
    SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
116
    SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
117
    SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
118
    SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
119
    SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
120
      CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
121
      ")
122
    SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
123
      !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
124
      Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
125
      ")
109
  SET(CPACK_GENERATOR "NSIS")
110
  SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
111
  SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
112
  #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
113
  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
114
  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
115
  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
116
  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
117
  SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
118
  SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
119
    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
120
    ")
121
  SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
122
    !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
123
    Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
124
    ")
126 125

	
127
    INCLUDE(CPack)
128
  ENDIF(WIN32)
129
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
126
  INCLUDE(CPack)
127
ENDIF()
Ignore white space 6 line context
1 1
INCLUDE_DIRECTORIES(
2 2
  ${PROJECT_SOURCE_DIR}
3 3
  ${PROJECT_BINARY_DIR}
4 4
)
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
8 10
SET(DEMOS
9 11
  arg_parser_demo
10 12
  graph_to_eps_demo
11
  lgf_demo)
13
  lgf_demo
14
)
12 15

	
13 16
FOREACH(DEMO_NAME ${DEMOS})
14 17
  ADD_EXECUTABLE(${DEMO_NAME} ${DEMO_NAME}.cc)
15 18
  TARGET_LINK_LIBRARIES(${DEMO_NAME} lemon)
16
ENDFOREACH(DEMO_NAME)
19
ENDFOREACH()
Ignore white space 6 line context
1 1
SET(PACKAGE_NAME ${PROJECT_NAME})
2 2
SET(PACKAGE_VERSION ${PROJECT_VERSION})
3 3
SET(abs_top_srcdir ${PROJECT_SOURCE_DIR})
4 4
SET(abs_top_builddir ${PROJECT_BINARY_DIR})
5 5

	
6 6
CONFIGURE_FILE(
7 7
  ${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
8 8
  ${PROJECT_BINARY_DIR}/doc/Doxyfile
9 9
  @ONLY
10 10
)
11 11

	
12 12
IF(DOXYGEN_EXECUTABLE AND GHOSTSCRIPT_EXECUTABLE)
13 13
  FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/)
14 14
  SET(GHOSTSCRIPT_OPTIONS -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=pngalpha)
15 15
  ADD_CUSTOM_TARGET(html
16 16
    COMMAND ${CMAKE_COMMAND} -E remove_directory gen-images
17 17
    COMMAND ${CMAKE_COMMAND} -E make_directory gen-images
18 18
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_matching.eps
19 19
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_partitions.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_partitions.eps
20 20
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
21 21
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/edge_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/edge_biconnected_components.eps
22 22
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
23 23
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
24 24
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_0.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_0.eps
25 25
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_1.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_1.eps
26 26
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_2.eps
27 27
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_3.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_3.eps
28 28
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_4.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_4.eps
29 29
    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
30 30
    COMMAND ${CMAKE_COMMAND} -E remove_directory html
31 31
    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
32 32
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
33 33
  )
34 34

	
35 35
  SET_TARGET_PROPERTIES(html PROPERTIES PROJECT_LABEL BUILD_DOC)
36 36

	
37 37
  IF(UNIX)
38 38
    INSTALL(
39 39
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
40 40
      DESTINATION share/doc/lemon/html
41 41
      COMPONENT html_documentation
42 42
    )
43 43
  ELSEIF(WIN32)
44 44
    INSTALL(
45 45
      DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
46 46
      DESTINATION doc
47 47
      COMPONENT html_documentation
48 48
    )
49
  ENDIF(UNIX)
49
  ENDIF()
50 50

	
51
ENDIF(DOXYGEN_EXECUTABLE AND GHOSTSCRIPT_EXECUTABLE)
51
ENDIF()
Ignore white space 6 line context
1 1
INCLUDE_DIRECTORIES(
2 2
  ${PROJECT_SOURCE_DIR}
3 3
  ${PROJECT_BINARY_DIR}
4 4
)
5 5

	
6 6
CONFIGURE_FILE(
7 7
  ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
8 8
  ${CMAKE_CURRENT_BINARY_DIR}/config.h
9 9
)
10 10

	
11 11
SET(LEMON_SOURCES
12 12
  arg_parser.cc
13 13
  base.cc
14 14
  color.cc
15 15
  lp_base.cc
16 16
  lp_skeleton.cc
17 17
  random.cc
18 18
  bits/windows.cc
19 19
)
20 20

	
21 21
IF(LEMON_HAVE_GLPK)
22 22
  SET(LEMON_SOURCES ${LEMON_SOURCES} glpk.cc)
23 23
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIRS})
24 24
  IF(WIN32)
25 25
    INSTALL(FILES ${GLPK_BIN_DIR}/glpk.dll DESTINATION bin)
26 26
    INSTALL(FILES ${GLPK_BIN_DIR}/libltdl3.dll DESTINATION bin)
27 27
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
28
  ENDIF(WIN32)
29
ENDIF(LEMON_HAVE_GLPK)
28
  ENDIF()
29
ENDIF()
30 30

	
31 31
IF(LEMON_HAVE_CPLEX)
32 32
  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
33 33
  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
34
ENDIF(LEMON_HAVE_CPLEX)
34
ENDIF()
35 35

	
36 36
IF(LEMON_HAVE_CLP)
37 37
  SET(LEMON_SOURCES ${LEMON_SOURCES} clp.cc)
38 38
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
39
ENDIF(LEMON_HAVE_CLP)
39
ENDIF()
40 40

	
41 41
IF(LEMON_HAVE_CBC)
42 42
  SET(LEMON_SOURCES ${LEMON_SOURCES} cbc.cc)
43 43
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
44
ENDIF(LEMON_HAVE_CBC)
44
ENDIF()
45 45

	
46 46
ADD_LIBRARY(lemon ${LEMON_SOURCES})
47 47
IF(UNIX)
48 48
  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
49
ENDIF(UNIX)
49
ENDIF()
50 50

	
51 51
INSTALL(
52 52
  TARGETS lemon
53 53
  ARCHIVE DESTINATION lib
54 54
  COMPONENT library
55 55
)
56 56

	
57 57
INSTALL(
58 58
  DIRECTORY . bits concepts
59 59
  DESTINATION include/lemon
60 60
  COMPONENT headers
61 61
  FILES_MATCHING PATTERN "*.h"
62 62
)
63 63

	
64 64
INSTALL(
65 65
  FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
66 66
  DESTINATION include/lemon
67 67
  COMPONENT headers
68 68
)
Ignore white space 6 line context
1 1
INCLUDE_DIRECTORIES(
2 2
  ${PROJECT_SOURCE_DIR}
3 3
  ${PROJECT_BINARY_DIR}
4 4
)
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
8 10
SET(TESTS
9 11
  adaptors_test
10 12
  bfs_test
11 13
  circulation_test
12 14
  connectivity_test
13 15
  counter_test
14 16
  dfs_test
15 17
  digraph_test
16 18
  dijkstra_test
17 19
  dim_test
18 20
  edge_set_test
19 21
  error_test
20 22
  euler_test
21 23
  gomory_hu_test
22 24
  graph_copy_test
23 25
  graph_test
24 26
  graph_utils_test
25 27
  hao_orlin_test
26 28
  heap_test
27 29
  kruskal_test
28 30
  maps_test
29 31
  matching_test
30 32
  min_cost_arborescence_test
31 33
  min_cost_flow_test
32 34
  path_test
33 35
  preflow_test
34 36
  radix_sort_test
35 37
  random_test
36 38
  suurballe_test
37 39
  time_measure_test
38
  unionfind_test)
40
  unionfind_test
41
)
39 42

	
40 43
IF(LEMON_HAVE_LP)
41 44
  ADD_EXECUTABLE(lp_test lp_test.cc)
42 45
  SET(LP_TEST_LIBS lemon)
46

	
43 47
  IF(LEMON_HAVE_GLPK)
44 48
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
45
  ENDIF(LEMON_HAVE_GLPK)
49
  ENDIF()
46 50
  IF(LEMON_HAVE_CPLEX)
47 51
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
48
  ENDIF(LEMON_HAVE_CPLEX)
52
  ENDIF()
49 53
  IF(LEMON_HAVE_CLP)
50 54
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
51
  ENDIF(LEMON_HAVE_CLP)
55
  ENDIF()
56

	
52 57
  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
53 58
  ADD_TEST(lp_test lp_test)
54 59

	
55 60
  IF(WIN32 AND LEMON_HAVE_GLPK)
56 61
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
57 62
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
58 63
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
59
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
60
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
61
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
64
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
65
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
66
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
62 67
    )
63
  ENDIF(WIN32 AND LEMON_HAVE_GLPK)
68
  ENDIF()
69

	
64 70
  IF(WIN32 AND LEMON_HAVE_CPLEX)
65 71
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
66 72
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
67 73
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
68
      COMMAND cmake -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
74
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
69 75
    )
70
  ENDIF(WIN32 AND LEMON_HAVE_CPLEX)
71
ENDIF(LEMON_HAVE_LP)
76
  ENDIF()
77
ENDIF()
72 78

	
73 79
IF(LEMON_HAVE_MIP)
74 80
  ADD_EXECUTABLE(mip_test mip_test.cc)
75 81
  SET(MIP_TEST_LIBS lemon)
82

	
76 83
  IF(LEMON_HAVE_GLPK)
77 84
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
78
  ENDIF(LEMON_HAVE_GLPK)
85
  ENDIF()
79 86
  IF(LEMON_HAVE_CPLEX)
80 87
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
81
  ENDIF(LEMON_HAVE_CPLEX)
88
  ENDIF()
82 89
  IF(LEMON_HAVE_CBC)
83 90
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
84
  ENDIF(LEMON_HAVE_CBC)
91
  ENDIF()
92

	
85 93
  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
86 94
  ADD_TEST(mip_test mip_test)
87 95

	
88 96
  IF(WIN32 AND LEMON_HAVE_GLPK)
89 97
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
90 98
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
91 99
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
92
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
93
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
94
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
100
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
101
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
102
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
95 103
    )
96
  ENDIF(WIN32 AND LEMON_HAVE_GLPK)
104
  ENDIF()
105

	
97 106
  IF(WIN32 AND LEMON_HAVE_CPLEX)
98 107
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
99 108
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
100 109
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
101
      COMMAND cmake -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
110
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
102 111
    )
103
  ENDIF(WIN32 AND LEMON_HAVE_CPLEX)
104
ENDIF(LEMON_HAVE_MIP)
112
  ENDIF()
113
ENDIF()
105 114

	
106 115
FOREACH(TEST_NAME ${TESTS})
107 116
  ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
108 117
  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
109 118
  ADD_TEST(${TEST_NAME} ${TEST_NAME})
110
ENDFOREACH(TEST_NAME)
119
ENDFOREACH()
Ignore white space 6 line context
1 1
INCLUDE_DIRECTORIES(
2 2
  ${PROJECT_SOURCE_DIR}
3 3
  ${PROJECT_BINARY_DIR}
4 4
)
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
8 10
ADD_EXECUTABLE(lgf-gen lgf-gen.cc)
9 11
TARGET_LINK_LIBRARIES(lgf-gen lemon)
10 12

	
11 13
ADD_EXECUTABLE(dimacs-to-lgf dimacs-to-lgf.cc)
12 14
TARGET_LINK_LIBRARIES(dimacs-to-lgf lemon)
13 15

	
14 16
ADD_EXECUTABLE(dimacs-solver dimacs-solver.cc)
15 17
TARGET_LINK_LIBRARIES(dimacs-solver lemon)
16 18

	
17 19
INSTALL(
18 20
  TARGETS lgf-gen dimacs-to-lgf dimacs-solver
19 21
  RUNTIME DESTINATION bin
20 22
  COMPONENT bin
21 23
)
22 24

	
23 25
IF(NOT WIN32)
24 26
  INSTALL(
25 27
    PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/lemon-0.x-to-1.x.sh
26 28
    DESTINATION bin
27
    COMPONENT bin)
28
ENDIF(NOT WIN32)
29
    COMPONENT bin
30
  )
31
ENDIF()
0 comments (0 inline)