|
1 | | -CMAKE_MINIMUM_REQUIRED (VERSION 2.8.6) |
| 1 | +CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12) |
2 | 2 |
|
3 | 3 | IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR |
4 | 4 | (CMAKE_VERSION VERSION_EQUAL 3.1)) |
@@ -172,24 +172,41 @@ CONFIGURE_FILE ( |
172 | 172 | @ONLY |
173 | 173 | ) |
174 | 174 |
|
175 | | -INCLUDE_DIRECTORIES ( |
176 | | - ./ |
177 | | - include/ |
178 | | - ${CMAKE_CURRENT_BINARY_DIR}/include/ |
179 | | -) |
180 | | - |
181 | 175 | IF (MSGPACK_ENABLE_SHARED) |
182 | 176 | ADD_LIBRARY (msgpackc SHARED |
183 | 177 | ${msgpackc_SOURCES} |
184 | 178 | ${msgpackc_HEADERS} |
185 | 179 | ) |
| 180 | + |
| 181 | + TARGET_INCLUDE_DIRECTORIES (msgpackc |
| 182 | + PUBLIC |
| 183 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> |
| 184 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> |
| 185 | + $<INSTALL_INTERFACE:include> |
| 186 | + PRIVATE |
| 187 | + ${CMAKE_CURRENT_SOURCE_DIR} |
| 188 | + ) |
186 | 189 | ENDIF () |
187 | 190 |
|
188 | 191 | ADD_LIBRARY (msgpackc-static STATIC |
189 | 192 | ${msgpackc_SOURCES} |
190 | 193 | ${msgpackc_HEADERS} |
191 | 194 | ) |
192 | 195 |
|
| 196 | +TARGET_INCLUDE_DIRECTORIES (msgpackc-static |
| 197 | + PUBLIC |
| 198 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> |
| 199 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> |
| 200 | + $<INSTALL_INTERFACE:include> |
| 201 | + PRIVATE |
| 202 | + ${CMAKE_CURRENT_SOURCE_DIR} |
| 203 | +) |
| 204 | + |
| 205 | +IF (NOT MSGPACK_ENABLE_SHARED) |
| 206 | + # Add alias for subdirectories |
| 207 | + ADD_LIBRARY (msgpackc ALIAS msgpackc-static) |
| 208 | +ENDIF () |
| 209 | + |
193 | 210 | SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc") |
194 | 211 | IF (MSGPACK_ENABLE_SHARED) |
195 | 212 | IF (MSVC) |
@@ -253,9 +270,11 @@ ELSE() |
253 | 270 | SET (MSGPACK_INSTALLTARGETS msgpackc-static) |
254 | 271 | ENDIF () |
255 | 272 |
|
256 | | -INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
257 | | - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
258 | | - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| 273 | +INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} EXPORT msgpack-targets |
| 274 | + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
| 275 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 276 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 277 | +) |
259 | 278 | FOREACH (file ${msgpackc_HEADERS}) |
260 | 279 | GET_FILENAME_COMPONENT (dir ${file} PATH) |
261 | 280 | INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir}) |
@@ -310,3 +329,39 @@ IF (DOXYGEN_FOUND) |
310 | 329 | DEPENDS doxygen_c doxygen_cpp |
311 | 330 | ) |
312 | 331 | ENDIF () |
| 332 | + |
| 333 | +INCLUDE (CMakePackageConfigHelpers) |
| 334 | + |
| 335 | +SET (CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/msgpack") |
| 336 | + |
| 337 | +WRITE_BASIC_PACKAGE_VERSION_FILE ( |
| 338 | + msgpack-config-version.cmake |
| 339 | + VERSION ${VERSION} |
| 340 | + COMPATIBILITY SameMajorVersion |
| 341 | +) |
| 342 | + |
| 343 | +IF (NOT CMAKE_VERSION VERSION_LESS 3.0) |
| 344 | + EXPORT (EXPORT msgpack-targets |
| 345 | + FILE "${CMAKE_CURRENT_BINARY_DIR}/msgpack-targets.cmake" |
| 346 | + ) |
| 347 | +ENDIF () |
| 348 | + |
| 349 | +CONFIGURE_PACKAGE_CONFIG_FILE (msgpack-config.cmake.in |
| 350 | + msgpack-config.cmake |
| 351 | + INSTALL_DESTINATION "${CMAKE_INSTALL_CMAKEDIR}" |
| 352 | +) |
| 353 | + |
| 354 | +INSTALL (EXPORT msgpack-targets |
| 355 | + FILE |
| 356 | + msgpack-targets.cmake |
| 357 | + DESTINATION |
| 358 | + "${CMAKE_INSTALL_CMAKEDIR}" |
| 359 | +) |
| 360 | + |
| 361 | +INSTALL ( |
| 362 | + FILES |
| 363 | + "${CMAKE_CURRENT_BINARY_DIR}/msgpack-config.cmake" |
| 364 | + "${CMAKE_CURRENT_BINARY_DIR}/msgpack-config-version.cmake" |
| 365 | + DESTINATION |
| 366 | + "${CMAKE_INSTALL_CMAKEDIR}" |
| 367 | +) |
0 commit comments