COIN-OR::LEMON - Graph Library

source: lemon-main/test/CMakeLists.txt @ 978:eb252f805431

Last change on this file since 978:eb252f805431 was 974:b1744d7bdb47, checked in by Alpar Juttner <alpar@…>, 12 years ago

Merge LP interface updates

File size: 4.1 KB
RevLine 
[510]1INCLUDE_DIRECTORIES(
[549]2  ${PROJECT_SOURCE_DIR}
[510]3  ${PROJECT_BINARY_DIR}
4)
[141]5
[679]6LINK_DIRECTORIES(
7  ${PROJECT_BINARY_DIR}/lemon
8)
[510]9
[933]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.")
[141]13
[225]14SET(TESTS
[488]15  adaptors_test
[698]16  bellman_ford_test
[141]17  bfs_test
[424]18  circulation_test
[649]19  connectivity_test
[141]20  counter_test
21  dfs_test
22  digraph_test
[170]23  dijkstra_test
[141]24  dim_test
[488]25  edge_set_test
[141]26  error_test
[522]27  euler_test
[869]28  fractional_matching_test
[543]29  gomory_hu_test
[200]30  graph_copy_test
[141]31  graph_test
[171]32  graph_utils_test
[410]33  hao_orlin_test
[203]34  heap_test
[141]35  kruskal_test
[949]36  lgf_test
[141]37  maps_test
[594]38  matching_test
[916]39  max_cardinality_search_test
[904]40  max_clique_test
[501]41  min_cost_arborescence_test
[601]42  min_cost_flow_test
[763]43  min_mean_cycle_test
[913]44  nagamochi_ibaraki_test
[424]45  path_test
[797]46  planarity_test
[424]47  preflow_test
[473]48  radix_sort_test
[225]49  random_test
[424]50  suurballe_test
[141]51  time_measure_test
[679]52  unionfind_test
53)
[510]54
[627]55IF(LEMON_HAVE_LP)
[927]56  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
57    ADD_EXECUTABLE(lp_test lp_test.cc)
58  ELSE()
59    ADD_EXECUTABLE(lp_test EXCLUDE_FROM_ALL lp_test.cc)
60  ENDIF()
61
[620]62  SET(LP_TEST_LIBS lemon)
[679]63
[627]64  IF(LEMON_HAVE_GLPK)
[620]65    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
[679]66  ENDIF()
[627]67  IF(LEMON_HAVE_CPLEX)
[620]68    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
[679]69  ENDIF()
[627]70  IF(LEMON_HAVE_CLP)
[621]71    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
[679]72  ENDIF()
73
[620]74  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
[473]75  ADD_TEST(lp_test lp_test)
[945]76  ADD_DEPENDENCIES(check lp_test)
[473]77
[627]78  IF(WIN32 AND LEMON_HAVE_GLPK)
[473]79    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
80    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
81    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
[679]82      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
83      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
84      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
[473]85    )
[679]86  ENDIF()
87
[627]88  IF(WIN32 AND LEMON_HAVE_CPLEX)
[620]89    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
90    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
91    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
[972]92      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex.dll ${TARGET_PATH}
[620]93    )
[679]94  ENDIF()
95ENDIF()
[473]96
[627]97IF(LEMON_HAVE_MIP)
[927]98  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
99    ADD_EXECUTABLE(mip_test mip_test.cc)
100  ELSE()
101    ADD_EXECUTABLE(mip_test EXCLUDE_FROM_ALL mip_test.cc)
102  ENDIF()
103
[620]104  SET(MIP_TEST_LIBS lemon)
[679]105
[627]106  IF(LEMON_HAVE_GLPK)
[620]107    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
[679]108  ENDIF()
[627]109  IF(LEMON_HAVE_CPLEX)
[620]110    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
[679]111  ENDIF()
[627]112  IF(LEMON_HAVE_CBC)
[621]113    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
[679]114  ENDIF()
115
[620]116  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
[473]117  ADD_TEST(mip_test mip_test)
[945]118  ADD_DEPENDENCIES(check mip_test)
[473]119
[627]120  IF(WIN32 AND LEMON_HAVE_GLPK)
[473]121    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
122    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
123    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
[679]124      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
125      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
126      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
[473]127    )
[679]128  ENDIF()
129
[627]130  IF(WIN32 AND LEMON_HAVE_CPLEX)
[620]131    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
132    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
133    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
[972]134      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex.dll ${TARGET_PATH}
[620]135    )
[679]136  ENDIF()
137ENDIF()
[141]138
[225]139FOREACH(TEST_NAME ${TESTS})
[927]140  IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
141    ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
142  ELSE()
143    ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
144  ENDIF()
[225]145  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
[933]146    IF(TEST_WITH_VALGRIND)
147      ADD_TEST(${TEST_NAME}
148        valgrind --error-exitcode=1 ${VALGRIND_FLAGS}
149        ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME} )
150    ELSE()
151      ADD_TEST(${TEST_NAME} ${TEST_NAME})
152    ENDIF()
[927]153  ADD_DEPENDENCIES(check ${TEST_NAME})
[679]154ENDFOREACH()
Note: See TracBrowser for help on using the repository browser.