@@ -46,6 +46,7 @@ if(RIFFCPP_INSTALL_LIB)
46
46
install (
47
47
TARGETS riffcpp
48
48
EXPORT riffcpp-targets
49
+ COMPONENT runtime
49
50
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
50
51
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
51
52
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
@@ -57,11 +58,13 @@ if(RIFFCPP_INSTALL_HEADERS)
57
58
install (
58
59
DIRECTORY ${CMAKE_SOURCE_DIR} /include/
59
60
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
61
+ COMPONENT devel
60
62
)
61
63
62
64
install (
63
65
FILES ${PROJECT_BINARY_DIR} /riffcpp_export.h
64
66
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
67
+ COMPONENT devel
65
68
)
66
69
67
70
# installs the *cmake files in share directory
@@ -70,6 +73,7 @@ if(RIFFCPP_INSTALL_HEADERS)
70
73
FILE riffcpp-targets.cmake
71
74
NAMESPACE riffcpp::
72
75
DESTINATION share/riffcpp
76
+ COMPONENT devel
73
77
)
74
78
75
79
include (CMakePackageConfigHelpers )
@@ -91,13 +95,15 @@ if(RIFFCPP_INSTALL_HEADERS)
91
95
${CMAKE_BINARY_DIR} /cmake/riffcpp-config.cmake
92
96
${CMAKE_BINARY_DIR} /cmake/riffcpp-config-version.cmake
93
97
DESTINATION share/riffcpp
98
+ COMPONENT devel
94
99
)
95
100
endif ()
96
101
97
102
if (RIFFCPP_INSTALL_EXAMPLE )
98
103
install (
99
104
TARGETS riff_dump
100
105
RUNTIME DESTINATION ${RIFFCPP_EXAMPLE_INSTALL_DIR}
106
+ COMPONENT example
101
107
)
102
108
endif ()
103
109
@@ -111,10 +117,46 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Simple library for reading RIFF files")
111
117
set (CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} )
112
118
set (CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR} )
113
119
set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH} )
120
+ set (CPACK_PACKAGE_VERSION ${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} )
121
+ set (CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "riffcpp" )
122
+ set (CPACK_DEBIAN_DEVEL_PACKAGE_NAME "riffcpp-dev" )
123
+ set (CPACK_DEBIAN_EXAMPLE_PACKAGE_NAME "riffcpp-utils" )
124
+ set (CPACK_DEBIAN_RUNTIME_FILE_NAME riffcpp_${CPACK_PACKAGE_VERSION}.deb )
125
+ set (CPACK_DEBIAN_DEVEL_FILE_NAME riffcpp-dev_${CPACK_PACKAGE_VERSION}.deb )
126
+ set (CPACK_DEBIAN_EXAMPLE_FILE_NAME riffcpp-utils_${CPACK_PACKAGE_VERSION}.deb )
127
+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.14), libstdc++6 (>= 5.2), libgcc1 (>= 1:3.0)" )
128
+ set (CPACK_DEBIAN_DEVEL_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS} , riffcpp (>= ${CPACK_PACKAGE_VERSION} ), riffcpp (<< 2.3)" )
129
+ set (CPACK_DEBIAN_EXAMPLE_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS} , riffcpp (>= ${CPACK_PACKAGE_VERSION} ), riffcpp (<< 2.3)" )
130
+ set (CPACK_DEB_COMPONENT_INSTALL ON )
114
131
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR} /LICENSE" )
115
132
set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR} /README.md" )
116
133
117
134
include (CPack )
118
135
136
+ if (RIFFCPP_INSTALL_HEADERS )
137
+ cpack_add_component (
138
+ devel
139
+ DISPLAY_NAME "Header files"
140
+ DESCRIPTION "Required if you need to compile programs that depend on this library"
141
+ DEPENDS runtime
142
+ )
143
+ endif ()
144
+
145
+ if (RIFFCPP_INSTALL_LIB )
146
+ cpack_add_component (
147
+ runtime
148
+ DISPLAY_NAME "Runtime library"
149
+ REQUIRED
150
+ )
151
+ endif ()
152
+
153
+ if (RIFFCPP_INSTALL_EXAMPLE )
154
+ cpack_add_component (
155
+ example
156
+ DISPLAY_NAME "Example program"
157
+ DEPENDS runtime
158
+ )
159
+ endif ()
160
+
119
161
include (CTest )
120
162
add_subdirectory (tests )
0 commit comments