test/CMakeLists.txt
author Alpar Juttner <alpar@cs.elte.hu>
Wed, 25 Aug 2010 21:34:58 +0200
changeset 1033 16d466589b54
parent 726 9c7639f3a741
child 1035 d149eaf24638
child 1040 8e39ccaabf48
child 1044 66156a3498ea
permissions -rw-r--r--
Backport the CMAKE related changesets from the main branch

[e20fecd1945f] Add check target for CMake (#388)
[e74b5db4f2c6] Put the output of chg-len.py in the version string (#389)
[7d166b8b8018] Safer call of ./scripts/chg-len.py on Windows (#389)
[659ba4805a48] Make CMAKE config more consistent with configure.ac (#390)
[63e4468c680e] Add 'Maintainer' CMAKE build type (#388, #390)
[a725503acfe9] Allow CPACK configuration on all platforms
[10242c611190] Create and install lemon.pc (#393)
[48e29534cf03] The deafult target doesn't build lp_test and mip_test (#388)
[0fbbdd578c06] Full path for DoxygenLayout.xml in Doxyfile.in (#395)
[481496e6d71f] SOURCE_BROWSER Doxygen switch is configurable from CMAKE (#395)
[09282720100b] update-external-tags CMAKE target (#395)
     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   bfs_test
    13   circulation_test
    14   connectivity_test
    15   counter_test
    16   dfs_test
    17   digraph_test
    18   dijkstra_test
    19   dim_test
    20   edge_set_test
    21   error_test
    22   euler_test
    23   gomory_hu_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   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 
    43 IF(LEMON_HAVE_LP)
    44   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
    45     ADD_EXECUTABLE(lp_test lp_test.cc)
    46   ELSE()
    47     ADD_EXECUTABLE(lp_test EXCLUDE_FROM_ALL lp_test.cc)
    48   ENDIF()
    49 
    50   SET(LP_TEST_LIBS lemon)
    51 
    52   IF(LEMON_HAVE_GLPK)
    53     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
    54   ENDIF()
    55   IF(LEMON_HAVE_CPLEX)
    56     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
    57   ENDIF()
    58   IF(LEMON_HAVE_CLP)
    59     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
    60   ENDIF()
    61 
    62   TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
    63   ADD_TEST(lp_test lp_test)
    64 
    65   IF(WIN32 AND LEMON_HAVE_GLPK)
    66     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    67     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    68     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    69       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
    70       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
    71       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
    72     )
    73   ENDIF()
    74 
    75   IF(WIN32 AND LEMON_HAVE_CPLEX)
    76     GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
    77     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    78     ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    79       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
    80     )
    81   ENDIF()
    82 ENDIF()
    83 
    84 IF(LEMON_HAVE_MIP)
    85   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
    86     ADD_EXECUTABLE(mip_test mip_test.cc)
    87   ELSE()
    88     ADD_EXECUTABLE(mip_test EXCLUDE_FROM_ALL mip_test.cc)
    89   ENDIF()
    90 
    91   SET(MIP_TEST_LIBS lemon)
    92 
    93   IF(LEMON_HAVE_GLPK)
    94     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
    95   ENDIF()
    96   IF(LEMON_HAVE_CPLEX)
    97     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
    98   ENDIF()
    99   IF(LEMON_HAVE_CBC)
   100     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
   101   ENDIF()
   102 
   103   TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
   104   ADD_TEST(mip_test mip_test)
   105 
   106   IF(WIN32 AND LEMON_HAVE_GLPK)
   107     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   108     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   109     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   110       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
   111       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
   112       COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
   113     )
   114   ENDIF()
   115 
   116   IF(WIN32 AND LEMON_HAVE_CPLEX)
   117     GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
   118     GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
   119     ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
   120       COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
   121     )
   122   ENDIF()
   123 ENDIF()
   124 
   125 FOREACH(TEST_NAME ${TESTS})
   126   IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
   127     ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
   128   ELSE()
   129     ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
   130   ENDIF()
   131   TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
   132   ADD_TEST(${TEST_NAME} ${TEST_NAME})
   133   ADD_DEPENDENCIES(check ${TEST_NAME})
   134 ENDFOREACH()