test/CMakeLists.txt
author Antal Nemes <thoneyvazul@gmail.com>
Mon, 15 Nov 2010 22:23:35 +0100
changeset 1020 70bee017b584
parent 1000 de428ebb47ab
child 1021 4980b05606bd
permissions -rw-r--r--
Port max. card. search alg. from svn -r3512 (#397) and (#56)
     1 INCLUDE_DIRECTORIES(
     2   ${PROJECT_SOURCE_DIR}
     3   ${PROJECT_BINARY_DIR}
     4 )
     5 
     6 LINK_DIRECTORIES(
     7   ${PROJECT_BINARY_DIR}/lemon
     8 )
     9 
    10 SET(TESTS
    11   adaptors_test
    12   bellman_ford_test
    13   bfs_test
    14   circulation_test
    15   connectivity_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   fractional_matching_test
    25   gomory_hu_test
    26   graph_copy_test
    27   graph_test
    28   graph_utils_test
    29   hao_orlin_test
    30   heap_test
    31   kruskal_test
    32   maps_test
    33   matching_test
    34   max_cardinality_search_test
    35   max_clique_test
    36   min_cost_arborescence_test
    37   min_cost_flow_test
    38   min_mean_cycle_test
    39   path_test
    40   planarity_test
    41   preflow_test
    42   radix_sort_test
    43   random_test
    44   suurballe_test
    45   time_measure_test
    46   unionfind_test
    47 )
    48 
    49 IF(LEMON_HAVE_LP)
    50   ADD_EXECUTABLE(lp_test lp_test.cc)
    51   SET(LP_TEST_LIBS lemon)
    52 
    53   IF(LEMON_HAVE_GLPK)
    54     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
    55   ENDIF()
    56   IF(LEMON_HAVE_CPLEX)
    57     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
    58   ENDIF()
    59   IF(LEMON_HAVE_CLP)
    60     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
    61   ENDIF()
    62 
    63   TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
    64   ADD_TEST(lp_test lp_test)
    65 
    66   IF(WIN32 AND LEMON_HAVE_GLPK)
    67     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    68     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    69     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    70       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
    71       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
    72       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    73     )
    74   ENDIF()
    75 
    76   IF(WIN32 AND LEMON_HAVE_CPLEX)
    77     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    78     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    79     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    80       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
    81     )
    82   ENDIF()
    83 ENDIF()
    84 
    85 IF(LEMON_HAVE_MIP)
    86   ADD_EXECUTABLE(mip_test mip_test.cc)
    87   SET(MIP_TEST_LIBS lemon)
    88 
    89   IF(LEMON_HAVE_GLPK)
    90     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
    91   ENDIF()
    92   IF(LEMON_HAVE_CPLEX)
    93     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
    94   ENDIF()
    95   IF(LEMON_HAVE_CBC)
    96     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
    97   ENDIF()
    98 
    99   TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
   100   ADD_TEST(mip_test mip_test)
   101 
   102   IF(WIN32 AND LEMON_HAVE_GLPK)
   103     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   104     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   105     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   106       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
   107       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
   108       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
   109     )
   110   ENDIF()
   111 
   112   IF(WIN32 AND LEMON_HAVE_CPLEX)
   113     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   114     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   115     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   116       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
   117     )
   118   ENDIF()
   119 ENDIF()
   120 
   121 FOREACH(TEST_NAME ${TESTS})
   122   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
   123     ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
   124   ELSE()
   125     ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
   126   ENDIF()
   127   TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
   128   ADD_TEST(${TEST_NAME} ${TEST_NAME})
   129   ADD_DEPENDENCIES(check ${TEST_NAME})
   130 ENDFOREACH()