gravatar
ladanyi@tmit.bme.hu
ladanyi@tmit.bme.hu
Minor CMake improvements * Use the empty ELSE(), ENDIF(), ENDMACRO(), etc. syntax since this improves readability and requires less typing. * Use FIND_PACKAGE() instead of INCLUDE(). * Use the value of CMAKE_COMMAND variable instead of cmake, since this works even if cmake is not in the PATH.
0 6 0
default
6 files changed with 110 insertions and 97 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -24,4 +24,4 @@
24 24

	
25
INCLUDE(FindDoxygen)
26
INCLUDE(FindGhostscript)
25
FIND_PACKAGE(Doxygen)
26
FIND_PACKAGE(Ghostscript)
27 27
FIND_PACKAGE(GLPK 4.33)
... ...
@@ -42,3 +42,3 @@
42 42
  ADD_SUBDIRECTORY(test)
43
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
43
ENDIF()
44 44

	
... ...
@@ -59,71 +59,69 @@
59 59
  )
60
ENDIF(UNIX)
60
ENDIF()
61 61

	
62
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
63
  IF(WIN32)
64
    SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
65
    SET(CPACK_PACKAGE_VENDOR "EGRES")
66
    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
67
      "LEMON - Library for Efficient Modeling and Optimization in Networks")
68
    SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
62
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
63
  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
64
  SET(CPACK_PACKAGE_VENDOR "EGRES")
65
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
66
    "LEMON - Library for Efficient Modeling and Optimization in Networks")
67
  SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
69 68

	
70
    SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
69
  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
71 70

	
72
    SET(CPACK_PACKAGE_INSTALL_DIRECTORY
73
      "${PROJECT_NAME} ${PROJECT_VERSION}")
74
    SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
75
      "${PROJECT_NAME} ${PROJECT_VERSION}")
71
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY
72
    "${PROJECT_NAME} ${PROJECT_VERSION}")
73
  SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
74
    "${PROJECT_NAME} ${PROJECT_VERSION}")
76 75

	
77
    SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
76
  SET(CPACK_COMPONENTS_ALL headers library html_documentation bin)
78 77

	
79
    SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
80
    SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
81
    SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
82
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
78
  SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
79
  SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
80
  SET(CPACK_COMPONENT_BIN_DISPLAY_NAME "Command line utilities")
81
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
83 82

	
84
    SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
85
      "C++ header files")
86
    SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
87
      "DLL and import library")
88
    SET(CPACK_COMPONENT_BIN_DESCRIPTION
89
      "Command line utilities")
90
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
91
      "Doxygen generated documentation")
83
  SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
84
    "C++ header files")
85
  SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
86
    "DLL and import library")
87
  SET(CPACK_COMPONENT_BIN_DESCRIPTION
88
    "Command line utilities")
89
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
90
    "Doxygen generated documentation")
92 91

	
93
    SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
92
  SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
94 93

	
95
    SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
96
    SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
97
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
94
  SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
95
  SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
96
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
98 97

	
99
    SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
100
      "Components needed to develop software using LEMON")
101
    SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
102
      "Documentation of LEMON")
98
  SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
99
    "Components needed to develop software using LEMON")
100
  SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
101
    "Documentation of LEMON")
103 102

	
104
    SET(CPACK_ALL_INSTALL_TYPES Full Developer)
103
  SET(CPACK_ALL_INSTALL_TYPES Full Developer)
105 104

	
106
    SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
107
    SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
108
    SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
105
  SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
106
  SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
107
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
109 108

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

	
127
    INCLUDE(CPack)
128
  ENDIF(WIN32)
129
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
126
  INCLUDE(CPack)
127
ENDIF()
Ignore white space 6 line context
... ...
@@ -5,3 +5,5 @@
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
... ...
@@ -10,3 +12,4 @@
10 12
  graph_to_eps_demo
11
  lgf_demo)
13
  lgf_demo
14
)
12 15

	
... ...
@@ -15,2 +18,2 @@
15 18
  TARGET_LINK_LIBRARIES(${DEMO_NAME} lemon)
16
ENDFOREACH(DEMO_NAME)
19
ENDFOREACH()
Ignore white space 6 line context
... ...
@@ -48,4 +48,4 @@
48 48
    )
49
  ENDIF(UNIX)
49
  ENDIF()
50 50

	
51
ENDIF(DOXYGEN_EXECUTABLE AND GHOSTSCRIPT_EXECUTABLE)
51
ENDIF()
Ignore white space 6 line context
... ...
@@ -27,4 +27,4 @@
27 27
    INSTALL(FILES ${GLPK_BIN_DIR}/zlib1.dll DESTINATION bin)
28
  ENDIF(WIN32)
29
ENDIF(LEMON_HAVE_GLPK)
28
  ENDIF()
29
ENDIF()
30 30

	
... ...
@@ -33,3 +33,3 @@
33 33
  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
