d432a69fe5e5b71389b32f35584a6db1fdc15474
[platform/framework/web/wrt-security.git] / ace / CMakeLists.txt
1 # Copyright (c) 2011 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
17 #DB vcore
18 PKG_CHECK_MODULES(ACE_DB_DEP
19     dpl-efl
20     REQUIRED)
21
22 #DB ace
23 ADD_CUSTOM_COMMAND(
24     OUTPUT ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h
25     COMMAND ${CMAKE_SOURCE_DIR}/ace/orm/gen_db_md5.sh
26     ARGS ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h
27          ${CMAKE_SOURCE_DIR}/ace/orm/ace_db
28     DEPENDS ${CMAKE_SOURCE_DIR}/ace/orm/ace_db
29             ${CMAKE_SOURCE_DIR}/ace/orm/gen_db_md5.sh
30     COMMENT "Generating ACE database checksum"
31     )
32 ADD_CUSTOM_TARGET(ACE_DB_CHECKSUM_HEADER DEPENDS ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h)
33
34 STRING(REPLACE ";" ":" DEPENDENCIES "${ACE_DB_DEP_INCLUDE_DIRS}")
35
36 ADD_CUSTOM_COMMAND( OUTPUT .ace.db
37   COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
38   COMMAND CPATH=${DEPENDENCIES} gcc -Wall -include ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h -I${PROJECT_SOURCE_DIR}/ace/orm -E ${PROJECT_SOURCE_DIR}/ace/orm/ace_db_sql_generator.h | grep --invert-match "^#" > ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql
39   COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.ace.db ".read ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
40   DEPENDS ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h ${PROJECT_SOURCE_DIR}/ace/orm/ace_db_sql_generator.h ${PROJECT_SOURCE_DIR}/ace/orm/ace_db
41   )
42
43 ADD_CUSTOM_COMMAND( OUTPUT .ace.db-journal
44   COMMAND touch
45   ARGS  ${CMAKE_CURRENT_BINARY_DIR}/.ace.db-journal
46   )
47
48 ADD_CUSTOM_TARGET(Sqlite3DbACE ALL DEPENDS .ace.db .ace.db-journal)
49
50 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql
51     DESTINATION share/wrt-engine/
52     )
53
54 ###########################################################
55
56 INCLUDE(FindPkgConfig)
57
58 SET(ACE_TEST_PATH "/usr/apps/org.tizen.policy")
59
60 INSTALL(FILES
61     ${CMAKE_CURRENT_SOURCE_DIR}/configuration/bondixml.xsd
62     ${CMAKE_CURRENT_SOURCE_DIR}/configuration/UnrestrictedPolicy.xml
63     ${CMAKE_CURRENT_SOURCE_DIR}/configuration/WAC2.0Policy.xml
64     ${CMAKE_CURRENT_SOURCE_DIR}/configuration/TizenPolicy.xml
65     DESTINATION /usr/etc/ace
66     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE)
67
68 SET(ACE_LIB_DEPS_BASIC
69     dpl-efl
70     dpl-db-efl
71     dpl-event-efl
72     ecore
73     appcore-efl
74     openssl
75     sqlite3
76     dlog
77     vconf
78     db-util
79     libpcrecpp
80     icu-uc
81     libxml-2.0
82     )
83
84 IF(SMACK_ENABLED)
85     LIST(APPEND ACE_LIB_DEPS_BASIC libprivilege-control)
86 ENDIF(SMACK_ENABLED)
87
88 PKG_CHECK_MODULES(ACE_LIB_DEPS ${ACE_LIB_DEPS_BASIC} REQUIRED)
89
90 SET(WRT_ACE_DIR ${PROJECT_SOURCE_DIR}/ace)
91
92 SET(ACE_SOURCES
93   ${WRT_ACE_DIR}/engine/PolicyEvaluator.cpp
94   ${WRT_ACE_DIR}/engine/PolicyInformationPoint.cpp
95   ${WRT_ACE_DIR}/engine/CombinerImpl.cpp
96   ${WRT_ACE_DIR}/engine/parser.cpp
97   ${WRT_ACE_DIR}/engine/PolicyEnforcementPoint.cpp
98   ${WRT_ACE_DIR}/engine/SettingsLogic.cpp
99   ${WRT_ACE_DIR}/engine/Attribute.cpp
100   ${WRT_ACE_DIR}/engine/Condition.cpp
101   ${WRT_ACE_DIR}/engine/Policy.cpp
102   ${WRT_ACE_DIR}/engine/Rule.cpp
103   ${WRT_ACE_DIR}/engine/Subject.cpp
104   ${WRT_ACE_DIR}/engine/TreeNode.cpp
105   ${WRT_ACE_DIR}/engine/ConfigurationManager.cpp
106 )
107
108 INCLUDE_DIRECTORIES(${ACE_LIB_DEPS_INCLUDE_DIRS})
109 INCLUDE_DIRECTORIES(${WRT_ACE_DIR}/include)
110
111 SET(WITH_ACE_SETTINGS_SERVER_SOURCES
112    ${WITH_ACE_SETTINGS_SERVER_NONE_SOURCES}
113    )
114
115 ADD_LIBRARY(${TARGET_ACE_LIB} SHARED
116     ${ACE_SOURCES}
117     ${WITH_ACE_SETTINGS_SERVER_SOURCES}
118 )
119
120 SET_TARGET_PROPERTIES(${TARGET_ACE_LIB} PROPERTIES
121     SOVERSION ${API_VERSION}
122     VERSION ${VERSION})
123
124 SET_TARGET_PROPERTIES(${TARGET_ACE_LIB} PROPERTIES
125     COMPILE_FLAGS -fPIC)
126
127 TARGET_LINK_LIBRARIES(${TARGET_ACE_LIB}
128     ${TARGET_ACE_DAO_RW_LIB}
129     ${ACE_LIB_DEPS_LIBRARIES}
130 )
131
132 INSTALL(TARGETS ${TARGET_ACE_LIB}
133     DESTINATION lib)
134
135 INSTALL(FILES
136     include/ace/WRT_INTERFACE.h
137     DESTINATION
138     include/ace
139     )
140
141 add_subdirectory(dao)