gravatar
ladanyi@tmit.bme.hu
ladanyi@tmit.bme.hu
Add check target for CMake (#388)
0 2 0
default
2 files changed with 4 insertions and 1 deletions:
↑ Collapse diff ↑
Ignore white space 192 line context
1 1
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 2

	
3 3
SET(PROJECT_NAME "LEMON")
4 4
PROJECT(${PROJECT_NAME})
5 5

	
6 6
IF(EXISTS ${PROJECT_SOURCE_DIR}/cmake/version.cmake)
7 7
  INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
8 8
ELSEIF(DEFINED ENV{LEMON_VERSION})
9 9
  SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
10 10
ELSE()
11 11
  EXECUTE_PROCESS(
12 12
    COMMAND hg id -i
13 13
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
14 14
    OUTPUT_VARIABLE HG_REVISION
15 15
    ERROR_QUIET
16 16
    OUTPUT_STRIP_TRAILING_WHITESPACE
17 17
  )
18 18
  IF(HG_REVISION STREQUAL "")
19 19
    SET(HG_REVISION "hg-tip")
20 20
  ENDIF()
21 21
  SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
22 22
ENDIF()
23 23

	
24 24
SET(PROJECT_VERSION ${LEMON_VERSION})
25 25

	
26 26
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
27 27

	
28 28
FIND_PACKAGE(Doxygen)
29 29
FIND_PACKAGE(Ghostscript)
30 30
FIND_PACKAGE(GLPK 4.33)
31 31
FIND_PACKAGE(CPLEX)
32 32
FIND_PACKAGE(COIN)
33 33

	
34 34
INCLUDE(CheckTypeSize)
35 35
CHECK_TYPE_SIZE("long long" LONG_LONG)
36 36
SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
37 37

	
38 38
INCLUDE(FindPythonInterp)
39 39

	
40 40
ENABLE_TESTING()
41 41

	
42
ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND})
43

	
42 44
ADD_SUBDIRECTORY(lemon)
43 45
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
44 46
  ADD_SUBDIRECTORY(demo)
45 47
  ADD_SUBDIRECTORY(tools)
46 48
  ADD_SUBDIRECTORY(doc)
47 49
  ADD_SUBDIRECTORY(test)
48 50
ENDIF()
49 51

	
50 52
CONFIGURE_FILE(
51 53
  ${PROJECT_SOURCE_DIR}/cmake/LEMONConfig.cmake.in
52 54
  ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
53 55
  @ONLY
54 56
)
55 57
IF(UNIX)
56 58
  INSTALL(
57 59
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
58 60
    DESTINATION share/lemon/cmake
59 61
  )
60 62
ELSEIF(WIN32)
61 63
  INSTALL(
62 64
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
63 65
    DESTINATION cmake
64 66
  )
65 67
ENDIF()
66 68

	
67 69
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
68 70
  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
69 71
  SET(CPACK_PACKAGE_VENDOR "EGRES")
70 72
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
71 73
    "LEMON - Library for Efficient Modeling and Optimization in Networks")
72 74
  SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
73 75

	
74 76
  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
75 77

	
76 78
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY
77 79
    "${PROJECT_NAME} ${PROJECT_VERSION}")
78 80
  SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
79 81
    "${PROJECT_NAME} ${PROJECT_VERSION}")
80 82

	
81 83
  SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
82 84

	
83 85
  SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
84 86
  SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
85 87
  SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
86 88
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
87 89

	
88 90
  SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
89 91
    "C++ header files")
90 92
  SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
91 93
    "DLL and import library")
92 94
  SET(CPACK_COMPONENT_BIN_DESCRIPTION
93 95
    "Command line utilities")
94 96
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
95 97
    "Doxygen generated documentation")
96 98

	
97 99
  SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
98 100

	
99 101
  SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
100 102
  SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
101 103
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
102 104

	
103 105
  SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
104 106
    "Components needed to develop software using LEMON")
105 107
  SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
106 108
    "Documentation of LEMON")
107 109

	
108 110
  SET(CPACK_ALL_INSTALL_TYPES Full Developer)
109 111

	
110 112
  SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
111 113
  SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
112 114
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
113 115

	
114 116
  SET(CPACK_GENERATOR "NSIS")
