Add dummy plugin
[platform/core/security/ode.git] / CMakeLists.txt
1 #
2 # Copyright (c) 2015 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(ode)
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(ODE_LIB                ${PROJECT_SOURCE_DIR}/lib)
32 SET(ODE_KEY_STORAGE_PLUGIN ${PROJECT_SOURCE_DIR}/ode-key-storage-plugin)
33 SET(ODE_SERVER             ${PROJECT_SOURCE_DIR}/server)
34 SET(ODE_TOOLS              ${PROJECT_SOURCE_DIR}/tools)
35 SET(ODE_TESTS              ${PROJECT_SOURCE_DIR}/tests)
36 SET(ODE_DUMMY_KSP          ${PROJECT_SOURCE_DIR}/dummy-ksp)
37
38 IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
39         SET(CXX_STD "c++0x")
40 else()
41         SET(CXX_STD "c++11")
42 endif()
43
44 EXECUTE_PROCESS(COMMAND getconf LFS_CFLAGS OUTPUT_VARIABLE LFS_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
45 EXECUTE_PROCESS(COMMAND getconf LFS_LDFLAGS OUTPUT_VARIABLE LFS_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
46 EXECUTE_PROCESS(COMMAND getconf LFS_LIBS OUTPUT_VARIABLE LFS_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
47
48 SET(COMPILE_BASE_FLAGS          "-g -fPIC -Werror -Wall -Wl,--as-needed -Wl,--no-whole-archive ${LFS_CFLAGS}")
49 SET(CMAKE_C_FLAGS_PROFILING     "${COMPILE_BASE_FLAGS} -O0 -pg")
50 SET(CMAKE_CXX_FLAGS_PROFILING   "${COMPILE_BASE_FLAGS} -O0 -pg -std=${CXX_STD} -fno-rtti")
51 SET(CMAKE_C_FLAGS_DEBUG         "${COMPILE_BASE_FLAGS} -O0 -ggdb")
52 SET(CMAKE_CXX_FLAGS_DEBUG       "${COMPILE_BASE_FLAGS} -O0 -ggdb -std=${CXX_STD} -fno-rtti")
53 SET(CMAKE_C_FLAGS_RELEASE       "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG")
54 SET(CMAKE_CXX_FLAGS_RELEASE     "${COMPILE_BASE_FLAGS} -O2 -DNDEBUG -std=${CXX_STD} -fno-rtti")
55 SET(CMAKE_C_FLAGS_CCOV          "${COMPILE_BASE_FLAGS} -O0 --coverage")
56 SET(CMAKE_CXX_FLAGS_CCOV        "${COMPILE_BASE_FLAGS} -O0 --coverage -std=${CXX_STD} -fno-rtti")
57
58 IF(NOT DEFINED LIB_DIR)
59         SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")
60 ENDIF(NOT DEFINED LIB_DIR)
61
62 IF(NOT DEFINED INCLUDE_DIR)
63         SET(INCLUDE__DIR "${CMAKE_INSTALL_INCLUDEDIR}")
64 ENDIF(NOT DEFINED INCLUDE_DIR)
65
66 IF(NOT DEFINED RUN_DIR)
67         SET(RUN_DIR "/run")
68 ENDIF(NOT DEFINED RUN_DIR)
69
70 IF(NOT DEFINED BIN_DIR)
71         SET(BIN_DIR "${CMAKE_INSTALL_BINDIR}")
72 ENDIF(NOT DEFINED BIN_DIR)
73
74 IF(NOT DEFINED HOME_DIR)
75         SET(HOME_DIR "/home")
76 ENDIF(NOT DEFINED HOME_DIR)
77
78 IF(NOT DEFINED DATA_DIR)
79         SET(DATA_DIR "${SHARE_INSTALL_PREFIX}")
80 ENDIF(NOT DEFINED DATA_DIR)
81
82 IF(NOT DEFINED PAMD_DIR)
83         SET(PAMD_DIR "${SYSCONF_INSTALL_DIR}/pam.d")
84 ENDIF(NOT DEFINED PAMD_DIR)
85
86 IF(NOT DEFINED SYSTEMD_UNIT_DIR)
87         SET(SYSTEMD_UNIT_DIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system")
88 ENDIF(NOT DEFINED SYSTEMD_UNIT_DIR)
89
90 IF(NOT DEFINED KEY_STORAGE_PLUGIN_DIR)
91         SET(KEY_STORAGE_PLUGIN_DIR "${CMAKE_INSTALL_LIBDIR}/ode-key-storage-plugin")
92 ENDIF(NOT DEFINED KEY_STORAGE_PLUGIN_DIR)
93
94 SET(KEY_STORAGE_PLUGIN "key-storage-plugin")
95
96 ADD_DEFINITIONS(-DKEY_STORAGE_PLUGIN_DIR="${KEY_STORAGE_PLUGIN_DIR}")
97 ADD_DEFINITIONS(-DKEY_STORAGE_PLUGIN_LIB="${CMAKE_SHARED_LIBRARY_PREFIX}${KEY_STORAGE_PLUGIN}${CMAKE_SHARED_LIBRARY_SUFFIX}")
98
99 ADD_DEFINITIONS(-DUG_WAYLAND)
100
101 ADD_SUBDIRECTORY(${ODE_LIB})
102 ADD_SUBDIRECTORY(${ODE_KEY_STORAGE_PLUGIN})
103 ADD_SUBDIRECTORY(${ODE_SERVER})
104 ADD_SUBDIRECTORY(${ODE_TOOLS})
105 ADD_SUBDIRECTORY(${ODE_TESTS})
106 ADD_SUBDIRECTORY(${ODE_DUMMY_KSP})