-
-include_directories(${CMAKE_SOURCE_DIR}/..)
-include_directories( ${CMAKE_INCLUDE_PATH} )
+project(bus)
add_definitions(-DDBUS_COMPILATION)
)
# config files for installation
-FOREACH(file ${config_DATA})
- CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/${file}.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${file}" IMMEDIATE @ONLY)
-ENDFOREACH(file)
+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)
# copy services for local daemon start to local service dir data/dbus-1/services
SET (SERVICE_FILES test/data/valid-service-files)
configure_file(${FILE} ${TARGET} )
ENDFOREACH(FILE)
-if(DBUS_USE_EXPAT)
- SET (XML_SOURCES ${BUS_DIR}/config-loader-expat.c)
-else(DBUS_USE_EXPAT)
- SET (XML_SOURCES ${BUS_DIR}/config-loader-libxml.c)
-endif (DBUS_USE_EXPAT)
+SET (XML_SOURCES ${BUS_DIR}/config-loader-expat.c)
-# after next cvs update
-#set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-default.c)
-set (DIR_WATCH_SOURCE )
+if (DBUS_BUS_ENABLE_INOTIFY)
+ set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-inotify.c)
+elseif (DBUS_BUS_ENABLE_KQUEUE)
+ set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-kqueue.c)
+else (DBUS_BUS_ENABLE_INOTIFY)
+ set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-default.c)
+endif (DBUS_BUS_ENABLE_INOTIFY)
set (BUS_SOURCES
${BUS_DIR}/activation.c
${BUS_DIR}/bus.c
${BUS_DIR}/bus.h
${BUS_DIR}/config-parser.c
- ${BUS_DIR}/config-parser.h
- ${BUS_DIR}/connection.c
+ ${BUS_DIR}/config-parser.h
+ ${BUS_DIR}/config-parser-common.c
+ ${BUS_DIR}/config-parser-common.h
+# ${BUS_DIR}/config-parser-trivial.c
+ ${BUS_DIR}/connection.c
${BUS_DIR}/connection.h
${BUS_DIR}/desktop-file.c
${BUS_DIR}/desktop-file.h
- ${BUS_DIR}/dir-watch-default.c
${BUS_DIR}/dir-watch.h
${BUS_DIR}/dispatch.c
${BUS_DIR}/dispatch.h
${XML_SOURCES}
${DIR_WATCH_SOURCE}
)
-
-set (dbus_daemon_SOURCES
- ${BUS_SOURCES}
- ${BUS_DIR}/main.c
-)
+if(DBUS_ENABLE_STATS)
+ list(APPEND BUS_SOURCES
+ ${BUS_DIR}/stats.c
+ ${BUS_DIR}/stats.h
+ )
+endif(DBUS_ENABLE_STATS)
include_directories(${XML_INCLUDE_DIR})
-SET (LIBS ${XML_LIBRARY})
-add_executable(dbus-daemon${CMAKE_EXE_POSTFIX} ${dbus_daemon_SOURCES})
-target_link_libraries(dbus-daemon${CMAKE_EXE_POSTFIX} dbus-1 ${LIBS})
-install_targets(/bin dbus-daemon${CMAKE_EXE_POSTFIX} )
-install_files(/etc FILES ${config_DATA})
+add_executable(dbus-daemon ${BUS_SOURCES} ${BUS_DIR}/main.c)
+target_link_libraries(dbus-daemon ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+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")
if (DBUS_SERVICE)
set (dbus_service_SOURCES
${BUS_DIR}/bus-service-win.c
- # TODO: add additional files
+ # TODO: add additional files
# ${BUS_DIR}/service-main.c
# ${BUS_SOURCES}
)
- add_executable(dbus-service${CMAKE_EXE_POSTFIX} ${dbus_service_SOURCES} )
- target_link_libraries(dbus-service${CMAKE_EXE_POSTFIX} dbus-1 ${LIBS})
- install_targets(/bin dbus-service${CMAKE_EXE_POSTFIX} )
-
+ add_executable(dbus-service ${dbus_service_SOURCES} )
+ target_link_libraries(dbus-service ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+ set_target_properties(dbus-service PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
+ install_targets(/bin dbus-service )
endif (DBUS_SERVICE)
-## note that TESTS has special meaning (stuff to use in make check)
-## so if adding tests not to be run in make check, don't add them to
-## TESTS
-#if DBUS_BUILD_TESTS
-#TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus
-#TESTS=bus-test
-#else
-#TESTS=
-#endif
-
-## we use noinst_PROGRAMS not check_PROGRAMS so that we build
-## even when not doing "make check"
-#noinst_PROGRAMS=$(TESTS)
-
-set (bus_test_SOURCES
- ${BUS_SOURCES}
- ${BUS_DIR}/test-main.c
-)
-
-if (DBUS_BUILD_TESTS)
- add_executable(bus-test${CMAKE_EXE_POSTFIX} ${bus_test_SOURCES})
- target_link_libraries(bus-test${CMAKE_EXE_POSTFIX} dbus-1 ${LIBS} )
- install_targets(/bin bus-test${CMAKE_EXE_POSTFIX})
- add_test(bus-test ${EXECUTABLE_OUTPUT_PATH}/bus-test${CMAKE_EXE_POSTFIX} ${CMAKE_SOURCE_DIR}/../test/data)
-endif (DBUS_BUILD_TESTS)
+if (DBUS_ENABLE_EMBEDDED_TESTS)
+ add_executable(bus-test ${BUS_SOURCES} ${BUS_DIR}/test-main.c)
+ target_link_libraries(bus-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+ set_target_properties(bus-test PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
+ add_test(bus-test ${EXECUTABLE_OUTPUT_PATH}/bus-test ${CMAKE_BINARY_DIR}/test/data)
+endif (DBUS_ENABLE_EMBEDDED_TESTS)
if(MSVC)
project_source_group(${GROUP_CODE} bus_test_SOURCES dummy)
##install_file(${configdir}/system.d FILE
+set(LAUNCH_HELPER_SOURCES ${XML_SOURCES}
+ ${BUS_DIR}/config-parser-common.c
+ ${BUS_DIR}/config-parser-trivial.c
+ ${BUS_DIR}/desktop-file.c
+ ${BUS_DIR}/utils.c
+ ${BUS_DIR}/activation-helper.c
+
+)
+
+if(NOT WIN32)
+# TODO PENDING(kdab) fix build on windows (activation-helper.c)
+ add_executable(dbus-daemon-launch-helper ${LAUNCH_HELPER_SOURCES} ${BUS_DIR}/activation-helper-bin.c )
+ target_link_libraries(dbus-daemon-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+
+ add_executable(dbus-daemon-launch-helper-test ${LAUNCH_HELPER_SOURCES} ${BUS_DIR}/activation-helper-bin.c)
+ set_target_properties(dbus-daemon-launch-helper-test PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST")
+ target_link_libraries(dbus-daemon-launch-helper-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+
+ add_executable(bus-test-launch-helper ${LAUNCH_HELPER_SOURCES} ${BUS_DIR}/test-launch-helper.c)
+ set_target_properties(bus-test-launch-helper PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST -DACTIVATION_LAUNCHER_DO_OOM")
+ target_link_libraries(bus-test-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+ add_test(bus-test-launch-helper ${EXECUTABLE_OUTPUT_PATH}/bus-test-launch-helper )
+
+endif(NOT WIN32)
#### Init scripts fun
#SCRIPT_IN_FILES=messagebus.in