on bbbdccd help sign in
55 lines 2.2 kB history raw
1if(DEFINED ENV{DEB_BUILD_MULTIARCH})
2 set(QDBUSXML2CPP_EXECUTABLE "/usr/lib/$ENV{DEB_BUILD_MULTIARCH}/qt5/bin/qdbusxml2cpp")
3else()
4 FIND_PROGRAM(QDBUSXML2CPP_EXECUTABLE qdbusxml2cpp)
5endif()
6macro(make_dbus_class NAME INTERFACE)
7 if(${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor.h)
8 execute_process(COMMAND ${QDBUSXML2CPP_EXECUTABLE} -c ${NAME}Adaptor -a ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor ${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml ${INTERFACE})
9 endif()
10endmacro(make_dbus_class)
12make_dbus_class(Accounts org.freedesktop.Accounts)
13make_dbus_class(Properties org.freedesktop.DBus.Properties)
14make_dbus_class(SecurityPrivacy com.ubuntu.touch.AccountsService.SecurityPrivacy)
15make_dbus_class(Location com.ubuntu.location.providers.here.AccountsService)
16make_dbus_class(AccountsUser org.freedesktop.Accounts.User)
17make_dbus_class(AccountsPrivate com.canonical.unity.AccountsService.Private)
19include_directories(
20 ${CMAKE_CURRENT_BINARY_DIR}
21 ${CMAKE_SOURCE_DIR}/plugins/AccountsService
22 )
24add_definitions(-DSM_BUSNAME=sessionBus)
26add_executable(mock-server
27 ${CMAKE_CURRENT_BINARY_DIR}/AccountsAdaptor.cpp
28 ${CMAKE_CURRENT_BINARY_DIR}/AccountsPrivateAdaptor.cpp
29 ${CMAKE_CURRENT_BINARY_DIR}/AccountsUserAdaptor.cpp
30 ${CMAKE_CURRENT_BINARY_DIR}/PropertiesAdaptor.cpp
31 ${CMAKE_CURRENT_BINARY_DIR}/LocationAdaptor.cpp
32 ${CMAKE_CURRENT_BINARY_DIR}/SecurityPrivacyAdaptor.cpp
33 server.cpp
34 AccountsServer.cpp
35 PropertiesServer.cpp
36 )
37qt5_use_modules(mock-server Core DBus)
39add_executable(test-accountsservice
40 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsService.cpp
41 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
42 client.cpp
43 )
44qt5_use_modules(test-accountsservice Core DBus Test)
46add_unity8_unittest(AccountsService dbus-test-runner
47 ARG_PREFIX "--parameter"
48 ARGS
49 --task $<TARGET_FILE:mock-server>
50 --task-name server
51 --ignore-return
52 --task $<TARGET_FILE:test-accountsservice>
53 --task-name client
54 --wait-for org.freedesktop.Accounts
55 )