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