Proper switching focus between containers without freezing background ones
[platform/core/security/vasum.git] / CMakeLists.txt
1 # Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (the "License");
4 #    you may not use this file except in compliance with the License.
5 #    You may obtain a copy of the License at
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #    Unless required by applicable law or agreed to in writing, software
10 #    distributed under the License is distributed on an "AS IS" BASIS,
11 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #    See the License for the specific language governing permissions and
13 #    limitations under the License.
14 #
15 #
16 # @file   CMakeLists.txt
17 # @author Jan Olszak (j.olszak@samsung.com)
18 #
19
20 CMAKE_MINIMUM_REQUIRED (VERSION 2.6.2)
21 PROJECT(security-containers)
22
23 ## pkgconfig ###################################################################
24 INCLUDE(FindPkgConfig)
25
26 ## default CMAKE_INSTALL_* variables ###########################################
27 INCLUDE(GNUInstallDirs)
28
29 ## File names ##################################################################
30 SET(SERVER_CODENAME "${PROJECT_NAME}-server")
31 SET(CLIENT_CODENAME "${PROJECT_NAME}-client")
32
33
34 ## Generate the pc file ########################################################
35 CONFIGURE_FILE(security-containers.pc.in security-containers.pc @ONLY)
36
37
38 ## Compiler flags, depending on the build type #################################
39 IF(NOT CMAKE_BUILD_TYPE)
40     SET(CMAKE_BUILD_TYPE "DEBUG")
41 ENDIF(NOT CMAKE_BUILD_TYPE)
42 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
43
44 SET(CMAKE_C_FLAGS_PROFILING    "-g -O0 -pg")
45 SET(CMAKE_CXX_FLAGS_PROFILING  "-g -std=c++11 -O0 -pg")
46 SET(CMAKE_C_FLAGS_DEBUG        "-g -O0 -ggdb")
47 SET(CMAKE_CXX_FLAGS_DEBUG      "-g -std=c++11 -O0 -ggdb")
48 SET(CMAKE_C_FLAGS_RELEASE      "-g -O2 -DNDEBUG")
49 SET(CMAKE_CXX_FLAGS_RELEASE    "-g -std=c++11 -O2 -DNDEBUG")
50 SET(CMAKE_C_FLAGS_CCOV         "-g -O2 --coverage")
51 SET(CMAKE_CXX_FLAGS_CCOV       "-g -std=c++11 -O2 --coverage")
52
53 ADD_DEFINITIONS("-fPIC")   # Position Independent Code
54 ADD_DEFINITIONS("-Werror") # Make all warnings into errors
55 ADD_DEFINITIONS("-Wall")   # Generate all warnings
56 ADD_DEFINITIONS("-Wextra") # Generate even more extra warnings
57 ADD_DEFINITIONS("-pedantic") # Be pedantic
58 ADD_DEFINITIONS("-pedantic-errors") # Make pedantic warnings into errors
59 ADD_DEFINITIONS(-DPROGRAM_VERSION="${VERSION}")
60
61
62 ## Subdirectories ##############################################################
63 SET(CLIENT_FOLDER ${PROJECT_SOURCE_DIR}/src/client)
64 SET(SERVER_FOLDER ${PROJECT_SOURCE_DIR}/src/server)
65
66 IF(NOT DEFINED SYSCONF_INSTALL_DIR)
67     SET(SYSCONF_INSTALL_DIR "/etc")
68 ENDIF(NOT DEFINED SYSCONF_INSTALL_DIR)
69
70 IF(NOT DEFINED LIB_INSTALL_DIR)
71     SET(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}")
72 ENDIF(NOT DEFINED LIB_INSTALL_DIR)
73
74 IF(NOT DEFINED INCLUDE_INSTALL_DIR)
75     SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
76 ENDIF(NOT DEFINED INCLUDE_INSTALL_DIR)
77
78 IF(NOT DEFINED SCRIPT_INSTALL_DIR)
79     SET(SCRIPT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/sbin")
80 ENDIF(NOT DEFINED SCRIPT_INSTALL_DIR)
81
82 SET(SC_CONFIG_INSTALL_DIR ${SYSCONF_INSTALL_DIR}/security-containers)
83
84 ADD_SUBDIRECTORY(src)
85
86
87 ## Installations ###############################################################
88 INSTALL(FILES       ${CLIENT_FOLDER}/include/security-containers-client.h
89         DESTINATION ${INCLUDE_INSTALL_DIR}/security-containers)
90
91 INSTALL(FILES       ${CMAKE_BINARY_DIR}/security-containers.pc
92         DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
93
94 INSTALL(FILES       ${SERVER_FOLDER}/config/daemon.conf
95         DESTINATION ${SC_CONFIG_INSTALL_DIR})
96
97 INSTALL(FILES       ${SERVER_FOLDER}/config/containers/xminimal.conf
98         DESTINATION ${SC_CONFIG_INSTALL_DIR}/containers)
99
100 INSTALL(FILES       ${SERVER_FOLDER}/config/libvirt-config/xminimal.xml
101         DESTINATION ${SC_CONFIG_INSTALL_DIR}/libvirt-config)