blob: 47dea7b1568d33008a3cc04bcd8f75db4e8e14a9 [file] [log] [blame]
# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/cpp/sdk_source_set.gni")
sdk_source_set("common") {
category = "internal"
visibility = [
":*",
"//src/lib/files:*",
"//src/lib/fsl/handles:*",
"//src/lib/fsl/io:*",
"//src/lib/fsl/socket:*",
"//src/lib/fsl/tasks:*",
]
sources = [
"build_config.h",
"fxl_export.h",
"macros.h",
]
}
sdk_source_set("memory") {
category = "internal"
visibility = [
":*",
"//src/lib/files:*",
"//src/lib/fsl/io:*",
"//src/lib/fsl/vmo:*",
]
sources = [
"memory/ref_counted.h",
"memory/ref_counted_internal.h",
"memory/ref_ptr.h",
"memory/ref_ptr_internal.h",
"memory/unique_object.h",
"memory/weak_ptr.h",
"memory/weak_ptr_internal.cc",
"memory/weak_ptr_internal.h",
]
public_deps = [
":common",
"//zircon/system/public",
]
}
sdk_source_set("third_party") {
category = "internal"
visibility = [
":*",
":strings",
]
sources = [
"third_party/icu/icu_utf.cc",
"third_party/icu/icu_utf.h",
]
configs += [ "//build/config:Wno-implicit-fallthrough" ]
}
sdk_source_set("string_printf") {
category = "internal"
visibility = [
":*",
"//src/lib/files:*",
"//src/lib/uuid:*",
]
sources = [
"strings/string_printf.cc",
"strings/string_printf.h",
]
public_deps = [ ":common" ]
}
sdk_source_set("strings") {
category = "internal"
visibility = [
":*",
"//src/lib/files:*",
"//src/lib/uuid:*",
]
sources = [
"strings/ascii.cc",
"strings/ascii.h",
"strings/concatenate.cc",
"strings/concatenate.h",
"strings/join_strings.h",
"strings/split_string.cc",
"strings/split_string.h",
"strings/string_number_conversions.cc",
"strings/string_number_conversions.h",
"strings/substitute.cc",
"strings/substitute.h",
"strings/trim.cc",
"strings/trim.h",
"strings/utf_codecs.cc",
"strings/utf_codecs.h",
]
public_deps = [
":common",
":string_printf",
":third_party",
]
}
sdk_source_set("functional") {
category = "internal"
visibility = [ ":*" ]
sources = [
"functional/apply.h",
"functional/cancelable_callback.h",
]
public_deps = [
":common",
":memory",
]
}
# Transitional target for things depending on the CLI
# parts of fxl. Eventually CLI-specific functionality
# will be removed from the main "fxl" target, and moved to this one.
sdk_source_set("cli") {
category = "internal"
sources = [
"command_line.cc",
"command_line.h",
"log_settings_command_line.cc",
"log_settings_command_line.h",
"observer_list.h",
]
public_deps = [
":fxl",
"//sdk/lib/syslog/cpp",
]
}
group("fxl_cli") {
public_deps = [ ":cli" ]
}
sdk_source_set("fxl") {
category = "internal"
sources = [ "observer_list.h" ]
public_deps = [
":common",
":functional",
":memory",
":strings",
"//sdk/lib/fit",
"//src/lib/files",
]
}
executable("fxl_unittests") {
testonly = true
sources = [
"command_line_unittest.cc",
"functional/apply_unittest.cc",
"functional/cancelable_callback_unittest.cc",
"log_settings_command_line_unittest.cc",
"memory/ref_counted_unittest.cc",
"memory/weak_ptr_unittest.cc",
"observer_list_unittest.cc",
"strings/ascii_unittest.cc",
"strings/concatenate_unittest.cc",
"strings/join_strings_unittest.cc",
"strings/split_string_unittest.cc",
"strings/string_number_conversions_unittest.cc",
"strings/string_printf_unittest.cc",
"strings/substitute_unittest.cc",
"strings/trim_unittest.cc",
"synchronization/thread_annotations_unittest.cc",
"test/test_settings_unittest.cc",
]
deps = [
":fxl",
"test:gtest_main",
"test:test_settings",
"//sdk/lib/syslog/cpp",
"//src/lib/files",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
}
if (is_fuchsia) {
import("//build/components.gni")
fuchsia_unittest_package("fxl_tests") {
manifest = "meta/fxl_unittests.cml"
deps = [ ":fxl_unittests" ]
test_specs = {
log_settings = {
max_severity = "FATAL"
}
}
}
group("tests") {
testonly = true
deps = [ ":fxl_tests" ]
}
}