COIN-OR::LEMON - Graph Library

source: lemon-1.2/test/CMakeLists.txt @ 921:b522385b2a0d

1.2
Last change on this file since 921:b522385b2a0d was 921:b522385b2a0d, checked in by Alpar Juttner <alpar@…>, 8 years ago

Merge #419 to branch 1.2

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  maps_test
37  matching_test
38  min_cost_arborescence_test
39  min_cost_flow_test
40  min_mean_cycle_test
41  path_test
42  planarity_test
43  preflow_test
44  radix_sort_test
45  random_test
46  suurballe_test
47  time_measure_test
48  unionfind_test
49)
50
51IF(LEMON_HAVE_LP)
52  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
53    ADD_EXECUTABLE(lp_test lp_test.cc)
54  ELSE()
55    ADD_EXECUTABLE(lp_test EXCLUDE_FROM_ALL lp_test.cc)
56  ENDIF()
57
58  SET(LP_TEST_LIBS lemon)
59
60  IF(LEMON_HAVE_GLPK)
61    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
62  ENDIF()
63  IF(LEMON_HAVE_CPLEX)
64    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
65  ENDIF()
66  IF(LEMON_HAVE_CLP)
67    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
68  ENDIF()
69
70  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
71  ADD_TEST(lp_test lp_test)
72  ADD_DEPENDENCIES(check lp_test)
73
74  IF(WIN32 AND LEMON_HAVE_GLPK)
75    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
76    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
77    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
78      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
79      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
80      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
81    )
82  ENDIF()
83
84  IF(WIN32 AND LEMON_HAVE_CPLEX)
85    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
86    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
87    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
88      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
89    )
90  ENDIF()
91ENDIF()
92
93IF(LEMON_HAVE_MIP)
94  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
95    ADD_EXECUTABLE(mip_test mip_test.cc)
96  ELSE()
97    ADD_EXECUTABLE(mip_test EXCLUDE_FROM_ALL mip_test.cc)
98  ENDIF()
99
100  SET(MIP_TEST_LIBS lemon)
101
102  IF(LEMON_HAVE_GLPK)
103    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
104  ENDIF()
105  IF(LEMON_HAVE_CPLEX)
106    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
107  ENDIF()
108  IF(LEMON_HAVE_CBC)
109    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
110  ENDIF()
111
112  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
113  ADD_TEST(mip_test mip_test)
114  ADD_DEPENDENCIES(check mip_test)
115
116  IF(WIN32 AND LEMON_HAVE_GLPK)
117    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
118    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
119    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
120      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
121      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
122      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
123    )
124  ENDIF()
125
126  IF(WIN32 AND LEMON_HAVE_CPLEX)
127    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
128    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
129    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
130      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
131    )
132  ENDIF()
133ENDIF()
134
135FOREACH(TEST_NAME ${TESTS})
136  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
137    ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
138  ELSE()
139    ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
140  ENDIF()
141  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
142    IF(TEST_WITH_VALGRIND)
143      ADD_TEST(${TEST_NAME}
144        valgrind --error-exitcode=1 ${VALGRIND_FLAGS}
145        ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME} )
146    ELSE()
147      ADD_TEST(${TEST_NAME} ${TEST_NAME})
148    ENDIF()
149  ADD_DEPENDENCIES(check ${TEST_NAME})
150ENDFOREACH()
Note: See TracBrowser for help on using the repository browser.