1# Copyright 2021 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15include($ENV{PW_ROOT}/pw_build/pigweed.cmake) 16 17pw_add_module_config(pw_function_CONFIG) 18 19pw_add_library(pw_function.config INTERFACE 20 HEADERS 21 public/pw_function/config.h 22 PUBLIC_INCLUDES 23 public 24 PUBLIC_DEPS 25 ${pw_function_CONFIG} 26) 27 28pw_add_library(pw_function INTERFACE 29 HEADERS 30 public/pw_function/function.h 31 PUBLIC_INCLUDES 32 public 33 PUBLIC_DEPS 34 pw_assert 35 pw_function.config 36 pw_preprocessor 37 pw_third_party.fuchsia.fit 38) 39 40pw_add_test(pw_function.function_test 41 SOURCES 42 function_test.cc 43 PRIVATE_DEPS 44 pw_compilation_testing._pigweed_only_negative_compilation 45 pw_function 46 pw_polyfill 47 GROUPS 48 modules 49 pw_function 50) 51 52pw_add_library(pw_function.pointer INTERFACE 53 HEADERS 54 public/pw_function/pointer.h 55 public/pw_function/internal/static_invoker.h 56 PUBLIC_INCLUDES 57 public 58) 59 60pw_add_test(pw_function.pointer_test 61 SOURCES 62 pointer_test.cc 63 PRIVATE_DEPS 64 pw_function 65 pw_function.pointer 66 GROUPS 67 modules 68 pw_function 69) 70 71pw_add_library(pw_function.scope_guard INTERFACE 72 HEADERS 73 public/pw_function/scope_guard.h 74 PUBLIC_INCLUDES 75 public 76) 77 78pw_add_test(pw_function.scope_guard_test 79 SOURCES 80 scope_guard_test.cc 81 PRIVATE_DEPS 82 pw_function 83 pw_function.scope_guard 84 GROUPS 85 modules 86 pw_function 87) 88