2 # Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
17 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
21 IF(NOT DEFINED VERSION)
23 ENDIF(NOT DEFINED VERSION)
25 INCLUDE(FindPkgConfig)
27 IF(NOT CMAKE_BUILD_TYPE)
28 SET(CMAKE_BUILD_TYPE "DEBUG")
29 ENDIF(NOT CMAKE_BUILD_TYPE)
31 SET(KRATE_API ${PROJECT_SOURCE_DIR}/api)
32 SET(KRATE_SERVER ${PROJECT_SOURCE_DIR}/server)
33 SET(KRATE_DATA ${PROJECT_SOURCE_DIR}/data)
34 SET(KRATE_MODULE ${PROJECT_SOURCE_DIR}/module)
35 SET(KRATE_VOLUME ${PROJECT_SOURCE_DIR}/volume)
36 SET(KRATE_COMMON ${PROJECT_SOURCE_DIR}/common)
38 IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
44 SET(COMPILE_BASE_FLAGS "-g -fPIC -Werror -Wall -Wl,--as-needed -Wl,--no-whole-archive")
45 SET(CMAKE_C_FLAGS_PROFILING "${COMPILE_BASE_FLAGS} -O0 -pg")
46 SET(CMAKE_CXX_FLAGS_PROFILING "${COMPILE_BASE_FLAGS} -O0 -pg -std=${CXX_STD} -fno-rtti")
47 SET(CMAKE_C_FLAGS_DEBUG "${COMPILE_BASE_FLAGS} -O0 -ggdb")
48 SET(CMAKE_CXX_FLAGS_DEBUG "${COMPILE_BASE_FLAGS} -O0 -ggdb -std=${CXX_STD} -fno-rtti")
49 SET(CMAKE_C_FLAGS_RELEASE "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG")
50 SET(CMAKE_CXX_FLAGS_RELEASE "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG -std=${CXX_STD} -fno-rtti")
51 SET(CMAKE_C_FLAGS_CCOV "${COMPILE_BASE_FLAGS} -O0 --coverage")
52 SET(CMAKE_CXX_FLAGS_CCOV "${COMPILE_BASE_FLAGS} -O0 --coverage -std=${CXX_STD} -fno-rtti")
54 IF(NOT DEFINED LIB_DIR)
55 SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")
56 ENDIF(NOT DEFINED LIB_DIR)
58 IF(NOT DEFINED INCLUDE_DIR)
59 SET(INCLUDE__DIR "${CMAKE_INSTALL_INCLUDEDIR}")
60 ENDIF(NOT DEFINED INCLUDE_DIR)
62 IF(NOT DEFINED RUN_DIR)
64 ENDIF(NOT DEFINED RUN_DIR)
66 IF(NOT DEFINED BIN_DIR)
67 SET(BIN_DIR "${CMAKE_INSTALL_BINDIR}")
68 ENDIF(NOT DEFINED BIN_DIR)
70 IF(NOT DEFINED HOME_DIR)
72 ENDIF(NOT DEFINED HOME_DIR)
74 IF(NOT DEFINED PAMD_DIR)
75 SET(PAMD_DIR "${SYSCONF_INSTALL_DIR}/pam.d")
76 ENDIF(NOT DEFINED PAMD_DIR)
78 IF(NOT DEFINED SYSTEMD_UNIT_DIR)
79 SET(SYSTEMD_UNIT_DIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system")
80 ENDIF(NOT DEFINED SYSTEMD_UNIT_DIR)
82 ADD_DEFINITIONS(-DUG_WAYLAND)
84 ADD_SUBDIRECTORY(${KRATE_SERVER})
85 ADD_SUBDIRECTORY(${KRATE_MODULE})
86 ADD_SUBDIRECTORY(${KRATE_VOLUME})