File: CMakeLists.txt

package info (click to toggle)
libusermetrics 1.3.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,324 kB
  • sloc: cpp: 7,182; xml: 131; sh: 106; ansic: 60; makefile: 26
file content (148 lines) | stat: -rw-r--r-- 3,690 bytes parent folder | download
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
cmake_minimum_required(VERSION 3.5.)

project(libusermetrics VERSION 1.3.3 LANGUAGES CXX)

option (ENABLE_TESTS "Enable testing" ON)

set(API_VERSION 1)
set(ABI_VERSION 1)

set(GETTEXT_PACKAGE libusermetrics)
add_definitions(
	-DGETTEXT_PACKAGE="${GETTEXT_PACKAGE}"
)

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")

find_package(PkgConfig REQUIRED)

find_package(Qt5Core REQUIRED)
include_directories(${Qt5Core_INCLUDE_DIRS})

find_package(Qt5Gui REQUIRED)
include_directories(${Qt5Gui_INCLUDE_DIRS})

find_package(Qt5DBus COMPONENTS Qt5DBusMacros REQUIRED)
include_directories(${Qt5DBus_INCLUDE_DIRS})

find_package(Qt5Sql REQUIRED)
include_directories(${Qt5Sql_INCLUDE_DIRS})

find_package(Qt5XmlPatterns REQUIRED)
include_directories(${Qt5XmlPatterns_INCLUDE_DIRS})

pkg_check_modules(APPARMOR REQUIRED libapparmor REQUIRED)
include_directories(${APPARMOR_INCLUDE_DIRS})

pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt REQUIRED)
include_directories(${GSETTINGS_QT_INCLUDE_DIRS})

find_package(Qt5Test REQUIRED)
include_directories(${Qt5Test_INCLUDE_DIRS})

find_package(Qt5Qml REQUIRED)
include_directories(${Qt5Qml_INCLUDE_DIRS})

find_package(Qt5Quick REQUIRED)
include_directories(${Qt5Quick_INCLUDE_DIRS})

find_package(Qt5QuickTest REQUIRED)
include_directories(${Qt5QuickTest_INCLUDE_DIRS})

find_package(Intl REQUIRED)

pkg_check_modules(GLIB2 REQUIRED glib-2.0)
include_directories(${GLIB2_INCLUDE_DIRS})

pkg_check_modules(GOBJECT2 REQUIRED gobject-2.0)
include_directories(${GOBJECT2_INCLUDE_DIRS})

option(ENABLE_CLICK "Build with support for click packages" ON)
if(${ENABLE_CLICK})
  pkg_check_modules(CLICK click-0.4 REQUIRED)
  include_directories(${CLICK_INCLUDE_DIRS})
  add_definitions(-DCLICK_ENABLED=1)
endif(${ENABLE_CLICK})

pkg_check_modules(QDJANGO_DB REQUIRED qdjango-db REQUIRED)
include_directories(${QDJANGO_DB_INCLUDE_DIRS})

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/data")

set(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
set(INCLUDE_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/include")
include_directories(${INCLUDE_DIR})
include_directories(${INCLUDE_BINARY_DIR})

set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(SOURCE_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/src")


include(GNUInstallDirs)

# FIX: Qt was built with -reduce-relocations
if (Qt5_POSITION_INDEPENDENT_CODE)
  SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()

add_definitions(
	-std=c++17
	-fno-permissive
	-pedantic
	-Wall
	-Wextra
	-DLOCALEDIR="${CMAKE_INSTALL_FULL_DATADIR}/locale"
)


add_subdirectory("doc")
add_subdirectory("po")
add_subdirectory("src")
add_subdirectory("data")


if(ENABLE_TESTS)
enable_testing()

pkg_check_modules(QTDBUSTEST REQUIRED libqtdbustest-1 REQUIRED)
include_directories(${QTDBUSTEST_INCLUDE_DIRS})

add_subdirectory(tests)

ADD_CUSTOM_TARGET(
	check
	${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure
)

find_package(CoverageReport)
enable_coverage_report(
  TARGETS
    usermetrics-test-utils
    usermetricscommon
    usermetricsinput
    usermetricsinput-static
    usermetricsinput-integration-tests
    usermetricsinput-unit-tests
    usermetricsoutput
    usermetricsoutput-integration-tests
    usermetricsoutput-static
    usermetricsoutput-unit-tests
    usermetricsservice
    usermetricsservice-bin
    usermetricsservice-unit-tests
  FILTER
    ${CMAKE_SOURCE_DIR}/tests/*
    ${CMAKE_BINARY_DIR}/*
  TESTS
    usermetrics-test-utils
    usermetricsinput-integration-tests
    usermetricsinput-unit-tests
    usermetricsoutput-integration-tests
    usermetricsoutput-unit-tests
    usermetricsservice-unit-tests
)

endif()