diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2019-01-10 19:42:52 +0100 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2019-01-22 09:57:40 +0100 |
commit | 3bf97922bd8df563169f9a448ecc8b2dd6658efc (patch) | |
tree | 882fd8701984e8212a538f75e5be910dd4bf6638 /bus | |
parent | 8747c9b5a06209b22d6b5c89c6ef44d88a74197f (diff) | |
download | dbus-3bf97922bd8df563169f9a448ecc8b2dd6658efc.tar.gz |
Move cmake related build system to top level
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Diffstat (limited to 'bus')
-rw-r--r-- | bus/CMakeLists.txt | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/bus/CMakeLists.txt b/bus/CMakeLists.txt new file mode 100644 index 00000000..f901b7e0 --- /dev/null +++ b/bus/CMakeLists.txt @@ -0,0 +1,203 @@ +add_definitions(-DDBUS_COMPILATION) + +SET(EFENCE "") + +# config files for installation +CONFIGURE_FILE( "session.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/session.conf" IMMEDIATE @ONLY) +CONFIGURE_FILE( "legacy-config/session.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/legacy-config/session.conf" IMMEDIATE @ONLY) +FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/session.d) + +if(NOT WIN32) + CONFIGURE_FILE( "system.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/system.conf" IMMEDIATE @ONLY) + CONFIGURE_FILE( "legacy-config/system.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/legacy-config/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) +FILE(GLOB FILES "${SERVICE_FILES}/*.service.in" ) +FOREACH(FILE ${FILES}) + GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME_WE) + SET (TARGET ${CMAKE_BINARY_DIR}/data/dbus-1/services/${FILENAME}.service) + IF (CONFIG_VERBOSE) + MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n") + ENDIF (CONFIG_VERBOSE) + configure_file(${FILE} ${TARGET} ) +ENDFOREACH(FILE) + + +if (DBUS_BUS_ENABLE_INOTIFY) + set (DIR_WATCH_SOURCE dir-watch-inotify.c) +elseif (DBUS_BUS_ENABLE_KQUEUE) + set (DIR_WATCH_SOURCE dir-watch-kqueue.c) +else (DBUS_BUS_ENABLE_INOTIFY) + set (DIR_WATCH_SOURCE dir-watch-default.c) +endif (DBUS_BUS_ENABLE_INOTIFY) + +set (BUS_SOURCES + activation.c + activation.h + apparmor.c + apparmor.h + audit.c + audit.h + bus.c + bus.h + config-loader-expat.c + config-parser.c + config-parser.h + config-parser-common.c + config-parser-common.h +# config-parser-trivial.c + connection.c + connection.h + containers.c + containers.h + desktop-file.c + desktop-file.h + dir-watch.h + dispatch.c + dispatch.h + driver.c + driver.h + expirelist.c + expirelist.h + policy.c + policy.h + selinux.h + selinux.c + services.c + services.h + signals.c + signals.h + test.c + test.h + utils.c + utils.h + ${DIR_WATCH_SOURCE} +) +if(DBUS_ENABLE_STATS) + list(APPEND BUS_SOURCES + stats.c + stats.h + ) +endif(DBUS_ENABLE_STATS) + +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/.. + ${EXPAT_INCLUDE_DIR} +) + +if(WIN32) + set(DBUS_VER_INTERNAL_NAME "dbus-daemon") + set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}") + set(DBUS_VER_FILE_TYPE "VFT_APP") + configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) + list(APPEND BUS_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) +endif() + +add_library(dbus-daemon-internal STATIC ${BUS_SOURCES}) +target_link_libraries(dbus-daemon-internal ${DBUS_INTERNAL_LIBRARIES} ${EXPAT_LIBRARIES}) + +add_executable(dbus-daemon main.c) +target_link_libraries(dbus-daemon dbus-daemon-internal) +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 dbus-daemon ${INSTALL_TARGETS_DEFAULT_ARGS}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/session.conf DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/legacy-config/session.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1) +install(DIRECTORY DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/session.d) +install(DIRECTORY DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/services) + +if(NOT WIN32) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/system.conf DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/legacy-config/system.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1) + install(DIRECTORY DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/system.d) + install(DIRECTORY DESTINATION ${CMAKE_INSTALL_DATADIR}/dbus-1/system-services) + install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/run/dbus) +endif() + +if (DBUS_SERVICE) + set (dbus_service_SOURCES + bus-service-win.c + # TODO: add additional files + # service-main.c + # ${BUS_SOURCES} + ) + + set(DBUS_VER_INTERNAL_NAME "dbus-service") + set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}") + set(DBUS_VER_FILE_TYPE "VFT_APP") + configure_file(../dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) + list(APPEND dbus_service_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) + add_executable(dbus-service ${dbus_service_SOURCES} ) + target_link_libraries(dbus-service ${DBUS_INTERNAL_LIBRARIES} ${EXPAT_LIBRARIES}) + set_target_properties(dbus-service PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS}) + install(TARGETS dbus-service ${INSTALL_TARGETS_DEFAULT_ARGS}) +endif (DBUS_SERVICE) + +set(LAUNCH_HELPER_SOURCES + config-loader-expat.c + config-parser-common.c + config-parser-trivial.c + desktop-file.c + utils.c +) + +if(NOT WIN32) + add_library(launch-helper-internal STATIC ${LAUNCH_HELPER_SOURCES}) + target_link_libraries(launch-helper-internal ${DBUS_INTERNAL_LIBRARIES} ${EXPAT_LIBRARIES}) + + add_executable(dbus-daemon-launch-helper activation-helper.c activation-helper-bin.c ) + target_link_libraries(dbus-daemon-launch-helper launch-helper-internal) +endif(NOT WIN32) + +if(MSVC) + project_source_group(${GROUP_CODE} bus_test_SOURCES dummy) +endif(MSVC) + +## mop up the gcov files +#clean-local: +# /bin/rm *.bb *.bbg *.da *.gcov || true + +#install-data-hook: +# $(mkinstalldirs) $(DESTDIR)/$(localstatedir)/run/dbus +# $(mkinstalldirs) $(DESTDIR)/$(configdir)/system.d +# $(mkinstalldirs) $(DESTDIR)/$(datadir)/dbus-1/services + +##install_file(${configdir}/system.d FILE + +#### Init scripts fun +#SCRIPT_IN_FILES=messagebus.in +# rc.messagebus.in + +## Red Hat start +#if DBUS_INIT_SCRIPTS_RED_HAT + +#initddir=$(sysconfdir)/rc.d/init.d + +#initd_SCRIPTS= +# messagebus + +#endif +# ## Red Hat end + +## Slackware start +#if DBUS_INIT_SCRIPTS_SLACKWARE + +#initddir=$(sysconfdir)/rc.d/ + +#initd_SCRIPTS= +# rc.messagebus + +#endif +## Slackware end + +#MAN_IN_FILES=dbus-daemon.1.in +#man_MANS = dbus-daemon.1 + +#### Extra dist + +#EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) $(man_MANS) $(MAN_IN_FILES) |