test/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Fri, 03 Apr 2009 18:59:15 +0200
changeset 608 6ac5d9ae1d3d
parent 528 88bd39ef7d98
child 611 85cb3aa71cce
permissions -rw-r--r--
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.
     1 INCLUDE_DIRECTORIES(
     2   ${CMAKE_SOURCE_DIR}
     3   ${CMAKE_BINARY_DIR}
     4 )
     5 
     6 IF(HAVE_GLPK)
     7   INCLUDE_DIRECTORIES(${GLPK_INCLUDE_DIR})
     8 ENDIF(HAVE_GLPK)
     9 
    10 LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/lemon)
    11 
    12 SET(TESTS
    13   adaptors_test
    14   bfs_test
    15   circulation_test
    16   counter_test
    17   dfs_test
    18   digraph_test
    19   dijkstra_test
    20   dim_test
    21   edge_set_test
    22   error_test
    23   euler_test
    24   graph_copy_test
    25   graph_test
    26   graph_utils_test
    27   hao_orlin_test
    28   heap_test
    29   kruskal_test
    30   maps_test
    31   max_matching_test
    32   min_cost_arborescence_test
    33   min_cost_flow_test
    34   path_test
    35   preflow_test
    36   radix_sort_test
    37   random_test
    38   suurballe_test
    39   time_measure_test
    40   unionfind_test)
    41 
    42 IF(HAVE_LP)
    43   ADD_EXECUTABLE(lp_test lp_test.cc)
    44   IF(HAVE_GLPK)
    45     TARGET_LINK_LIBRARIES(lp_test lemon ${GLPK_LIBRARIES})
    46   ENDIF(HAVE_GLPK)
    47   ADD_TEST(lp_test lp_test)
    48 
    49   IF(WIN32 AND HAVE_GLPK)
    50     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    51     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    52     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    53       COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
    54       COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
    55       COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    56     )
    57   ENDIF(WIN32 AND HAVE_GLPK)
    58 ENDIF(HAVE_LP)
    59 
    60 IF(HAVE_MIP)
    61   ADD_EXECUTABLE(mip_test mip_test.cc)
    62   IF(HAVE_GLPK)
    63     TARGET_LINK_LIBRARIES(mip_test lemon ${GLPK_LIBRARIES})
    64   ENDIF(HAVE_GLPK)
    65   ADD_TEST(mip_test mip_test)
    66 
    67   IF(WIN32 AND HAVE_GLPK)
    68     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
    69     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    70     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
    71       COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
    72       COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
    73       COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    74     )
    75   ENDIF(WIN32 AND HAVE_GLPK)
    76 ENDIF(HAVE_MIP)
    77 
    78 FOREACH(TEST_NAME ${TESTS})
    79   ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
    80   TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
    81   ADD_TEST(${TEST_NAME} ${TEST_NAME})
    82 ENDFOREACH(TEST_NAME)