test/CMakeLists.txt
author Peter Kovacs <kpeter@inf.elte.hu>
Sun, 09 Jan 2011 00:57:12 +0100
changeset 1203 07682e24c4e8
parent 1021 4980b05606bd
child 1206 a2d142bb5d3c
permissions -rw-r--r--
A detailed test file for TSP algorithms (#386)
     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   nagamochi_ibaraki_test
    40   path_test
    41   planarity_test
    42   preflow_test
    43   radix_sort_test
    44   random_test
    45   suurballe_test
    46   time_measure_test
    47   tsp_test
    48   unionfind_test
    49 )
    50 
    51 IF(LEMON_HAVE_LP)
    52   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
    53     ADD_EXECUTABLE(lp_test lp_test.cc)
    54   ELSE()
    55     ADD_EXECUTABLE(lp_test EXCLUDE_FROM_ALL lp_test.cc)
    56   ENDIF()
    57 
    58   SET(LP_TEST_LIBS lemon)
    59 
    60   IF(LEMON_HAVE_GLPK)
    61     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
    62   ENDIF()
    63   IF(LEMON_HAVE_CPLEX)
    64     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
    65   ENDIF()
    66   IF(LEMON_HAVE_CLP)
    67     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
    68   ENDIF()
    69 
    70   TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
    71   ADD_TEST(lp_test lp_test)
    72 
    73   IF(WIN32 AND LEMON_HAVE_GLPK)
    74     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    75     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    76     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    77       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
    78       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
    79       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    80     )
    81   ENDIF()
    82 
    83   IF(WIN32 AND LEMON_HAVE_CPLEX)
    84     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    85     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    86     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    87       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
    88     )
    89   ENDIF()
    90 ENDIF()
    91 
    92 IF(LEMON_HAVE_MIP)
    93   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
    94     ADD_EXECUTABLE(mip_test mip_test.cc)
    95   ELSE()
    96     ADD_EXECUTABLE(mip_test EXCLUDE_FROM_ALL mip_test.cc)
    97   ENDIF()
    98 
    99   SET(MIP_TEST_LIBS lemon)
   100 
   101   IF(LEMON_HAVE_GLPK)
   102     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
   103   ENDIF()
   104   IF(LEMON_HAVE_CPLEX)
   105     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
   106   ENDIF()
   107   IF(LEMON_HAVE_CBC)
   108     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
   109   ENDIF()
   110 
   111   TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
   112   ADD_TEST(mip_test mip_test)
   113 
   114   IF(WIN32 AND LEMON_HAVE_GLPK)
   115     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   116     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   117     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   118       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
   119       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
   120       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
   121     )
   122   ENDIF()
   123 
   124   IF(WIN32 AND LEMON_HAVE_CPLEX)
   125     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   126     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   127     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   128       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
   129     )
   130   ENDIF()
   131 ENDIF()
   132 
   133 FOREACH(TEST_NAME ${TESTS})
   134   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
   135     ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
   136   ELSE()
   137     ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
   138   ENDIF()
   139   TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
   140   ADD_TEST(${TEST_NAME} ${TEST_NAME})
   141   ADD_DEPENDENCIES(check ${TEST_NAME})
   142 ENDFOREACH()