cmake: align dir watch backend detection with autotools
[platform/upstream/dbus.git] / cmake / bus / CMakeLists.txt
index 059b841..6fa19f2 100644 (file)
@@ -11,9 +11,11 @@ set (config_DATA
 )
 
 # 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)
@@ -27,15 +29,15 @@ FOREACH(FILE ${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                         
@@ -44,14 +46,13 @@ set (BUS_SOURCES
        ${BUS_DIR}/bus.h                                        
        ${BUS_DIR}/config-parser.c                              
        ${BUS_DIR}/config-parser.h
-    ${BUS_DIR}/config-parser-common.c
-    ${BUS_DIR}/config-parser-common.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                           
@@ -74,24 +75,23 @@ set (BUS_SOURCES
        ${XML_SOURCES}
        ${DIR_WATCH_SOURCE}
 )
+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})
-
-if(splitlib AND MSVC)
-       add_library(bus-lib STATIC ${BUS_SOURCES})
-       add_executable(dbus-daemon ${BUS_DIR}/main.c)
-       target_link_libraries(dbus-daemon ${DBUS_1} ${LIBS} bus-lib)
-else(splitlib AND MSVC)
-       add_executable(dbus-daemon ${BUS_SOURCES} ${BUS_DIR}/main.c)
-       target_link_libraries(dbus-daemon ${DBUS_1} ${LIBS})
-endif(splitlib AND MSVC)
-if(WIN32)
-    set_target_properties(dbus-daemon PROPERTIES DEBUG_POSTFIX d)
-endif(WIN32)
+
+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 FILES ${config_DATA})
+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 
@@ -102,36 +102,15 @@ if (DBUS_SERVICE)
        )
 
        add_executable(dbus-service ${dbus_service_SOURCES} )
-       target_link_libraries(dbus-service ${DBUS_1} ${LIBS})
+       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 )
-       if(WIN32)
-          set_target_properties(dbus-service PROPERTIES DEBUG_POSTFIX d)
-    endif(WIN32)
 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) 
-
 if (DBUS_BUILD_TESTS)  
-       if(splitlib AND MSVC)
-               add_executable(bus-test ${BUS_DIR}/test-main.c)
-               target_link_libraries(bus-test ${DBUS_1} ${LIBS} bus-lib)
-       else(splitlib AND MSVC)
-               add_executable(bus-test ${BUS_SOURCES} ${BUS_DIR}/test-main.c)
-               target_link_libraries(bus-test ${DBUS_1} ${LIBS})
-       endif(splitlib AND MSVC)
-       #install_targets(/bin bus-test)
+       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_BUILD_TESTS)
 
@@ -163,15 +142,15 @@ set(LAUNCH_HELPER_SOURCES ${XML_SOURCES}
 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_1} ${LIBS} )
+   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_1} ${LIBS} )
+   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_1} ${LIBS} )
+   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)