osquery-1/osquery/events/CMakeLists.txt
2016-08-10 14:06:47 -07:00

65 lines
2.3 KiB
CMake

if(APPLE)
ADD_OSQUERY_LINK_ADDITIONAL("-framework CoreServices")
ADD_OSQUERY_LINK_ADDITIONAL("-framework SystemConfiguration")
ADD_OSQUERY_LINK_ADDITIONAL("-framework IOKit")
ADD_OSQUERY_LINK_ADDITIONAL("-framework DiskArbitration")
file(GLOB OSQUERY_EVENTS_DARWIN "darwin/*.cpp")
ADD_OSQUERY_LIBRARY(FALSE osquery_events_darwin ${OSQUERY_EVENTS_DARWIN})
elseif(FREEBSD)
file(GLOB OSQUERY_EVENTS_FREEBSD "freebsd/*.cpp")
ADD_OSQUERY_LIBRARY(FALSE osquery_events_freebsd ${OSQUERY_EVENTS_FREEBSD})
elseif(WINDOWS)
# TODO: When we have Windows events, uncomment these
# file(GLOB OSQUERY_EVENTS_WINDOWS "windows/*.cpp")
# ADD_OSQUERY_LIBRARY(FALSE osquery_events_windows ${OSQUERY_EVENTS_WINDOWS})
else()
# See the root CMakeLists for SYSTEMD detection.
# The udev library link is not available without systemd-devel.
ADD_OSQUERY_LINK_ADDITIONAL("udev")
ADD_OSQUERY_LINK_ADDITIONAL("audit")
file(GLOB OSQUERY_EVENTS_LINUX "linux/*.cpp")
ADD_OSQUERY_LIBRARY(FALSE osquery_events_linux ${OSQUERY_EVENTS_LINUX})
endif()
ADD_OSQUERY_LIBRARY(TRUE osquery_events
events.cpp
)
if(NOT WINDOWS)
file(GLOB OSQUERY_EVENTS_TESTS "tests/*.cpp")
ADD_OSQUERY_TEST(TRUE ${OSQUERY_EVENTS_TESTS})
file(GLOB OSQUERY_EVENTS_BENCHMARKS "benchmarks/*.cpp")
ADD_OSQUERY_BENCHMARK(${OSQUERY_EVENTS_BENCHMARKS})
# Kernel-related userland code.
file(GLOB OSQUERY_EVENTS_KERNEL "kernel/*.cpp")
ADD_OSQUERY_LIBRARY(FALSE osquery_events_kernel
kernel.cpp
${OSQUERY_EVENTS_KERNEL}
)
# Special kernel test define when building non-SDK and non-Release.
if(NOT OSQUERY_BUILD_RELEASE AND NOT OSQUERY_BUILD_SDK_ONLY)
set_target_properties(osquery_events_kernel
PROPERTIES COMPILE_DEFINITIONS "KERNEL_TEST=1")
endif()
file(GLOB OSQUERY_EVENTS_KERNEL_TESTS "kernel/tests/*.cpp")
ADD_OSQUERY_KERNEL_TEST(${OSQUERY_EVENTS_KERNEL_TESTS})
file(GLOB OSQUERY_EVENTS_KERNEL_BENCHMARKS "kernel/benchmarks/*.cpp")
ADD_OSQUERY_KERNEL_BENCHMARK(${OSQUERY_EVENTS_KERNEL_BENCHMARKS})
if(APPLE)
file(GLOB OSQUERY_DARWIN_EVENTS_TESTS "darwin/tests/*.cpp")
ADD_OSQUERY_TEST(FALSE ${OSQUERY_DARWIN_EVENTS_TESTS})
elseif(LINUX)
file(GLOB OSQUERY_LINUX_EVENTS_TESTS "linux/tests/*.cpp")
ADD_OSQUERY_TEST(FALSE ${OSQUERY_LINUX_EVENTS_TESTS})
endif()
endif()