Privilege level check
[platform/core/appfw/app-installers.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
2 PROJECT(CommonAppInstaller)
3 SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
4 SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
5 SET(LIBDIR "${CMAKE_INSTALL_LIBDIR}")
6 SET(SHAREDIR "${CMAKE_INSTALL_PREFIX}/share")
7 SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include")
8 SET(VERSION_MAJOR 0)
9 SET(VERSION "${VERSION_MAJOR}.1.0")
10 SET(CMAKE_INCLUDE_CURRENT_DIR ON)
11
12 IF(NOT CMAKE_BUILD_TYPE)
13   SET(CMAKE_BUILD_TYPE "Release")
14 ENDIF(NOT CMAKE_BUILD_TYPE)
15
16 # Compiler flags
17 SET(CMAKE_C_FLAGS_PROFILING    "-O2")
18 SET(CMAKE_CXX_FLAGS_PROFILING  "-O2 -std=c++11")
19 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
20 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++11 -g")
21 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
22 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++11 -g")
23 SET(CMAKE_CXX_FLAGS_CCOV       "-O0 -std=c++11 -g --coverage")
24
25 # Targets
26 SET(TARGET_LIBNAME_COMMON "common-installer")
27 SET(TARGET_LIBNAME_PARSER "manifest-parser")
28 SET(TARGET_LIBNAME_MANIFEST_HANDLERS "manifest-handlers")
29 SET(TARGET_WGT_BACKEND "wgt-backend")
30 SET(TARGET_XPK_BACKEND "xpk-backend")
31 SET(TARGET_TPK_BACKEND "tpk-backend")
32
33 ADD_DEFINITIONS("-Wall")
34 ADD_DEFINITIONS("-Wextra")
35 ADD_DEFINITIONS("-fPIE")
36 ADD_DEFINITIONS("-fPIC")
37
38 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
39 INCLUDE(FindPkgConfig)
40 INCLUDE(ApplyPkgConfig)
41
42 # Find all needed packages once
43 # BUILD_PARSER macro is defined so we can build two separate projects
44 # with cmake, which are on one repository. Later this macro
45 # is used in CMakeLists.txt files to distinguish, which project
46 # is currently being build.
47 PKG_CHECK_MODULES(PKGMGR_DEPS REQUIRED pkgmgr)
48 PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
49 PKG_CHECK_MODULES(MINIZIP_DEPS REQUIRED minizip)
50 PKG_CHECK_MODULES(ZLIB_DEPS REQUIRED zlib)
51 PKG_CHECK_MODULES(TZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
52 PKG_CHECK_MODULES(SECURITY_MANAGER_DEPS REQUIRED security-manager)
53 PKG_CHECK_MODULES(MANIFEST_PARSER_DEPS REQUIRED manifest-parser)
54 PKG_CHECK_MODULES(MANIFEST_HANDLERS_DEPS REQUIRED manifest-handlers)
55 PKG_CHECK_MODULES(CERT_SVC_DEPS_VCORE REQUIRED cert-svc-vcore)
56 PKG_CHECK_MODULES(PKGMGR_PARSER_DEPS REQUIRED pkgmgr-parser)
57 PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
58 PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
59 PKG_CHECK_MODULES(PRIVILEGE_CHECKER_DEPS REQUIRED capi-security-privilege-manager)
60
61 FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem)
62 FIND_PACKAGE(GTest REQUIRED)
63
64 ADD_SUBDIRECTORY(data)
65 ADD_SUBDIRECTORY(src)