Revert "made session service dirs customizable: cmake part"
[platform/upstream/dbus.git] / cmake / bus / CMakeLists.txt
1 project(bus)
2
3 add_definitions(-DDBUS_COMPILATION)
4
5 SET(EFENCE "")
6 SET(BUS_DIR ${CMAKE_SOURCE_DIR}/../bus)
7
8 set (config_DATA
9         session.conf                            
10         system.conf
11 )
12
13 # config files for installation 
14 CONFIGURE_FILE( "${BUS_DIR}/session.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/session.conf" IMMEDIATE @ONLY)
15 CONFIGURE_FILE( "system.conf.cmake" "${CMAKE_CURRENT_BINARY_DIR}/system.conf" IMMEDIATE @ONLY)
16
17 # copy services for local daemon start to local service dir data/dbus-1/services
18 SET (SERVICE_FILES test/data/valid-service-files)
19 FILE(GLOB FILES "${CMAKE_SOURCE_DIR}/../${SERVICE_FILES}/*.service.in" )
20 FOREACH(FILE ${FILES})  
21         GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME_WE)
22         SET (TARGET ${CMAKE_BINARY_DIR}/data/dbus-1/services/${FILENAME}.service)
23         IF (CONFIG_VERBOSE)
24                 MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n")
25         ENDIF (CONFIG_VERBOSE)
26         configure_file(${FILE} ${TARGET} )
27 ENDFOREACH(FILE)
28
29 if(DBUS_USE_EXPAT)
30     SET (XML_SOURCES ${BUS_DIR}/config-loader-expat.c)
31 else(DBUS_USE_EXPAT)
32     SET (XML_SOURCES ${BUS_DIR}/config-loader-libxml.c)
33 endif (DBUS_USE_EXPAT)
34
35 # after next cvs update
36 #set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-default.c)
37 set (DIR_WATCH_SOURCE )
38
39 set (BUS_SOURCES 
40         ${BUS_DIR}/activation.c                         
41         ${BUS_DIR}/activation.h                         
42         ${BUS_DIR}/bus.c                                        
43         ${BUS_DIR}/bus.h                                        
44         ${BUS_DIR}/config-parser.c                              
45         ${BUS_DIR}/config-parser.h
46     ${BUS_DIR}/config-parser-common.c
47     ${BUS_DIR}/config-parser-common.h
48 #    ${BUS_DIR}/config-parser-trivial.c
49         ${BUS_DIR}/connection.c
50         ${BUS_DIR}/connection.h                         
51         ${BUS_DIR}/desktop-file.c                               
52         ${BUS_DIR}/desktop-file.h                               
53         ${BUS_DIR}/dir-watch-default.c                          
54         ${BUS_DIR}/dir-watch.h                          
55         ${BUS_DIR}/dispatch.c                           
56         ${BUS_DIR}/dispatch.h                           
57         ${BUS_DIR}/driver.c                             
58         ${BUS_DIR}/driver.h                             
59         ${BUS_DIR}/expirelist.c                         
60         ${BUS_DIR}/expirelist.h                         
61         ${BUS_DIR}/policy.c                             
62         ${BUS_DIR}/policy.h                             
63         ${BUS_DIR}/selinux.h                            
64         ${BUS_DIR}/selinux.c                            
65         ${BUS_DIR}/services.c                           
66         ${BUS_DIR}/services.h                           
67         ${BUS_DIR}/signals.c                            
68         ${BUS_DIR}/signals.h                            
69         ${BUS_DIR}/test.c                                       
70         ${BUS_DIR}/test.h                                       
71         ${BUS_DIR}/utils.c                                      
72         ${BUS_DIR}/utils.h                                      
73         ${XML_SOURCES}
74         ${DIR_WATCH_SOURCE}
75 )
76 if(DBUS_ENABLE_STATS)
77         list(APPEND BUS_SOURCES
78                 ${BUS_DIR}/stats.c
79                 ${BUS_DIR}/stats.h
80         )
81 endif()
82
83 include_directories(${XML_INCLUDE_DIR})
84
85 add_executable(dbus-daemon ${BUS_SOURCES} ${BUS_DIR}/main.c)
86 target_link_libraries(dbus-daemon ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
87 set_target_properties(dbus-daemon PROPERTIES OUTPUT_NAME ${DBUS_DAEMON_NAME})
88 set_target_properties(dbus-daemon PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
89
90 install_targets(/bin dbus-daemon)
91 install_files(/etc/dbus-1 FILES ${config_DATA})
92 install(DIRECTORY .  DESTINATION etc/dbus-1/session.d  FILES_MATCHING PATTERN "*.conf")
93
94 if (DBUS_SERVICE)
95         set (dbus_service_SOURCES 
96                 ${BUS_DIR}/bus-service-win.c
97         # TODO: add additional files
98         #       ${BUS_DIR}/service-main.c
99         #       ${BUS_SOURCES} 
100         )
101
102         add_executable(dbus-service ${dbus_service_SOURCES} )
103         target_link_libraries(dbus-service ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
104         set_target_properties(dbus-service PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
105         install_targets(/bin dbus-service )
106 endif (DBUS_SERVICE)
107
108 if (DBUS_BUILD_TESTS)   
109         add_executable(bus-test ${BUS_SOURCES} ${BUS_DIR}/test-main.c)
110         target_link_libraries(bus-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
111         set_target_properties(bus-test PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
112         add_test(bus-test ${EXECUTABLE_OUTPUT_PATH}/bus-test ${CMAKE_BINARY_DIR}/test/data)
113 endif (DBUS_BUILD_TESTS)
114
115 if(MSVC)
116         project_source_group(${GROUP_CODE} bus_test_SOURCES dummy)
117 endif(MSVC)
118
119 ## mop up the gcov files
120 #clean-local:
121 #       /bin/rm *.bb *.bbg *.da *.gcov || true
122
123 #install-data-hook:
124 #       $(mkinstalldirs) $(DESTDIR)/$(localstatedir)/run/dbus
125 #       $(mkinstalldirs) $(DESTDIR)/$(configdir)/system.d
126 #       $(mkinstalldirs) $(DESTDIR)/$(datadir)/dbus-1/services
127
128 ##install_file(${configdir}/system.d FILE
129
130
131 set(LAUNCH_HELPER_SOURCES ${XML_SOURCES}
132     ${BUS_DIR}/config-parser-common.c
133     ${BUS_DIR}/config-parser-trivial.c
134     ${BUS_DIR}/desktop-file.c
135     ${BUS_DIR}/utils.c
136     ${BUS_DIR}/activation-helper.c
137
138 )
139
140 if(NOT WIN32)
141 # TODO PENDING(kdab) fix build on windows (activation-helper.c)
142    add_executable(dbus-daemon-launch-helper ${LAUNCH_HELPER_SOURCES} ${BUS_DIR}/activation-helper-bin.c )
143    target_link_libraries(dbus-daemon-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
144    
145    add_executable(dbus-daemon-launch-helper-test ${LAUNCH_HELPER_SOURCES}     ${BUS_DIR}/activation-helper-bin.c)
146    set_target_properties(dbus-daemon-launch-helper-test PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST")
147    target_link_libraries(dbus-daemon-launch-helper-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
148    
149    add_executable(bus-test-launch-helper ${LAUNCH_HELPER_SOURCES}  ${BUS_DIR}/test-launch-helper.c)
150    set_target_properties(bus-test-launch-helper PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST -DACTIVATION_LAUNCHER_DO_OOM")
151    target_link_libraries(bus-test-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
152    add_test(bus-test-launch-helper ${EXECUTABLE_OUTPUT_PATH}/bus-test-launch-helper )
153
154 endif(NOT WIN32)
155
156 #### Init scripts fun
157 #SCRIPT_IN_FILES=messagebus.in
158 #               rc.messagebus.in
159
160 ## Red Hat start
161 #if DBUS_INIT_SCRIPTS_RED_HAT
162
163 #initddir=$(sysconfdir)/rc.d/init.d
164
165 #initd_SCRIPTS=         
166 #       messagebus
167
168 #endif
169 # ## Red Hat end
170
171 ## Slackware start
172 #if DBUS_INIT_SCRIPTS_SLACKWARE
173
174 #initddir=$(sysconfdir)/rc.d/
175
176 #initd_SCRIPTS=         
177 #       rc.messagebus
178
179 #endif
180 ## Slackware end
181
182 #MAN_IN_FILES=dbus-daemon.1.in
183 #man_MANS = dbus-daemon.1
184
185 #### Extra dist 
186
187 #EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) $(man_MANS) $(MAN_IN_FILES)