1 # Copyright (c) 2015 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 # @file src/CMakeLists.txt
16 # @author Aleksander Zdyb <a.zdyb@samsung.com>
19 OPTION(WITH_SECURITY_MANAGER "Use Security Manager to obtain resource groups" OFF)
20 OPTION(WITH_JOURNALD "Use journald to log denials. Syslog will be used otherwise" OFF)
23 PKG_CHECK_MODULES(journald REQUIRED libsystemd-journal)
24 ELSE(WITH_JOURNALD) # journald may still be possibly used for informational logging
25 PKG_CHECK_MODULES(journald QUIET libsystemd-journal)
29 ADD_DEFINITIONS("-DWITH_JOURNALD")
32 IF(WITH_SECURITY_MANAGER)
33 PKG_CHECK_MODULES(security_manager REQUIRED security-manager)
34 ADD_DEFINITIONS("-DWITH_SECURITY_MANAGER")
35 ENDIF(WITH_SECURITY_MANAGER)
37 FIND_PACKAGE(Boost 1.57 REQUIRED)
39 PKG_CHECK_MODULES(audit
46 ${CMAKE_CURRENT_SOURCE_DIR}
49 ${journald_INCLUDE_DIRS}
50 ${security_manager_INCLUDE_DIRS}
55 ${journald_LIBRARY_DIRS}
56 ${security_manager_LIBRARY_DIRS}
62 Audit/AuditWrapper.cpp
63 Audit/AuparseSourceFeedWrapper.cpp
64 Audit/AuparseWrapper.cpp
66 Audit/SyscallRuleData.cpp
67 Lad/AuditEventHandler.cpp
68 Lad/AuditRulesPopulator.cpp
78 Systemd/DataCollector.cpp
83 Lad/SyslogDataCollector.cpp
87 IF(WITH_SECURITY_MANAGER)
90 SecurityManager/DataProvider.cpp
91 SecurityManager/SecurityManagerWrapper.cpp
93 ELSE(WITH_SECURITY_MANAGER)
96 Lad/DummyDataProvider.cpp
98 ENDIF(WITH_SECURITY_MANAGER)
100 ADD_EXECUTABLE(${TARGET_NICE_LAD} ${SOURCE_FILES})
102 TARGET_LINK_LIBRARIES(
106 ${journald_LIBRARIES}
107 ${security_manager_LIBRARIES}
110 INSTALL(TARGETS ${TARGET_NICE_LAD} DESTINATION ${SBIN_DIR})