115 117
  SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis/lemon.ico")
116 118
  SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/cmake/nsis/uninstall.ico")
117 119
  #SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
118 120
  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
119 121
  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
120 122
  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
121 123
  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
122 124
  SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
123 125
  SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
124 126
    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\share\\\\doc\\\\index.html\\\"
125 127
    ")
126 128
  SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
127 129
    !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
128 130
    Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
129 131
    ")
130 132

	
131 133
  INCLUDE(CPack)
132 134
ENDIF()
Ignore white space 192 line context
... ...
@@ -24,100 +24,101 @@
24 24
  fractional_matching_test
25 25
  gomory_hu_test
26 26
  graph_copy_test
27 27
  graph_test
28 28
  graph_utils_test
29 29
  hao_orlin_test
30 30
  heap_test
31 31
  kruskal_test
32 32
  maps_test
33 33
  matching_test
34 34
  min_cost_arborescence_test
35 35
  min_cost_flow_test
36 36
  min_mean_cycle_test
37 37
  path_test
38 38
  planarity_test
39 39
  preflow_test
40 40
  radix_sort_test
41 41
  random_test
42 42
  suurballe_test
43 43
  time_measure_test
44 44
  unionfind_test
45 45
)
46 46

	
47 47
IF(LEMON_HAVE_LP)
48 48
  ADD_EXECUTABLE(lp_test lp_test.cc)
49 49
  SET(LP_TEST_LIBS lemon)
50 50

	
51 51
  IF(LEMON_HAVE_GLPK)
52 52
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
53 53
  ENDIF()
54 54
  IF(LEMON_HAVE_CPLEX)
55 55
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
56 56
  ENDIF()
57 57
  IF(LEMON_HAVE_CLP)
58 58
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
59 59
  ENDIF()
60 60

	
61 61
  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
62 62
  ADD_TEST(lp_test lp_test)
63 63

	
64 64
  IF(WIN32 AND LEMON_HAVE_GLPK)
65 65
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
66 66
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
67 67
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
68 68
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
69 69
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
70 70
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
71 71
    )
72 72
  ENDIF()
73 73

	
74 74
  IF(WIN32 AND LEMON_HAVE_CPLEX)
75 75
    GET_TARGET_PROPERTY(TARGET_LOC lp_test LOCATION)
76 76
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
77 77
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
78 78
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
79 79
    )
80 80
  ENDIF()
81 81
ENDIF()
82 82

	
83 83
IF(LEMON_HAVE_MIP)
84 84
  ADD_EXECUTABLE(mip_test mip_test.cc)
85 85
  SET(MIP_TEST_LIBS lemon)
86 86

	
87 87
  IF(LEMON_HAVE_GLPK)
88 88
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
89 89
  ENDIF()
90 90
  IF(LEMON_HAVE_CPLEX)
91 91
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
92 92
  ENDIF()
93 93
  IF(LEMON_HAVE_CBC)
94 94
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
95 95
  ENDIF()
96 96

	
97 97
  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
98 98
  ADD_TEST(mip_test mip_test)
99 99

	
100 100
  IF(WIN32 AND LEMON_HAVE_GLPK)
101 101
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
102 102
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
103 103
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
104 104
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
105 105
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
106 106
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
107 107
    )
108 108
  ENDIF()
109 109

	
110 110
  IF(WIN32 AND LEMON_HAVE_CPLEX)
111 111
    GET_TARGET_PROPERTY(TARGET_LOC mip_test LOCATION)
112 112
    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
113 113
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
114 114
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
115 115
    )
116 116
  ENDIF()
117 117
ENDIF()
118 118

	
119 119
FOREACH(TEST_NAME ${TESTS})
120
  ADD_EXECUTABLE(${TEST_NAME} ${TEST_NAME}.cc)
120
  ADD_EXECUTABLE(${TEST_NAME} EXCLUDE_FROM_ALL ${TEST_NAME}.cc)
121 121
  TARGET_LINK_LIBRARIES(${TEST_NAME} lemon)
122 122
  ADD_TEST(${TEST_NAME} ${TEST_NAME})
123
  ADD_DEPENDENCIES(check ${TEST_NAME})
123 124
ENDFOREACH()
0 comments (0 inline)