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

Load file history
gravatar
kpeter (Peter Kovacs)
Support real types + numerical stability fix in NS (#254) - Real types are supported by appropriate inicialization. - A feature of the XTI spanning tree structure is removed to ensure numerical stability (could cause problems using integer types). The node potentials are updated always on the lower subtree, in order to prevent overflow problems. The former method isn't notably faster during to our tests.
INCLUDE_DIRECTORIES(
  ${CMAKE_SOURCE_DIR}
  ${CMAKE_BINARY_DIR}
)

IF(HAVE_GLPK)
  INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIR})
ENDIF(HAVE_GLPK)

LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/lemon)

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

IF(HAVE_LP)
  ADD_EXECUTABLE(lp_test lp_test.cc)
  IF(HAVE_GLPK)
    TARGET_LINK_LIBRARIES(lp_test lemon ${GLPK_LIBRARIES})
  ENDIF(HAVE_GLPK)
  ADD_TEST(lp_test lp_test)

  IF(WIN32 AND 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 -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    )
  ENDIF(WIN32 AND HAVE_GLPK)
ENDIF(HAVE_LP)

IF(HAVE_MIP)
  ADD_EXECUTABLE(mip_test mip_test.cc)
  IF(HAVE_GLPK)
    TARGET_LINK_LIBRARIES(mip_test lemon ${GLPK_LIBRARIES})
  ENDIF(HAVE_GLPK)
  ADD_TEST(mip_test mip_test)

  IF(WIN32 AND 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 -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    )
  ENDIF(WIN32 AND HAVE_GLPK)
ENDIF(HAVE_MIP)

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