# Copyright (C) 2021 The Android Open Source Project # # 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. # This meson project only supports the Perfetto SDK # available from release branches. # https://perfetto.dev/docs/instrumentation/tracing-sdk project( 'perfetto', ['cpp'], default_options: ['cpp_std=c++17'] ) fs = import('fs') if not fs.is_dir('sdk') error('sdk dir not found, please checkout a release tag, e.g. v14.0') endif cpp = meson.get_compiler('cpp') deps_perfetto = [dependency('threads')] if host_machine.system() == 'android' deps_perfetto += cpp.find_library('log') endif lib_perfetto = static_library( 'perfetto', sources: 'sdk/perfetto.cc', dependencies: deps_perfetto, install: true, ) inc_perfetto = include_directories('sdk') dir_perfetto_trace = join_paths(meson.current_source_dir(), 'protos/perfetto/trace') install_data(dir_perfetto_trace / 'perfetto_trace.proto') dep_perfetto = declare_dependency( link_with: lib_perfetto, include_directories: inc_perfetto, variables: { 'pkgdatadir': dir_perfetto_trace, } )