34
ENDIF(LEMON_HAVE_CPLEX)
34
ENDIF()
35 35

	
... ...
@@ -38,3 +38,3 @@
38 38
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
39
ENDIF(LEMON_HAVE_CLP)
39
ENDIF()
40 40

	
... ...
@@ -43,3 +43,3 @@
43 43
  INCLUDE_DIRECTORIES(${COIN_INCLUDE_DIRS})
44
ENDIF(LEMON_HAVE_CBC)
44
ENDIF()
45 45

	
... ...
@@ -48,3 +48,3 @@
48 48
  SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
49
ENDIF(UNIX)
49
ENDIF()
50 50

	
Ignore white space 6 line context
... ...
@@ -5,3 +5,5 @@
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
... ...
@@ -37,3 +39,4 @@
37 39
  time_measure_test
38
  unionfind_test)
40
  unionfind_test
41
)
39 42

	
... ...
@@ -42,11 +45,13 @@
42 45
  SET(LP_TEST_LIBS lemon)
46

	
43 47
  IF(LEMON_HAVE_GLPK)
44 48
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${GLPK_LIBRARIES})
45
  ENDIF(LEMON_HAVE_GLPK)
49
  ENDIF()
46 50
  IF(LEMON_HAVE_CPLEX)
47 51
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
48
  ENDIF(LEMON_HAVE_CPLEX)
52
  ENDIF()
49 53
  IF(LEMON_HAVE_CLP)
50 54
    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${COIN_CLP_LIBRARIES})
51
  ENDIF(LEMON_HAVE_CLP)
55
  ENDIF()
56

	
52 57
  TARGET_LINK_LIBRARIES(lp_test ${LP_TEST_LIBS})
... ...
@@ -58,7 +63,8 @@
58 63
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
59
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
60
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
61
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
64
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
65
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
66
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
62 67
    )
63
  ENDIF(WIN32 AND LEMON_HAVE_GLPK)
68
  ENDIF()
69

	
64 70
  IF(WIN32 AND LEMON_HAVE_CPLEX)
... ...
@@ -67,6 +73,6 @@
67 73
    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
68
      COMMAND cmake -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
74
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
69 75
    )
70
  ENDIF(WIN32 AND LEMON_HAVE_CPLEX)
71
ENDIF(LEMON_HAVE_LP)
76
  ENDIF()
77
ENDIF()
72 78

	
... ...
@@ -75,11 +81,13 @@
75 81
  SET(MIP_TEST_LIBS lemon)
82

	
76 83
  IF(LEMON_HAVE_GLPK)
77 84
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${GLPK_LIBRARIES})
78
  ENDIF(LEMON_HAVE_GLPK)
85
  ENDIF()
79 86
  IF(LEMON_HAVE_CPLEX)
80 87
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
81
  ENDIF(LEMON_HAVE_CPLEX)
88
  ENDIF()
82 89
  IF(LEMON_HAVE_CBC)
83 90
    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${COIN_CBC_LIBRARIES})
84
  ENDIF(LEMON_HAVE_CBC)
91
  ENDIF()
92

	
85 93
  TARGET_LINK_LIBRARIES(mip_test ${MIP_TEST_LIBS})
... ...
@@ -91,7 +99,8 @@
91 99
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
92
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
93
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
94
      COMMAND cmake -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
100
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/glpk.dll ${TARGET_PATH}
101
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/libltdl3.dll ${TARGET_PATH}
102
      COMMAND ${CMAKE_COMMAND} -E copy ${GLPK_BIN_DIR}/zlib1.dll ${TARGET_PATH}
95 103
    )
96
  ENDIF(WIN32 AND LEMON_HAVE_GLPK)
104
  ENDIF()
105

	
97 106
  IF(WIN32 AND LEMON_HAVE_CPLEX)
... ...
@@ -100,6 +109,6 @@
100 109
    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
101
      COMMAND cmake -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
110
      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex91.dll ${TARGET_PATH}
102 111
    )
103
  ENDIF(WIN32 AND LEMON_HAVE_CPLEX)
104
ENDIF(LEMON_HAVE_MIP)
112
  ENDIF()
113
ENDIF()
105 114

	
... ...
@@ -109,2 +118,2 @@
109 118
  ADD_TEST(${TEST_NAME} ${TEST_NAME})
110
ENDFOREACH(TEST_NAME)
119
ENDFOREACH()
Show white space 6 line context
... ...
@@ -5,3 +5,5 @@
5 5

	
6
LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lemon)
6
LINK_DIRECTORIES(
7
  ${PROJECT_BINARY_DIR}/lemon
8
)
7 9

	
... ...
@@ -26,3 +28,4 @@
26 28
    DESTINATION bin
27
    COMPONENT bin)
28
ENDIF(NOT WIN32)
29
    COMPONENT bin
30
  )
31
ENDIF()
0 comments (0 inline)