summaryrefslogtreecommitdiffstats
path: root/src/modules/Unity/Application/CMakeLists.txt
blob: eaf5478eb98db1a840fe0b607399aecfa13ed428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
include_directories(
    ${GLIB_INCLUDE_DIRS}
    ${GIO_INCLUDE_DIRS}
    ${GIO_UNIX_INCLUDE_DIRS}
    ${MIRSERVER_INCLUDE_DIRS}
    ${PROCESS_CPP_INCLUDE_DIRS}
    ${UBUNTU_PLATFORM_API_INCLUDE_DIRS}
    ${UBUNTU_APP_LAUNCH_INCLUDE_DIRS}
    ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
    ${CMAKE_SOURCE_DIR}/src/common
    ${GSETTINGS_QT_INCLUDE_DIRS}

    ${LTTNG_INCLUDE_DIRS}
    ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
    ${Qt5Qml_PRIVATE_INCLUDE_DIRS}
    ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
)

# We have to remove -pedantic in order to compile tracepoints.c
string (REPLACE " -pedantic " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
# Needed to compile tracepoints in C99 mode.
add_definitions(-DBYTE_ORDER=__BYTE_ORDER)

set(QMLMIRPLUGIN_SRC
    application_manager.cpp
    application.cpp
    ../../../common/abstractdbusservicemonitor.cpp
    ../../../common/debughelpers.cpp
    desktopfilereader.cpp
    plugin.cpp
    applicationscreenshotprovider.cpp
    dbuswindowstack.cpp
    taskcontroller.cpp
    mirsurfacemanager.cpp
    ubuntukeyboardinfo.cpp
    mirsurfaceitem.cpp
    mirbuffersgtexture.cpp
    proc_info.cpp
    session.cpp
    sessionmanager.cpp
    sharedwakelock.cpp
    upstart/applicationcontroller.cpp
    tracepoints.c
    settings.cpp
# We need to run moc on these headers
    ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
    ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
# Feed the automoc monster
    mirsurfaceiteminterface.h
    session_interface.h
    applicationcontroller.h
    settings_interface.h
    )

add_library(unityapplicationplugin SHARED
    ${QMLMIRPLUGIN_SRC}
)

target_link_libraries(
    unityapplicationplugin

    ${CMAKE_THREAD_LIBS_INIT}

    ${GLIB_LDFLAGS}
    ${UBUNTU_PLATFORM_API_LDFLAGS}
    ${MIRSERVER_LDFLAGS}
    ${PROCESS_CPP_LDFLAGS}
    ${UBUNTU_APP_LAUNCH_LDFLAGS}
    ${LTTNG_LDFLAGS}
    ${GSETTINGS_QT_LDFLAGS}

    ${GL_LIBRARIES}

    Qt5::Core
    Qt5::DBus
    Qt5::Qml
    Qt5::Quick

    qpa-mirserver
)

# Generate tracepoints.c and .h from tracepoints.tp
include(UseLttngGenTp)
add_lttng_gen_tp(NAME tracepoints)


# install
add_qml_plugin(Unity.Application 0.1 Unity/Application TARGETS unityapplicationplugin)
install(FILES com.canonical.qtmir.gschema.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/glib-2.0/schemas)