summaryrefslogtreecommitdiff
path: root/src/crash-manager/CMakeLists.txt
blob: a474f3385b4bcd5c57ff6a1882ed75c0a898cd35 (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
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(crash-manager C)

IF(TIZEN_FEATURE_PTRACE_CALLSTACK STREQUAL on)
	ADD_DEFINITIONS(-DTIZEN_FEATURE_PTRACE_CALLSTACK)
ENDIF()

INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
SET(CRASH_MANAGER_SRCS
	crash-manager.c
	${CMAKE_SOURCE_DIR}/src/shared/util.c
   )

INCLUDE(FindPkgConfig)
pkg_check_modules(crash-manager_pkgs REQUIRED
	dlog
	libtzplatform-config
	iniparser
	gio-2.0
	)

FOREACH(flag ${crash-manager_pkgs_CFLAGS})
	SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")

IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_ENABLE_COREDUMP")
        OPTION(USE_COREDUMP_CONF "Use COREDUMP CONF" ON)
ENDIF()

CONFIGURE_FILE(crash-manager.h.in crash-manager.h @ONLY)
ADD_EXECUTABLE(${PROJECT_NAME} ${CRASH_MANAGER_SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${crash-manager_pkgs_LDFLAGS} -pie)

INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin
		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
		GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

CONFIGURE_FILE(500.${PROJECT_NAME}-upgrade.sh.in 500.${PROJECT_NAME}-upgrade.sh @ONLY)

IF(USE_COREDUMP_CONF)
	CONFIGURE_FILE(99-${PROJECT_NAME}-debug.conf.in 99-${PROJECT_NAME}.conf @ONLY)
ELSE()
	CONFIGURE_FILE(99-${PROJECT_NAME}.conf.in 99-${PROJECT_NAME}.conf @ONLY)
ENDIF(USE_COREDUMP_CONF)


INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/crash-manager.conf
		DESTINATION ${TZ_SYS_ETC}
		PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/99-${PROJECT_NAME}.conf
		DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/sysctl.d
		PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/500.${PROJECT_NAME}-upgrade.sh
		DESTINATION ${UPGRADE_SCRIPT_PATH}
		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
		GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)