From 76fbecf9073dddde9be0bcf96d240d7a7d906498 Mon Sep 17 00:00:00 2001 From: Leonardo Di Donato Date: Thu, 19 Dec 2019 11:48:19 +0000 Subject: [PATCH] build: cmake falco target deps Co-authored-by: Lorenzo Fontana Signed-off-by: Leonardo Di Donato --- userspace/engine/CMakeLists.txt | 77 ++++++++++++++++----------------- userspace/falco/CMakeLists.txt | 9 +++- 2 files changed, 45 insertions(+), 41 deletions(-) diff --git a/userspace/engine/CMakeLists.txt b/userspace/engine/CMakeLists.txt index be1f15b3..3a3fceb1 100644 --- a/userspace/engine/CMakeLists.txt +++ b/userspace/engine/CMakeLists.txt @@ -1,58 +1,55 @@ # # Copyright (C) 2019 The Falco Authors. # +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 # -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. set(FALCO_ENGINE_SOURCE_FILES - rules.cpp - falco_common.cpp - falco_engine.cpp - falco_utils.cpp - json_evt.cpp - ruleset.cpp - token_bucket.cpp - formats.cpp) + rules.cpp + falco_common.cpp + falco_engine.cpp + falco_utils.cpp + json_evt.cpp + ruleset.cpp + token_bucket.cpp + formats.cpp) add_library(falco_engine STATIC ${FALCO_ENGINE_SOURCE_FILES}) add_dependencies(falco_engine njson lyaml lpeg) -target_include_directories(falco_engine PUBLIC - "${LUAJIT_INCLUDE}" - "${NJSON_INCLUDE}" - "${CURL_INCLUDE_DIR}" - "${TBB_INCLUDE_DIR}" - "${SYSDIG_SOURCE_DIR}/userspace/libsinsp/third-party/jsoncpp" - "${SYSDIG_SOURCE_DIR}/userspace/libscap" - "${SYSDIG_SOURCE_DIR}/userspace/libsinsp" - "${PROJECT_BINARY_DIR}/userspace/engine" - ) +target_include_directories( + falco_engine + PUBLIC + "${LUAJIT_INCLUDE}" + "${NJSON_INCLUDE}" + "${CURL_INCLUDE_DIR}" + "${TBB_INCLUDE_DIR}" + "${SYSDIG_SOURCE_DIR}/userspace/libsinsp/third-party/jsoncpp" + "${SYSDIG_SOURCE_DIR}/userspace/libscap" + "${SYSDIG_SOURCE_DIR}/userspace/libsinsp" + "${PROJECT_BINARY_DIR}/userspace/engine") -target_link_libraries(falco_engine - "${FALCO_SINSP_LIBRARY}" - "${LPEG_LIB}" - "${LYAML_LIB}" - "${LIBYAML_LIB}") +target_link_libraries(falco_engine "${FALCO_SINSP_LIBRARY}" "${LPEG_LIB}" "${LYAML_LIB}" "${LIBYAML_LIB}") configure_file(config_falco_engine.h.in config_falco_engine.h) if(DEFINED FALCO_COMPONENT) -install(DIRECTORY lua - DESTINATION "${FALCO_SHARE_DIR}" - COMPONENT "${FALCO_COMPONENT}" - FILES_MATCHING PATTERN *.lua) + install( + DIRECTORY lua + DESTINATION "${FALCO_SHARE_DIR}" + COMPONENT "${FALCO_COMPONENT}" + FILES_MATCHING + PATTERN *.lua) else() -install(DIRECTORY lua - DESTINATION "${FALCO_SHARE_DIR}" - FILES_MATCHING PATTERN *.lua) + install( + DIRECTORY lua + DESTINATION "${FALCO_SHARE_DIR}" + FILES_MATCHING + PATTERN *.lua) endif() diff --git a/userspace/falco/CMakeLists.txt b/userspace/falco/CMakeLists.txt index 289fe686..6650f3b3 100644 --- a/userspace/falco/CMakeLists.txt +++ b/userspace/falco/CMakeLists.txt @@ -44,6 +44,12 @@ add_executable( ${CMAKE_CURRENT_BINARY_DIR}/output.pb.cc ${CMAKE_CURRENT_BINARY_DIR}/schema.pb.cc) +add_dependencies(falco civetweb) + +if(USE_BUNDLED_DEPS) +add_dependencies(falco yamlcpp) +endif() + target_include_directories( falco PUBLIC @@ -58,9 +64,10 @@ target_include_directories( "${CMAKE_CURRENT_BINARY_DIR}" "${DRAIOS_DEPENDENCIES_DIR}/yaml-${DRAIOS_YAML_VERSION}/target/include") -target_link_libraries(falco falco_engine sinsp) target_link_libraries( falco + falco_engine + sinsp "${GRPCPP_LIB}" "${GRPC_LIB}" "${PROTOBUF_LIB}"