From ca5b048613d48761ac35e4bdff4b5cc44dce36c9 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Fri, 8 Aug 2014 22:02:08 +0200 Subject: [PATCH] Fix installation of empty directories for cmake build system. The differences has been found out by comparing with the cross compiled mingw..-dbus packages. [exclude system bus support bits on Windows -smcv] --- cmake/CMakeLists.txt | 6 +++--- cmake/bus/CMakeLists.txt | 23 ++++++++++++++--------- cmake/dbus/CMakeLists.txt | 6 +++++- cmake/tools/CMakeLists.txt | 3 +++ 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 09e9cf8..799f3ba 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -73,7 +73,7 @@ set(EXPANDED_DATADIR ${DBUS_INSTALL_DIR}/${DBUS_DATADIR}) set(DBUS_MACHINE_UUID_FILE ${DBUS_INSTALL_DIR}/lib/dbus/machine-id) set(DBUS_BINDIR ${EXPANDED_BINDIR}) set(DBUS_DAEMONDIR ${EXPANDED_BINDIR}) - +set(DBUS_LOCALSTATEDIR ${DBUS_INSTALL_DIR}/var) #enable building of shared library SET(BUILD_SHARED_LIBS ON) @@ -401,7 +401,7 @@ endif (MSVC_IDE) endif (NOT $ENV{TMPDIR} STREQUAL "") # Not used on Windows, where there is no system bus -set (DBUS_SYSTEM_PID_FILE ${EXPANDED_LOCALSTATEDIR}/run/dbus/pid) +set (DBUS_SYSTEM_PID_FILE ${DBUS_LOCALSTATEDIR}/run/dbus/pid) if (WIN32) set (DBUS_CONSOLE_AUTH_DIR "") @@ -423,7 +423,7 @@ set (DEFAULT_MESSAGE_UNIX_FDS 1024) # and also to connect to. If this ever changes, it'll need to be split into # two variables, one for the listening address and one for the connecting # address. -set (DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket" CACHE STRING "system bus default address") +set (DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=${DBUS_LOCALSTATEDIR}/run/dbus/system_bus_socket" CACHE STRING "system bus default address") if (WIN32) set (DBUS_SESSION_BUS_LISTEN_ADDRESS "autolaunch:" CACHE STRING "session bus default listening address") diff --git a/cmake/bus/CMakeLists.txt b/cmake/bus/CMakeLists.txt index f5b41cd..a2a4b36 100644 --- a/cmake/bus/CMakeLists.txt +++ b/cmake/bus/CMakeLists.txt @@ -3,17 +3,14 @@ add_definitions(-DDBUS_COMPILATION) SET(EFENCE "") SET(BUS_DIR ${CMAKE_SOURCE_DIR}/../bus) -set (config_DATA - session.conf - system.conf -) - # config files for installation CONFIGURE_FILE( "${BUS_DIR}/session.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/session.conf" IMMEDIATE @ONLY) FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/session.d) -CONFIGURE_FILE( "system.conf.cmake" "${CMAKE_CURRENT_BINARY_DIR}/system.conf" IMMEDIATE @ONLY) -FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/system.d) +if(NOT WIN32) + CONFIGURE_FILE( "system.conf.cmake" "${CMAKE_CURRENT_BINARY_DIR}/system.conf" IMMEDIATE @ONLY) + FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/system.d) +endif() # copy services for local daemon start to local service dir data/dbus-1/services SET (SERVICE_FILES test/data/valid-service-files) @@ -88,8 +85,16 @@ set_target_properties(dbus-daemon PROPERTIES OUTPUT_NAME ${DBUS_DAEMON_NAME}) set_target_properties(dbus-daemon PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS}) install_targets(/bin dbus-daemon) -install_files(/etc/dbus-1 FILES ${config_DATA}) -install(DIRECTORY . DESTINATION etc/dbus-1/session.d FILES_MATCHING PATTERN "*.conf") +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/session.conf DESTINATION etc/dbus-1) +install(DIRECTORY DESTINATION etc/dbus-1/session.d) +install(DIRECTORY DESTINATION share/dbus-1/services) + +if(NOT WIN32) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/system.conf DESTINATION etc/dbus-1) + install(DIRECTORY DESTINATION etc/dbus-1/system.d) + install(DIRECTORY DESTINATION share/dbus-1/system-services) + install(DIRECTORY DESTINATION var/run/dbus) +endif() if (DBUS_SERVICE) set (dbus_service_SOURCES diff --git a/cmake/dbus/CMakeLists.txt b/cmake/dbus/CMakeLists.txt index a6aaba0..dda42b7 100644 --- a/cmake/dbus/CMakeLists.txt +++ b/cmake/dbus/CMakeLists.txt @@ -22,6 +22,9 @@ set (dbusinclude_HEADERS ${DBUS_DIR}/dbus-syntax.h ${DBUS_DIR}/dbus-threads.h ${DBUS_DIR}/dbus-types.h +) + +set (dbusarchinclude_HEADERS dbus-arch-deps.h ) @@ -286,7 +289,8 @@ else(WIN32) endif(WIN32) install(TARGETS dbus-1 ${INSTALL_TARGETS_DEFAULT_ARGS}) -install_files(/include/dbus FILES ${dbusinclude_HEADERS}) +install_files(/include/dbus-1.0/dbus FILES ${dbusinclude_HEADERS}) +install_files(/lib/include/dbus-1.0/dbus FILES ${dbusarchinclude_HEADERS}) ### Internal library, used for the daemon, tools and tests, compiled statically. diff --git a/cmake/tools/CMakeLists.txt b/cmake/tools/CMakeLists.txt index ddbd5bc..9f363b7 100644 --- a/cmake/tools/CMakeLists.txt +++ b/cmake/tools/CMakeLists.txt @@ -45,3 +45,6 @@ install_targets(/bin dbus-launch ) add_executable(dbus-monitor ${dbus_monitor_SOURCES}) target_link_libraries(dbus-monitor ${DBUS_LIBRARIES}) install_targets(/bin dbus-monitor ) + +# create the /var/lib/dbus directory for dbus-uuidgen +install(DIRECTORY DESTINATION var/lib/dbus) -- 1.8.4.5