1 # Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 ######################################################################
17 IF(DEFINED DBUS_CONNECTION)
19 PKG_CHECK_MODULES(ACE_DB_DEP
26 OUTPUT ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h
27 COMMAND ${CMAKE_SOURCE_DIR}/ace/orm/gen_db_md5.sh
28 ARGS ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h
29 ${CMAKE_SOURCE_DIR}/ace/orm/ace_db
30 DEPENDS ${CMAKE_SOURCE_DIR}/ace/orm/ace_db
31 ${CMAKE_SOURCE_DIR}/ace/orm/gen_db_md5.sh
32 COMMENT "Generating ACE database checksum"
34 ADD_CUSTOM_TARGET(ACE_DB_CHECKSUM_HEADER DEPENDS ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h)
36 STRING(REPLACE ";" ":" DEPENDENCIES "${ACE_DB_DEP_INCLUDE_DIRS}")
38 IF(DEFINED DBUS_CONNECTION)
39 ADD_CUSTOM_COMMAND( OUTPUT .ace.db
40 COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
41 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
42 COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.ace.db ".read ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
43 DEPENDS ACE_DB_CHECKSUM_HEADER ${PROJECT_SOURCE_DIR}/ace/orm/ace_db_sql_generator.h ${PROJECT_SOURCE_DIR}/ace/orm/ace_db
46 ADD_CUSTOM_COMMAND( OUTPUT .ace.db
47 COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
48 COMMAND CPATH=${DEPENDENCIES} gcc -Wall -include ${CMAKE_BINARY_DIR}/ace/database_checksum_ace.h -I${PROJECT_SOURCE_DIR}/commons/modules/db/include -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
49 COMMAND sqlite3 ${CMAKE_CURRENT_BINARY_DIR}/.ace.db ".read ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql" || rm -f ${CMAKE_CURRENT_BINARY_DIR}/.ace.db
50 DEPENDS ACE_DB_CHECKSUM_HEADER ${PROJECT_SOURCE_DIR}/ace/orm/ace_db_sql_generator.h ${PROJECT_SOURCE_DIR}/ace/orm/ace_db
54 ADD_CUSTOM_COMMAND( OUTPUT .ace.db-journal
56 ARGS ${CMAKE_CURRENT_BINARY_DIR}/.ace.db-journal
59 ADD_CUSTOM_TARGET(Sqlite3DbACE ALL DEPENDS .ace.db .ace.db-journal)
61 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ace_db.sql
62 DESTINATION share/wrt-engine/
65 ###########################################################
67 INCLUDE(FindPkgConfig)
69 SET(ACE_TEST_PATH "/usr/apps/org.tizen.policy")
72 ${CMAKE_CURRENT_SOURCE_DIR}/configuration/bondixml.xsd
73 ${CMAKE_CURRENT_SOURCE_DIR}/configuration/UnrestrictedPolicy.xml
74 ${CMAKE_CURRENT_SOURCE_DIR}/configuration/WAC2.0Policy.xml
75 DESTINATION /usr/etc/ace
76 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE)
78 IF(DEFINED DBUS_CONNECTION)
79 SET(ACE_LIB_DEPS_BASIC
95 SET(ACE_LIB_DEPS_BASIC
106 LIST(APPEND ACE_LIB_DEPS_BASIC libprivilege-control)
109 PKG_CHECK_MODULES(ACE_LIB_DEPS ${ACE_LIB_DEPS_BASIC} REQUIRED)
111 SET(WRT_ACE_DIR ${PROJECT_SOURCE_DIR}/ace)
114 ${WRT_ACE_DIR}/engine/PolicyEvaluator.cpp
115 ${WRT_ACE_DIR}/engine/PolicyInformationPoint.cpp
116 ${WRT_ACE_DIR}/engine/CombinerImpl.cpp
117 ${WRT_ACE_DIR}/engine/parser.cpp
118 ${WRT_ACE_DIR}/engine/PolicyEnforcementPoint.cpp
119 ${WRT_ACE_DIR}/engine/SettingsLogic.cpp
120 ${WRT_ACE_DIR}/engine/Attribute.cpp
121 ${WRT_ACE_DIR}/engine/Condition.cpp
122 ${WRT_ACE_DIR}/engine/Policy.cpp
123 ${WRT_ACE_DIR}/engine/Rule.cpp
124 ${WRT_ACE_DIR}/engine/Subject.cpp
125 ${WRT_ACE_DIR}/engine/TreeNode.cpp
126 ${WRT_ACE_DIR}/engine/ConfigurationManager.cpp
129 INCLUDE_DIRECTORIES(${ACE_LIB_DEPS_INCLUDE_DIRS})
130 INCLUDE_DIRECTORIES(${WRT_ACE_DIR}/include)
132 IF(NOT DEFINED DBUS_CONNECTION)
133 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/commons/modules/log/include)
134 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/commons/modules/core/include)
135 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/commons/modules/db/include)
137 ${PROJECT_SOURCE_DIR}/commons/build/core
138 ${PROJECT_SOURCE_DIR}/commons/build/log
139 ${PROJECT_SOURCE_DIR}/commons/build/db
143 SET(WITH_ACE_SETTINGS_SERVER_SOURCES
144 ${WITH_ACE_SETTINGS_SERVER_NONE_SOURCES}
147 ADD_LIBRARY(${TARGET_ACE_LIB} SHARED
149 ${WITH_ACE_SETTINGS_SERVER_SOURCES}
152 SET_TARGET_PROPERTIES(${TARGET_ACE_LIB} PROPERTIES
153 SOVERSION ${API_VERSION}
156 SET_TARGET_PROPERTIES(${TARGET_ACE_LIB} PROPERTIES
159 IF(DEFINED DBUS_CONNECTION)
160 TARGET_LINK_LIBRARIES(${TARGET_ACE_LIB}
161 ${TARGET_ACE_DAO_RW_LIB}
162 ${ACE_LIB_DEPS_LIBRARIES}
165 TARGET_LINK_LIBRARIES(${TARGET_ACE_LIB}
166 ${TARGET_ACE_DAO_RW_LIB}
167 ${ACE_LIB_DEPS_LIBRARIES}
168 libwrt-security-commons
169 libwrt-security-commons-log
170 libwrt-security-commons-db
174 INSTALL(TARGETS ${TARGET_ACE_LIB}
175 DESTINATION ${LIB_INSTALL_DIR})
178 include/ace/WRT_INTERFACE.h
183 add_subdirectory(dao)