diff options
Diffstat (limited to 'cmake/CMakeLists.txt')
-rw-r--r-- | cmake/CMakeLists.txt | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2c397d29..2d433061 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -97,9 +97,9 @@ set(DBUS_DATADIR ${EXPANDED_DATADIR}) SET(BUILD_SHARED_LIBS ON) if(WIN32) - set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "bin" LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib") + set(INSTALL_TARGETS_DEFAULT_ARGS EXPORT DBusTargets RUNTIME DESTINATION "bin" LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib") else() - set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${EXPANDED_LIBDIR}" LIBRARY DESTINATION "${EXPANDED_LIBDIR}" ARCHIVE DESTINATION "${EXPANDED_LIBDIR}") + set(INSTALL_TARGETS_DEFAULT_ARGS EXPORT DBusTargets RUNTIME DESTINATION "${EXPANDED_LIBDIR}" LIBRARY DESTINATION "${EXPANDED_LIBDIR}" ARCHIVE DESTINATION "${EXPANDED_LIBDIR}") endif() if (CYGWIN) @@ -635,3 +635,34 @@ add_custom_target(help-options cmake -LH WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) + +# +# create cmake find_package support +# +if(WIN32 AND NOT CYGWIN) + set(DEF_INSTALL_CMAKE_DIR CMake) +else() + set(DEF_INSTALL_CMAKE_DIR lib/CMake/DBus) +endif() +set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") + +# Make relative paths absolute (needed later on) +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() + +file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INSTALL_INCLUDE_DIR}") +set(CONF_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}") +configure_file(DBusConfig.cmake.in "${CMAKE_BINARY_DIR}/DBusConfig.cmake" @ONLY) +set(CONF_INCLUDE_DIRS "\${FOOBAR_CMAKE_DIR}/${REL_INCLUDE_DIR}") +configure_file(DBusConfig.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DBusConfig.cmake" @ONLY) +configure_file(DBusConfigVersion.cmake.in "${CMAKE_BINARY_DIR}/DBusConfigVersion.cmake" @ONLY) +install(FILES + "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DBusConfig.cmake" + "${CMAKE_BINARY_DIR}/DBusConfigVersion.cmake" + DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev +) +install(EXPORT DBusTargets DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev) |