COIN-OR::LEMON - Graph Library

source: lemon-main/test/CMakeLists.txt @ 998:7fdaa05a69a1

Last change on this file since 998:7fdaa05a69a1 was 998:7fdaa05a69a1, checked in by Alpar Juttner <alpar@…>, 12 years ago

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