COIN-OR::LEMON - Graph Library

source: lemon/test/CMakeLists.txt

Last change on this file was 1264:4000b7ef4e01, checked in by Alpar Juttner <alpar@…>, 6 years ago

Add cmake config to find SoPlex? (#460)

Based on the patch sent by ax487

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