summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 823185f3c4e25474f65631c2c0dbccef65f06ac8 (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
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(capi-network-ua C CXX)

SET(PREFIX ${CMAKE_INSTALL_PREFIX})

SET(INC_DIR include)
INCLUDE_DIRECTORIES(${INC_DIR})

INCLUDE(FindPkgConfig)
pkg_check_modules(PKGS REQUIRED
	dlog
	glib-2.0
	gio-2.0
	ua-api
)
INCLUDE_DIRECTORIES(${PKGS_INCLUDE_DIRS})
LINK_DIRECTORIES(${PKGS_LIBRARY_DIRS})

FOREACH(flag ${PKGS_CFLAGS})
	SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
IF(BUILD_GCOV)
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
ENDIF(BUILD_GCOV)
SET(LIB_NAME "${PROJECT_NAME}")
SET(LIB_PREFIX ${CMAKE_INSTALL_PREFIX})
SET(LIB_DIR "${LIB_PATH}")
SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include")
SET(LIB_PKGCONFIG_DIR "${LIB_PATH}/pkgconfig")

SET(SRCS
	src/user-awareness-service.c
	src/user-awareness-monitors.c
	src/user-awareness-users.c
	src/user-awareness-util.c
	src/user-awareness-event-handler.c
)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)

ADD_LIBRARY(${LIB_NAME} SHARED ${SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})

SET_TARGET_PROPERTIES(${LIB_NAME}
	PROPERTIES
	VERSION ${FULLVER}
	SOVERSION ${MAJORVER}
	CLEAN_DIRECT_OUTPUT 1
	)

INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR})
INSTALL(
	DIRECTORY ${INC_DIR}/ DESTINATION ${LIB_INCLUDE_DIR}
	FILES_MATCHING
	PATTERN "${INC_DIR}/user-awareness.h"
	PATTERN "${INC_DIR}/user-awareness-internal.h"
	)

SET(PC_NAME ${LIB_NAME})
SET(PC_REQUIRED ${pc_dependents})
SET(PC_LDFLAGS -l${LIB_NAME})

CONFIGURE_FILE(
	${LIB_NAME}.pc.in
	${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc
	@ONLY
	)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR})

ADD_SUBDIRECTORY(test)