Set defaultbranch to chinook in gitreview
[src/app-framework-main.git] / CMakeLists.txt
1 ###########################################################################
2 # Copyright 2015, 2016 IoT.bzh
3 #
4 # author: José Bollo <jose.bollo@iot.bzh>
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #     http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 ###########################################################################
18
19 project(afm-main C)
20
21 cmake_minimum_required(VERSION 2.8)
22
23 include(GNUInstallDirs)
24
25 set(PROJECT_NAME "AFM Main")
26 set(PROJECT_PRETTY_NAME "Application Framework Main")
27 set(PROJECT_DESCRIPTION "Secured Application framework for Automotive Grade Linux")
28 set(PROJECT_VERSION "1.0")
29
30 set(USE_LIBZIP     ON  CACHE BOOL "should try to use libzip?")
31 set(USE_SIMULATION OFF CACHE BOOL "if set simulates security manager and smack")
32 set(USE_SDK        OFF CACHE BOOL "if set, avoids installating system runtime files")
33
34 set(SIMULATE_SECMGR OFF CACHE BOOL "if set, the security manager is simulated")
35 set(SIMULATE_SMACK  OFF CACHE BOOL "if set, the smack environment is simulated")
36
37 set(afm_name                "afm" CACHE STRING "Name for application framework user")
38 set(afm_confdir             "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${afm_name}" CACHE STRING "Directory for configuration files")
39 set(afm_datadir             "${CMAKE_INSTALL_FULL_DATADIR}/${afm_name}" CACHE STRING "Root directory for installions")
40 set(afm_appdir              "${afm_datadir}/applications" CACHE STRING "Directory for installing applications")
41 set(afm_icondir             "${afm_datadir}/icons" CACHE STRING "Directory for installing icons")
42 set(afm_prefix              "urn:AGL:" CACHE STRING "Prefix for uniform resource name")
43 set(afm_prefix_binding      "${afm_prefix}binding:" CACHE STRING "URN for bindings")
44 set(afm_user_appdir         "app-data" CACHE STRING "User subdirectory for applications")
45 set(afm_user_appdir_label   "User::App-Shared" CACHE STRING "Smack label of the user subdirectory for applications")
46 set(wgtpkg_trusted_cert_dir "${afm_confdir}/certs" CACHE STRING "Path to internal certificates")
47
48 if(USE_SIMULATION)
49     set(SIMULATE_SECMGR ON)
50     set(SIMULATE_SMACK  ON)
51 endif(USE_SIMULATION)
52
53 add_definitions(
54         -DFWK_CONFIG_DIR="${afm_confdir}"
55         -DFWK_PREFIX="${afm_prefix}"
56         -DFWK_PREFIX_BINDING="${afm_prefix_binding}"
57         -DFWK_ICON_DIR="${afm_icondir}"
58         -DFWK_APP_DIR="${afm_appdir}"
59         -DFWK_USER_APP_DIR="${afm_user_appdir}"
60         -DWGTPKG_TRUSTED_CERT_DIR="${wgtpkg_trusted_cert_dir}"
61         -DFWK_LAUNCH_CONF="${afm_confdir}/afm-launch.conf"
62         -DFWK_USER_APP_DIR_LABEL="${afm_user_appdir_label}"
63 )
64
65 add_subdirectory(src)
66 add_subdirectory(conf)
67 add_subdirectory(scripts)
68 add_subdirectory(certs)
69
70 ############################################################
71 # installs the pkgconfig files
72
73 CONFIGURE_FILE(afm-main.pc.in afm-main.pc @ONLY)
74 INSTALL(FILES
75     ${CMAKE_CURRENT_BINARY_DIR}/afm-main.pc
76     DESTINATION
77     ${CMAKE_INSTALL_LIBDIR}/pkgconfig
78     )
79
80