on dc3a20d help sign in
unity8/tests/plugins/Unity/Session/CMakeLists.txt
72 lines 2.4 kB history raw
1macro(make_dbus_class NAME INTERFACE)
2 if(${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor.h)
3 execute_process(COMMAND ${QDBUSXML2CPP_EXECUTABLE} -c ${NAME}Adaptor -a ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor ${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml ${INTERFACE})
4 endif()
5endmacro(make_dbus_class)
7make_dbus_class(LightDMSession org.freedesktop.DisplayManager.Session)
8make_dbus_class(LogindManager org.freedesktop.login1.Manager)
9make_dbus_class(LogindSession org.freedesktop.login1.Session)
11include_directories(
12 ${CMAKE_CURRENT_BINARY_DIR}
13 ${CMAKE_SOURCE_DIR}/plugins/Unity/Session
14 ${libunity8-private_SOURCE_DIR}
15 ${GLIB_INCLUDE_DIRS}
18add_definitions(-DSM_BUSNAME=sessionBus)
19add_definitions(-DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
20add_definitions(-DSESSION_TESTING)
22### LightDMServer
23add_executable(LightDMServer
24 ${CMAKE_CURRENT_BINARY_DIR}/LightDMSessionAdaptor.cpp
25 ${CMAKE_CURRENT_BINARY_DIR}/LogindManagerAdaptor.cpp
26 ${CMAKE_CURRENT_BINARY_DIR}/LogindSessionAdaptor.cpp
27 LightDMServer.cpp
28 LogindServer.cpp
29 server.cpp
31qt5_use_modules(LightDMServer Core DBus)
32install(TARGETS LightDMServer
33 DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
34 )
36### Preload
37add_library(SessionBackendTestPreload SHARED
38 preload.c
40target_link_libraries(SessionBackendTestPreload
41 ${GLIB_LIBRARIES}
42 )
43install(TARGETS SessionBackendTestPreload
44 DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
45 )
47### SessionBackendTest
48add_executable(sessionbackendtestExec
49 sessionbackendtest.cpp
50 ${CMAKE_SOURCE_DIR}/plugins/Unity/Session/dbusunitysessionservice.cpp
52target_link_libraries(sessionbackendtestExec
53 unity8-private
54 ${GLIB_LIBRARIES}
55 )
56qt5_use_modules(sessionbackendtestExec Test Core Qml DBus)
57install(TARGETS sessionbackendtestExec
58 DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
61add_unity8_unittest(SessionBackend dbus-test-runner
62 ENVIRONMENT LD_PRELOAD=$<TARGET_FILE:SessionBackendTestPreload>
63 XDG_SESSION_PATH=/session
64 ARG_PREFIX "--parameter"
65 ARGS
66 --task $<TARGET_FILE:LightDMServer>
67 --task-name server
68 --ignore-return
69 --task $<TARGET_FILE:sessionbackendtestExec>
70 --task-name client
71 --wait-for org.freedesktop.DisplayManager