dbus/cmake/bus CMakeLists.txt, NONE, 1.1 service.cmake, NONE,
1.1 session.conf.cmake, NONE, 1.1 system.conf.cmake, NONE, 1.1
Ralf Habacker
rhabacker at kemper.freedesktop.org
Sat Mar 3 06:32:20 PST 2007
Update of /cvs/dbus/dbus/cmake/bus
In directory kemper:/tmp/cvs-serv32371/cmake/bus
Added Files:
CMakeLists.txt service.cmake session.conf.cmake
system.conf.cmake
Log Message:
* cmake: new directory, contains cmake build support.
See http://www.cmake.org for more informations.
Currently only unix will be buildable because some
win32 required files are still missing.
--- NEW FILE: CMakeLists.txt ---
include_directories(${CMAKE_SOURCE_DIR}/..)
include_directories( ${CMAKE_INCLUDE_PATH} )
add_definitions(-DDBUS_COMPILATION)
SET(EFENCE "")
SET(BUS_DIR ${CMAKE_SOURCE_DIR}/../bus)
set (config_DATA
session.conf
system.conf
)
# 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)
# 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 "${CMAKE_SOURCE_DIR}/../${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_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)
# after next cvs update
#set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-default.c)
set (DIR_WATCH_SOURCE )
set (BUS_SOURCES
${BUS_DIR}/activation.c
${BUS_DIR}/activation.h
${BUS_DIR}/bus.c
${BUS_DIR}/bus.h
${BUS_DIR}/config-parser.c
${BUS_DIR}/config-parser.h
${BUS_DIR}/connection.c
${BUS_DIR}/connection.h
${BUS_DIR}/desktop-file.c
${BUS_DIR}/desktop-file.h
${BUS_DIR}/dir-watch.c
${BUS_DIR}/dir-watch.h
${BUS_DIR}/dispatch.c
${BUS_DIR}/dispatch.h
${BUS_DIR}/driver.c
${BUS_DIR}/driver.h
${BUS_DIR}/expirelist.c
${BUS_DIR}/expirelist.h
${BUS_DIR}/policy.c
${BUS_DIR}/policy.h
${BUS_DIR}/selinux.h
${BUS_DIR}/selinux.c
${BUS_DIR}/services.c
${BUS_DIR}/services.h
${BUS_DIR}/signals.c
${BUS_DIR}/signals.h
${BUS_DIR}/test.c
${BUS_DIR}/test.h
${BUS_DIR}/utils.c
${BUS_DIR}/utils.h
${XML_SOURCES}
${DIR_WATCH_SOURCE}
)
set (dbus_daemon_SOURCES
${BUS_SOURCES}
${BUS_DIR}/main.c
)
include_directories(${XML_INCLUDE_DIR})
SET (LIBS ${XML_LIBRARY})
add_executable(dbus-daemon ${dbus_daemon_SOURCES})
target_link_libraries(dbus-daemon dbus-1 ${LIBS})
install_targets(/bin dbus-daemon )
install_files(/etc FILES ${config_DATA})
if (DBUS_SERVICE)
set (dbus_service_SOURCES
${BUS_DIR}/bus-service-win.c
# TODO: add additional files
# ${BUS_DIR}/service-main.c
# ${BUS_SOURCES}
)
add_executable(dbus-service ${dbus_service_SOURCES} )
target_link_libraries(dbus-service dbus-1 ${LIBS})
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 ${bus_test_SOURCES})
target_link_libraries(bus-test dbus-1 ${LIBS} )
install_targets(/bin bus-test)
add_test(bus-test ${EXECUTABLE_OUTPUT_PATH}/bus-test ${CMAKE_SOURCE_DIR}/../test/data)
endif (DBUS_BUILD_TESTS)
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)
--- NEW FILE: service.cmake ---
[D-BUS Service]
Name=org.freedektop.DBus.ServiceName
Exec=notepad
--- NEW FILE: session.conf.cmake ---
<!-- This configuration file controls the per-user-login-session message bus.
Add a session-local.conf and edit that rather than changing this
file directly. -->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Our well-known bus type, don't change this -->
<type>session</type>
<listen>@DBUS_SESSION_BUS_DEFAULT_ADDRESS@</listen>
<standard_session_servicedirs />
<policy context="default">
<!-- Allow everything to be sent -->
<allow send_destination="*"/>
<!-- Allow everything to be received -->
<allow eavesdrop="true"/>
<!-- Allow anyone to own anything -->
<allow own="*"/>
</policy>
<!-- This is included last so local configuration can override what's
in this standard file -->
<include ignore_missing="yes">session-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
</busconfig>
--- NEW FILE: system.conf.cmake ---
<!-- This configuration file controls the systemwide message bus.
Add a system-local.conf and edit that rather than changing this
file directly. -->
<!-- Note that there are any number of ways you can hose yourself
security-wise by screwing up this file; in particular, you
probably don't want to listen on any more addresses, add any more
auth mechanisms, run as a different user, etc. -->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Our well-known bus type, do not change this -->
<type>system</type>
<!-- Run as special user -->
<user>@DBUS_USER@</user>
<!-- Fork into daemon mode -->
<fork/>
<!-- Write a pid file -->
<pidfile>@DBUS_SYSTEM_PID_FILE@</pidfile>
<!-- Only allow socket-credentials-based authentication -->
<auth>EXTERNAL</auth>
<!-- Only listen on a local socket. (abstract=/path/to/socket
means use abstract namespace, don't really create filesystem
file; only Linux supports this. Use path=/whatever on other
systems.) -->
<listen>@DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@</listen>
<policy context="default">
<!-- Deny everything then punch holes -->
<deny send_interface="*"/>
<deny receive_interface="*"/>
<deny own="*"/>
<!-- But allow all users to connect -->
<allow user="*"/>
<!-- Allow anyone to talk to the message bus -->
<!-- FIXME I think currently these allow rules are always implicit
even if they aren't in here -->
<allow send_destination="org.freedesktop.DBus"/>
<allow receive_sender="org.freedesktop.DBus"/>
<!-- valid replies are always allowed -->
<allow send_requested_reply="true"/>
<allow receive_requested_reply="true"/>
</policy>
<!-- Config files are placed here that among other things, punch
holes in the above policy for specific services. -->
<includedir>system.d</includedir>
<!-- This is included last so local configuration can override what's
in this standard file -->
<include ignore_missing="yes">system-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
</busconfig>
More information about the dbus-commit
mailing list