From 2d72bea3d5141e2f699380fdd8d12c9fe432213c Mon Sep 17 00:00:00 2001 From: Lorenzo Fontana Date: Thu, 12 Dec 2019 15:42:13 +0100 Subject: [PATCH] build: include Coverage and add headers Signed-off-by: Lorenzo Fontana Co-Authored-By: Leonardo Di Donato --- CMakeLists.txt | 14 +------------- cmake/modules/Coverage.cmake | 29 +++++++++++++++++++++++++++++ cmake/modules/FindGRPC.cmake | 16 ++++++++++++++++ 3 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 cmake/modules/Coverage.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 26c4a765a17..4fe34ffa36a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -291,19 +291,7 @@ include(FindGRPC) install(FILES falco.yaml DESTINATION "${FALCO_ETC_DIR}") -# Tests coverage -option(FALCO_COVERAGE "Build test suite with coverage information" OFF) -if(FALCO_COVERAGE) - if (NOT (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) - message(FATAL_ERROR "FALCO_COVERAGE requires GCC or Clang.") - endif() - - message(STATUS "Building with coverage information") - add_compile_options(-g --coverage) - set(CMAKE_SHARED_LINKER_FLAGS "--coverage ${CMAKE_SHARED_LINKER_FLAGS}") - set(CMAKE_EXE_LINKER_FLAGS "--coverage ${CMAKE_EXE_LINKER_FLAGS}") -endif() - +include(Coverage) # Tests add_subdirectory(test) diff --git a/cmake/modules/Coverage.cmake b/cmake/modules/Coverage.cmake new file mode 100644 index 00000000000..330751194ff --- /dev/null +++ b/cmake/modules/Coverage.cmake @@ -0,0 +1,29 @@ +# +# 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 +# +# 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. +# + +# Tests coverage +option(FALCO_COVERAGE "Build test suite with coverage information" OFF) +if(FALCO_COVERAGE) + if (NOT (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) + message(FATAL_ERROR "FALCO_COVERAGE requires GCC or Clang.") + endif() + + message(STATUS "Building with coverage information") + add_compile_options(-g --coverage) + set(CMAKE_SHARED_LINKER_FLAGS "--coverage ${CMAKE_SHARED_LINKER_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "--coverage ${CMAKE_EXE_LINKER_FLAGS}") +endif() diff --git a/cmake/modules/FindGRPC.cmake b/cmake/modules/FindGRPC.cmake index 6c39066c472..c0b34e58ab6 100644 --- a/cmake/modules/FindGRPC.cmake +++ b/cmake/modules/FindGRPC.cmake @@ -1,3 +1,19 @@ +# +# 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 +# +# 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. +# find_path(GRPCXX_INCLUDE NAMES grpc++/grpc++.h) if(GRPCXX_INCLUDE) set(GRPC_INCLUDE ${GRPCXX_INCLUDE})