Location: LEMON/LEMON-official/test/CMakeLists.txt - annotation

Load file history
gravatar
kpeter (Peter Kovacs)
Entirely rework CapacityScaling (#180) - Use the new interface similarly to NetworkSimplex. - Rework the implementation using an efficient internal structure for handling the residual network. This improvement made the code much faster (up to 2-5 times faster on large graphs). - Handle GEQ supply type (LEQ is not supported). - Handle negative costs for arcs of finite capacity. (Note that this algorithm cannot handle arcs of negative cost and infinite upper bound, thus it returns UNBOUNDED if such an arc exists.) - Extend the documentation.
 r539:d8ca76573eb3
 r596:ba659d676331
 r539:d8ca76573eb3
 r539:d8ca76573eb3
 r141:96f81c791f0c
 r726:9c7639f3a741
 r726:9c7639f3a741
 r726:9c7639f3a741
 r141:96f81c791f0c
 r225:c5a40fc54f1a
 r559:9b9ffe7d9b75
 r745:f9746e45246e
 r141:96f81c791f0c
 r443:346991bf7ddd
 r696:76cbcb3e9bbb
 r141:96f81c791f0c
 r141:96f81c791f0c
 r141:96f81c791f0c
 r170:91fb4372688f
 r141:96f81c791f0c
 r559:9b9ffe7d9b75
 r141:96f81c791f0c
 r569:22f932bbb305
 r590:924887566bf2
 r200:c0e2c043c060
 r141:96f81c791f0c
 r171:02f4d5d9bfd7
 r426:eac19fb31a09
 r203:215bfc30b14f
 r141:96f81c791f0c
 r141:96f81c791f0c
 r641:d657c71db7db
 r522:7f8560cb9d65
 r648:e8349c6f12ca
 r810:93cd93e82f9b
 r443:346991bf7ddd
 r443:346991bf7ddd
 r496:17d918051964
 r225:c5a40fc54f1a
 r443:346991bf7ddd
 r141:96f81c791f0c
 r726:9c7639f3a741
 r726:9c7639f3a741
 r141:96f81c791f0c
 r674:20dac2104519
 r496:17d918051964
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r668:b536eaacb39b
 r726:9c7639f3a741
 r726:9c7639f3a741
 r667:c3ce597c11ae
 r496:17d918051964
 r496:17d918051964
 r674:20dac2104519
 r496:17d918051964
 r496:17d918051964
 r496:17d918051964
 r726:9c7639f3a741
 r726:9c7639f3a741
 r726:9c7639f3a741
 r496:17d918051964
 r726:9c7639f3a741
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r667:c3ce597c11ae
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r726:9c7639f3a741
 r496:17d918051964
 r674:20dac2104519
 r496:17d918051964
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r674:20dac2104519
 r668:b536eaacb39b
 r726:9c7639f3a741
 r726:9c7639f3a741
 r667:c3ce597c11ae
 r496:17d918051964
 r496:17d918051964
 r674:20dac2104519
 r496:17d918051964
 r496:17d918051964
 r496:17d918051964
 r726:9c7639f3a741
 r726:9c7639f3a741
 r726:9c7639f3a741
 r496:17d918051964
 r726:9c7639f3a741
 r726:9c7639f3a741
 r674:20dac2104519
 r667:c3ce597c11ae
 r667:c3ce597c11ae
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r667:c3ce597c11ae
 r726:9c7639f3a741
 r726:9c7639f3a741
 r496:17d918051964
 r225:c5a40fc54f1a
 r225:c5a40fc54f1a
 r225:c5a40fc54f1a
 r225:c5a40fc54f1a
 r726:9c7639f3a741
INCLUDE_DIRECTORIES(
  ${PROJECT_SOURCE_DIR}
  ${PROJECT_BINARY_DIR}
)

LINK_DIRECTORIES(
  ${PROJECT_BINARY_DIR}/lemon
)

SET(TESTS
  adaptors_test
  bellman_ford_test
  bfs_test
  circulation_test
  connectivity_test
  counter_test
  dfs_test
  digraph_test
  dijkstra_test
  dim_test
  edge_set_test
  error_test
  euler_test
  gomory_hu_test
  graph_copy_test
  graph_test
  graph_utils_test
  hao_orlin_test
  heap_test
  kruskal_test
  maps_test
  matching_test
  min_cost_arborescence_test
  min_cost_flow_test
  min_mean_cycle_test
  path_test
  preflow_test
  radix_sort_test
  random_test
  suurballe_test
  time_measure_test
  unionfind_test
)

IF(LEMON_HAVE_LP)
  ADD_EXECUTABLE(lp_test lp_test.cc)
  SET(LP_TEST_LIBS lemon)

  IF(LEMON_HAVE_GLPK)
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
  ENDIF()
  IF(LEMON_HAVE_CPLEX)
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
  ENDIF()
  IF(LEMON_HAVE_CLP)
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
  ENDIF()

  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
  ADD_TEST(lp_test lp_test)

  IF(WIN32 AND LEMON_HAVE_GLPK)
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    )
  ENDIF()

  IF(WIN32 AND LEMON_HAVE_CPLEX)
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
    )
  ENDIF()
ENDIF()

IF(LEMON_HAVE_MIP)
  ADD_EXECUTABLE(mip_test mip_test.cc)
  SET(MIP_TEST_LIBS lemon)

  IF(LEMON_HAVE_GLPK)
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
  ENDIF()
  IF(LEMON_HAVE_CPLEX)
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
  ENDIF()
  IF(LEMON_HAVE_CBC)
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
  ENDIF()

  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
  ADD_TEST(mip_test mip_test)

  IF(WIN32 AND LEMON_HAVE_GLPK)
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    )
  ENDIF()

  IF(WIN32 AND LEMON_HAVE_CPLEX)
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
    )
  ENDIF()
ENDIF()

FOREACH(TEST_NAME ${TESTS})
  ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
  ADD_TEST(${TEST_NAME} ${TEST_NAME})
ENDFOREACH()