Proper native implementation for directory creator tool
[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
11 IF(NOT CMAKE_BUILD_TYPE)
12   SET(CMAKE_BUILD_TYPE "Release")
13 ENDIF(NOT CMAKE_BUILD_TYPE)
14
15 # Compiler flags
16 SET(CMAKE_C_FLAGS_PROFILING    "-O2")
17 SET(CMAKE_CXX_FLAGS_PROFILING  "-O2 -std=c++11")
18 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
19 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++11 -g")
20 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
21 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++11 -g")
22 SET(CMAKE_CXX_FLAGS_CCOV       "-O0 -std=c++11 -g --coverage")
23
24 # Targets
25 SET(TARGET_LIBNAME_COMMON "common-installer")
26 SET(TARGET_LIBNAME_WGT "wgt-installer")
27 SET(TARGET_LIBNAME_TPK "tpk-installer")
28 SET(TARGET_WGT_BACKEND "wgt-backend")
29 SET(TARGET_TPK_BACKEND "tpk-backend")
30 SET(TARGET_PKGDIR_TOOL "pkgdir-tool")
31
32 ADD_DEFINITIONS("-Wall")
33 ADD_DEFINITIONS("-Wextra")
34 ADD_DEFINITIONS("-fPIE")
35 ADD_DEFINITIONS("-fPIC")
36
37 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
38 INCLUDE(FindPkgConfig)
39 INCLUDE(ApplyPkgConfig)
40
41 # Find all needed packages once
42 PKG_CHECK_MODULES(PKGMGR_DEPS REQUIRED pkgmgr)
43 PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
44 PKG_CHECK_MODULES(MINIZIP_DEPS REQUIRED minizip)
45 PKG_CHECK_MODULES(ZLIB_DEPS REQUIRED zlib)
46 PKG_CHECK_MODULES(TZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
47 PKG_CHECK_MODULES(SECURITY_MANAGER_DEPS REQUIRED security-manager)
48 PKG_CHECK_MODULES(MANIFEST_PARSER_DEPS REQUIRED manifest-parser)
49 PKG_CHECK_MODULES(MANIFEST_HANDLERS_DEPS REQUIRED manifest-handlers)
50 PKG_CHECK_MODULES(TPK_MANIFEST_HANDLERS_DEPS REQUIRED tpk-manifest-handlers)
51 PKG_CHECK_MODULES(CERT_SVC_DEPS_VCORE REQUIRED cert-svc-vcore)
52 PKG_CHECK_MODULES(PKGMGR_PARSER_DEPS REQUIRED pkgmgr-parser)
53 PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
54 PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
55 PKG_CHECK_MODULES(PRIVILEGE_CHECKER_DEPS REQUIRED capi-security-privilege-manager)
56 PKG_CHECK_MODULES(ENCRYPTION_DEPS REQUIRED libwebappenc)
57 PKG_CHECK_MODULES(APPMANAGER_DEPS REQUIRED capi-appfw-app-manager)
58 PKG_CHECK_MODULES(LIBGUM_DEPS REQUIRED libgum)
59
60 FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem regex program_options)
61 FIND_PACKAGE(GTest REQUIRED)
62
63 ADD_SUBDIRECTORY(src)