blob: 2bc4452d6100b6c3e836b866a584d1dfb999122d (
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
91
|
set (SERVICE_LIB "indicatordatetimeservice")
if (ENABLE_LOMIRI_FEATURES)
set (INDICATOR_VARIANT_NAME "lomiri-indicator-datetime")
else ()
set (INDICATOR_VARIANT_NAME "${CMAKE_PROJECT_NAME}")
endif ()
add_definitions (-DG_LOG_DOMAIN="${INDICATOR_VARIANT_NAME}")
set (SERVICE_EXEC "${INDICATOR_VARIANT_NAME}-service")
# handwritten sources
set (SERVICE_C_SOURCES
utils.c)
set (SERVICE_CXX_SOURCES
actions.cpp
actions-live.cpp
alarm-queue-simple.cpp
awake.cpp
appointment.cpp
clock.cpp
clock-live.cpp
date-time.cpp
exporter.cpp
formatter.cpp
formatter-desktop.cpp
haptic.cpp
locations.cpp
locations-settings.cpp
menu.cpp
myself.cpp
notifications.cpp
planner.cpp
planner-aggregate.cpp
planner-snooze.cpp
planner-month.cpp
planner-range.cpp
planner-upcoming.cpp
settings-live.cpp
snap.cpp
sound.cpp
timezone-geoclue.cpp
timezones-live.cpp
timezone-timedated.cpp
utils.c
wakeup-timer-mainloop.cpp
wakeup-timer-powerd.cpp)
if (ENABLE_LOMIRI_FEATURES)
list (APPEND SERVICE_CXX_SOURCES engine-mkcal.cpp)
else ()
list (APPEND SERVICE_CXX_SOURCES engine-eds.cpp)
endif()
# generated sources
include (GdbusCodegen)
set(SERVICE_GENERATED_SOURCES)
add_gdbus_codegen(SERVICE_GENERATED_SOURCES dbus-alarm-properties
org.ayatana.indicator
${CMAKE_SOURCE_DIR}/data/org.ayatana.indicator.datetime.AlarmProperties.xml)
if (ENABLE_LOMIRI_FEATURES)
add_gdbus_codegen(SERVICE_GENERATED_SOURCES dbus-accounts-sound
com.lomiri.touch
/usr/share/accountsservice/interfaces/com.lomiri.touch.AccountsService.Sound.xml)
endif()
# add the bin dir to our include path so our code can find the generated header files
include_directories (${CMAKE_CURRENT_BINARY_DIR})
set_source_files_properties (engine-eds.cpp PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -Wno-enum-constexpr-conversion")
add_library (${SERVICE_LIB} STATIC ${SERVICE_C_SOURCES} ${SERVICE_CXX_SOURCES} ${SERVICE_GENERATED_SOURCES})
pkg_check_modules (LIBNOTIFY libnotify REQUIRED)
if (LIBNOTIFY_VERSION VERSION_GREATER_EQUAL "0.8.4")
target_compile_definitions (${SERVICE_LIB} PUBLIC LIBNOTIFY_HAS_SET_APP_ICON)
endif()
include_directories (${CMAKE_SOURCE_DIR})
link_directories (${SERVICE_DEPS_LIBRARY_DIRS})
if (ENABLE_LOMIRI_FEATURES)
set_source_files_properties (engine-mkcal.cpp PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations")
target_link_libraries (${SERVICE_LIB} KF5::CalendarCore)
target_compile_definitions (${SERVICE_LIB} PRIVATE -DQT_DEBUG -DQT_MESSAGELOGCONTEXT)
endif ()
add_executable (${SERVICE_EXEC} main.cpp)
target_link_libraries (${SERVICE_EXEC} ${SERVICE_LIB} ${SERVICE_DEPS_LIBRARIES})
install (TARGETS ${SERVICE_EXEC} RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/${INDICATOR_VARIANT_NAME}")
|