summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 6169a5754c76787072ebc14e475a28a873393a44 (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
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(buxton2 C)

# check variables
IF(NOT DEFINED VERSION)
	MESSAGE(FATAL_ERROR "VERSION is not defined")
ENDIF()
STRING(REGEX MATCH "^[0-9]*" MAJVER ${VERSION})

IF(NOT DEFINED LIB_INSTALL_DIR)
	SET(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
	MESSAGE(WARNING "LIB_INSTALL_DIR is not defined, default value is used")
ENDIF()
IF(NOT DEFINED INCLUDE_INSTALL_DIR)
	SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include)
	MESSAGE(WARNING "INCLUDE_INSTALL_DIR is not defined, default value is used")
ENDIF()

OPTION(NDEBUG "Assertions disabled" TRUE)
IF(NDEBUG)
	ADD_DEFINITIONS(-DNDEBUG)
ENDIF()

OPTION(DEBUG_LOG "Debug log enabled" FALSE)
IF(DEBUG_LOG)
	ADD_DEFINITIONS(-DDEBUG_LOG)
ENDIF()

OPTION(BUILD_EXAMPLE "Build example code" FALSE)

IF(NOT "${CONFPATH}" STREQUAL "")
	ADD_DEFINITIONS(-DCONFPATH="${CONFPATH}")
ENDIF()
IF(NOT "${MODULE_DIR}" STREQUAL "")
	ADD_DEFINITIONS(-DMODULE_DIR="${MODULE_DIR}")
ENDIF()
IF(NOT "${BASE_DB_DIR}" STREQUAL "")
	ADD_DEFINITIONS(-DBASE_DB_DIR="${BASE_DB_DIR}")
ENDIF()
IF(NOT "${DB_DIR}" STREQUAL "")
	ADD_DEFINITIONS(-DDB_DIR="${DB_DIR}")
ENDIF()
IF(NOT "${TMPFS_DIR}" STREQUAL "")
	ADD_DEFINITIONS(-DTMPFS_DIR="${TMPFS_DIR}")
ENDIF()
IF(NOT "${SOCKPATH}" STREQUAL "")
	ADD_DEFINITIONS(-DSOCKPATH="${SOCKPATH}")
ENDIF()

# pkg-config
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(PKGS REQUIRED glib-2.0>=2.36 dlog)

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

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
MESSAGE("CFLAGS: ${CMAKE_C_FLAGS}")

# build subdirectories
INCLUDE_DIRECTORIES(common)

ADD_SUBDIRECTORY(daemon)
ADD_SUBDIRECTORY(backend)
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(vconf-compat)

IF(BUILD_EXAMPLE)
	ADD_SUBDIRECTORY(example)
ENDIF()

INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/buxton_dump.sh DESTINATION /opt/etc/dump.d/module.d/)