~ubuntuone-control-tower/unity-scope-click/trunk

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
project(unity-scope-click)

cmake_minimum_required(VERSION 2.8.10)

set(SCOPE_CLICK_VERSION_MAJOR 0)
set(SCOPE_CLICK_VERSION_MINOR 0)
set(SCOPE_CLICK_VERSION_PATCH 1)

# Some default CFLAGS
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -Wall -Wextra -Werror -fPIC")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -g -Wextra -Wall -Werror -Werror=conversion-null -Wno-ignored-qualifiers -fPIC")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

include(GNUInstallDirs)

set(APPS_LIB_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/unity-scopes/clickapps/)
set(APPS_DATA_DIR ${CMAKE_INSTALL_FULL_DATADIR}/unity/scopes/clickapps/)

find_program(INTLTOOL_MERGE intltool-merge)

find_package (GSettings)
find_package (GMock)
find_package (PkgConfig REQUIRED)

pkg_check_modules(UAL REQUIRED ubuntu-app-launch-3 gobject-2.0)
add_definitions(${UAL_CFLAGS} ${UAL_CFLAGS_OTHER})

pkg_check_modules(UNITY_SCOPES REQUIRED libunity-scopes>=0.6.7 libunity-api>=0.1.3)
add_definitions(${UNITY_SCOPES_CFLAGS} ${UNITY_SCOPES_CFLAGS_OTHER})

# Uncomment to enable network timings messages via stderr
# add_definitions(-DNETWORK_TIMINGS)

pkg_check_modules(UBUNTUONE REQUIRED ubuntuoneauth-2.0>=15.10)
add_definitions(${UBUNTUONE_CFLAGS} ${UBUNTUONE_CFLAGS_OTHER})

SET (SCOPE_LIB_VERSION 0.2.0)
SET (SCOPE_LIB_SOVERSION 0)
SET (SCOPE_LIB_API_VERSION 2.0)
SET (SCOPE_LIB_NAME clickscope)
SET (APPS_LIB_UNVERSIONED scope)
SET (APPS_LIB_NAME ${APPS_LIB_UNVERSIONED}-${SCOPE_LIB_API_VERSION})

# Add our own subdirectories.
add_subdirectory(tests)
add_subdirectory(libclickscope)
add_subdirectory(scope)
add_subdirectory(data)
add_subdirectory(po)
add_subdirectory(tools)

find_package(CoverageReport)
ENABLE_COVERAGE_REPORT(TARGETS ${SCOPE_LIB_NAME} ${APPS_LIB_UNVERSIONED}
  TESTS libclick-scope-tests apps-scope-tests init-departments
  FILTER /usr/include ${CMAKE_BINARY_DIR}/*
)

# Custom targets for the tests
add_custom_target (test
  DEPENDS test-apps-scope test-libclickscope test-integration-harness
)

add_custom_target (test-disabled
  DEPENDS test-click-scope-disabled
)

# Add a custom target for integration tests, as they should not be run
# during normal make test.
add_custom_target (test-integration
  DEPENDS test-integration-click-scope
)

# Add a custom target for running the tests under valgrind.
add_custom_target (test-valgrind
  DEPENDS test-click-scope-valgrind test-apps-scope-valgrind test-libclickscope-valgrind
)

# Add a custom target for running the tests under valgrind with the
# full leak checks enabled.
add_custom_target (test-leaks
  DEPENDS test-click-scope-leaks test-apps-scope-leaks test-libclickscope-leaks
)

# Also let "make check" and partners work.
add_custom_target (check
  DEPENDS test
)

add_custom_target (check-integration
  DEPENDS test-integration
)

add_custom_target (check-valgrind
  DEPENDS test-valgrind
)

add_custom_target (check-leaks
  DEPENDS test-leaks
)