COIN-OR::LEMON - Graph Library

source: lemon-main/test/CMakeLists.txt @ 964:2b6bffe0e7e8

Last change on this file since 964:2b6bffe0e7e8 was 964:2b6bffe0e7e8, checked in by Alpar Juttner <alpar@…>, 12 years ago

Merge

File size: 4.0 KB
Line 
1INCLUDE_DIRECTORIES(
2  ${PROJECT_SOURCE_DIR}
3  ${PROJECT_BINARY_DIR}
4)
5
6LINK_DIRECTORIES(
7  ${PROJECT_BINARY_DIR}/lemon
8)
9
10SET(TEST_WITH_VALGRIND "NO" CACHE STRING
11  "Run the test with valgrind (YES/NO).")
12SET(VALGRIND_FLAGS "" CACHE STRING "Valgrind flags used by the tests.")
13
14SET(TESTS
15  adaptors_test
16  bellman_ford_test
17  bfs_test
18  circulation_test
19  connectivity_test
20  counter_test
21  dfs_test
22  digraph_test
23  dijkstra_test
24  dim_test
25  edge_set_test
26  error_test
27  euler_test
28  fractional_matching_test
29  gomory_hu_test
30  graph_copy_test
31  graph_test
32  graph_utils_test
33  hao_orlin_test
34  heap_test
35  kruskal_test
36  lgf_test
37  maps_test
38  matching_test
39  min_cost_arborescence_test
40  min_cost_flow_test
41  min_mean_cycle_test
42  path_test
43  planarity_test
44  preflow_test
45  radix_sort_test
46  random_test
47  suurballe_test
48  time_measure_test
49  unionfind_test
50)
51
52IF(LEMON_HAVE_LP)
53  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
54    ADD_EXECUTABLE(lp_test lp_test.cc)
55  ELSE()
56    ADD_EXECUTABLE(lp_test EXCLUDE_FROM_ALL lp_test.cc)
57  ENDIF()
58
59  SET(LP_TEST_LIBS lemon)
60
61  IF(LEMON_HAVE_GLPK)
62    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
63  ENDIF()
64  IF(LEMON_HAVE_CPLEX)
65    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
66  ENDIF()
67  IF(LEMON_HAVE_CLP)
68    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
69  ENDIF()
70
71  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
72  ADD_TEST(lp_test lp_test)
73  ADD_DEPENDENCIES(check lp_test)
74
75  IF(WIN32 AND LEMON_HAVE_GLPK)
76    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
77    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
78    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
79      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
80      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
81      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
82    )
83  ENDIF()
84
85  IF(WIN32 AND LEMON_HAVE_CPLEX)
86    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
87    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
88    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
89      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
90    )
91  ENDIF()
92ENDIF()
93
94IF(LEMON_HAVE_MIP)
95  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
96    ADD_EXECUTABLE(mip_test mip_test.cc)
97  ELSE()
98    ADD_EXECUTABLE(mip_test EXCLUDE_FROM_ALL mip_test.cc)
99  ENDIF()
100
101  SET(MIP_TEST_LIBS lemon)
102
103  IF(LEMON_HAVE_GLPK)
104    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
105  ENDIF()
106  IF(LEMON_HAVE_CPLEX)
107    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
108  ENDIF()
109  IF(LEMON_HAVE_CBC)
110    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
111  ENDIF()
112
113  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
114  ADD_TEST(mip_test mip_test)
115  ADD_DEPENDENCIES(check mip_test)
116
117  IF(WIN32 AND LEMON_HAVE_GLPK)
118    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
119    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
120    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
121      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
122      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
123      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
124    )
125  ENDIF()
126
127  IF(WIN32 AND LEMON_HAVE_CPLEX)
128    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
129    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
130    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
131      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
132    )
133  ENDIF()
134ENDIF()
135
136FOREACH(TEST_NAME ${TESTS})
137  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
138    ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
139  ELSE()
140    ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
141  ENDIF()
142  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
143    IF(TEST_WITH_VALGRIND)
144      ADD_TEST(${TEST_NAME}
145        valgrind --error-exitcode=1 ${VALGRIND_FLAGS}
146        ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME} )
147    ELSE()
148      ADD_TEST(${TEST_NAME} ${TEST_NAME})
149    ENDIF()
150  ADD_DEPENDENCIES(check ${TEST_NAME})
151ENDFOREACH()
Note: See TracBrowser for help on using the repository browser.