Disable clang specific warnings
[platform/core/security/dpm-security.git] / CMakeLists.txt
1 #
2 # Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3 #
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
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
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.
15 #
16
17 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
18
19 PROJECT(dpm-security)
20
21 IF(NOT DEFINED VERSION)
22         SET(VERSION "0.0.1")
23 ENDIF(NOT DEFINED VERSION)
24
25 INCLUDE(FindPkgConfig)
26
27 IF(NOT CMAKE_BUILD_TYPE)
28         SET(CMAKE_BUILD_TYPE "DEBUG")
29 ENDIF(NOT CMAKE_BUILD_TYPE)
30
31 SET(DPM_API     ${PROJECT_SOURCE_DIR}/api)
32 SET(DPM_PLUGIN  ${PROJECT_SOURCE_DIR}/plugin)
33
34 IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
35         SET(CXX_STD "c++0x")
36 else()
37         SET(CXX_STD "c++11")
38 endif()
39
40 SET(COMPILE_BASE_FLAGS          "-g -fPIC -Werror -Wall -Wno-unused-lambda-capture")
41 LINK_LIBRARIES("-Wl,--as-needed -Wl,--no-whole-archive")
42 SET(CMAKE_C_FLAGS_PROFILING     "${COMPILE_BASE_FLAGS} -O0 -pg")
43 SET(CMAKE_CXX_FLAGS_PROFILING   "${COMPILE_BASE_FLAGS} -O0 -pg -std=${CXX_STD} -fno-rtti")
44 SET(CMAKE_C_FLAGS_DEBUG         "${COMPILE_BASE_FLAGS} -O0 -ggdb")
45 SET(CMAKE_CXX_FLAGS_DEBUG       "${COMPILE_BASE_FLAGS} -O0 -ggdb -std=${CXX_STD} -fno-rtti")
46 SET(CMAKE_C_FLAGS_RELEASE       "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG")
47 SET(CMAKE_CXX_FLAGS_RELEASE     "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG -std=${CXX_STD} -fno-rtti")
48 SET(CMAKE_C_FLAGS_CCOV          "${COMPILE_BASE_FLAGS} -O0 --coverage")
49 SET(CMAKE_CXX_FLAGS_CCOV        "${COMPILE_BASE_FLAGS} -O0 --coverage -std=${CXX_STD} -fno-rtti")
50
51 IF(NOT DEFINED LIB_INSTALL_DIR)
52         SET(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
53 ENDIF(NOT DEFINED LIB_INSTALL_DIR)
54
55 IF(NOT DEFINED INCLUDE_INSTALL_DIR)
56         SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
57 ENDIF(NOT DEFINED INCLUDE_INSTALL_DIR)
58
59 IF(NOT DEFINED CONF_INSTALL_DIR)
60         SET(CONF_INSTALL_DIR "${SYSCONF_INSTALL_DIR}/dpm")
61 ENDIF(NOT DEFINED CONF_INSTALL_DIR)
62
63 IF(NOT DEFINED DATA_INSTALL_DIR)
64         SET(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/dpm")
65 ENDIF(NOT DEFINED DATA_INSTALL_DIR)
66
67 IF(NOT DEFINED DB_INSTALL_DIR)
68         SET(DB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/dbspace")
69 ENDIF(NOT DEFINED DB_INSTALL_DIR)
70
71 IF(NOT DEFINED RUN_INSTALL_DIR)
72         SET(RUN_INSTALL_DIR "/var/run")
73 ENDIF(NOT DEFINED RUN_INSTALL_DIR)
74
75 IF(NOT DEFINED PAMD_INSTALL_DIR)
76         SET(PAMD_INSTALL_DIR "${SYSCONF_INSTALL_DIR}/pam.d")
77 ENDIF(NOT DEFINED PAMD_INSTALL_DIR)
78
79 IF(NOT DEFINED SYSTEMD_UNIT_INSTALL_DIR)
80         SET(SYSTEMD_UNIT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system")
81 ENDIF(NOT DEFINED SYSTEMD_UNIT_INSTALL_DIR)
82
83 ADD_DEFINITIONS(-DUG_WAYLAND)
84
85 ADD_SUBDIRECTORY(${DPM_PLUGIN})
86 ADD_SUBDIRECTORY(${DPM_API})