mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-22 21:50:09 +01:00
With this support cmake and autotools generates cmake equivalent of pkgconfig files on configure time named DBus1Config*.cmake. These files are installed into the related directory where cmake expects find_package related config files. For instructions how to use this feature with clients see readme.cmake. With previous DBus versions each cmake client using DBus as dependency needed a related FindDBus*.cmake in its source distribution or in the cmake binary packages. With the 'config' find package style support provided by this patch this requirement has been removed. The generated config file uses pkgconfig on unix or autotools to fetch package build flags, which is the prefered way. On Windows we do not want to require CMake users to have pkg-config installed so it uses cmake buildin target export support for exporting all targets into DBus1ConfigTargets*.cmake. [smcv: make sure variable substitution works in Autotools too] Bug: https://bugs.freedesktop.org/show_bug.cgi?id=99721 Reviewed-by: Simon McVittie <smcv@collabora.com> Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de> Signed-off-by: Simon McVittie <smcv@collabora.com>
37 lines
1.5 KiB
CMake
37 lines
1.5 KiB
CMake
# - Config file for the DBus1 package
|
|
# It defines the following variables
|
|
# DBus1_FOUND - Flag for indicating that DBus1 package has been found
|
|
# DBus1_DEFINITIONS - compile definitions for DBus1 [1]
|
|
# DBus1_INCLUDE_DIRS - include directories for DBus1 [1]
|
|
# DBus1_LIBRARIES - cmake targets to link against
|
|
|
|
# [1] This variable is not required if DBus1_LIBRARIES is added
|
|
# to a target with target_link_libraries
|
|
|
|
# Compute paths
|
|
if(@DBUS_RELOCATABLE@)
|
|
get_filename_component(DBus1_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
|
|
else()
|
|
set(DBus1_INSTALL_DIR "@DBUS_PREFIX@")
|
|
endif()
|
|
# Our library dependencies (contains definitions for IMPORTED targets)
|
|
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/DBus1Targets.cmake")
|
|
# do not additional search paths for implicit libraries
|
|
# see https://cmake.org/cmake/help/v3.0/policy/CMP0003.html
|
|
if(COMMAND cmake_policy)
|
|
cmake_policy(SET CMP0003 NEW)
|
|
endif(COMMAND cmake_policy)
|
|
|
|
if(NOT TARGET dbus-1)
|
|
include("${CMAKE_CURRENT_LIST_DIR}/DBus1Targets.cmake")
|
|
endif()
|
|
|
|
set(DBus1_INCLUDE_DIRS "${DBus1_INSTALL_DIR}/@CMAKE_INSTALL_INCLUDEDIR@/dbus-1.0" "${DBus1_INSTALL_DIR}/@CMAKE_INSTALL_LIBDIR@/dbus-1.0/include")
|
|
set(DBus1_DEFINITIONS)
|
|
set(DBus1_LIBRARIES dbus-1)
|
|
|
|
set_property(TARGET dbus-1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${DBus1_INCLUDE_DIRS})
|
|
set_property(TARGET dbus-1 PROPERTY INTERFACE_COMPILE_DEFINITIONS ${DBus1_DEFINITIONS})
|
|
else()
|
|
message(FATAL_ERROR "Incomplete cmake support in DBus1 find_package configuration")
|
|
endif()
|