osquery-1/osquery/filesystem/BUCK
George Guliashvili 971bee4441 Move build system to BUCK
fbshipit-source-id: 8ffef5e6a393ac67ce56dcb74845402e43d964a0
2018-12-07 16:12:35 +00:00

130 lines
3.5 KiB
Python

# Copyright (c) 2014-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under both the Apache 2.0 license (found in the
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
# in the COPYING file in the root directory of this source tree).
# You may select, at your option, one of the above-listed licenses.
load("//tools/build_defs/oss/osquery:cxx.bzl", "osquery_cxx_library", "osquery_cxx_test")
load("//tools/build_defs/oss/osquery:native.bzl", "osquery_target")
load("//tools/build_defs/oss/osquery:platforms.bzl", "FREEBSD", "LINUX", "MACOSX", "POSIX", "WINDOWS")
load("//tools/build_defs/oss/osquery:third_party.bzl", "osquery_tp_target")
osquery_cxx_library(
name = "filesystem",
srcs = [
"file_compression.cpp",
"filesystem.cpp",
],
header_namespace = "osquery/filesystem",
exported_headers = [
"fileops.h",
"filesystem.h",
],
exported_platform_headers = [
(
LINUX,
[
"linux/proc.h",
],
),
],
exported_post_platform_linker_flags = [
(
FREEBSD,
[
"-larchive",
"-lzstd",
],
),
],
platform_srcs = [
(
POSIX,
[
"posix/fileops.cpp",
],
),
(
LINUX,
[
"linux/mem.cpp",
"linux/proc.cpp",
],
),
(
WINDOWS,
[
"windows/fileops.cpp",
],
),
],
tests = [
":tests",
],
visibility = ["PUBLIC"],
deps = [
osquery_target("osquery:headers"),
osquery_target("osquery/process:process"),
osquery_target("osquery/utils/conversions:conversions"),
osquery_target("osquery/utils/status:status"),
osquery_target("osquery/utils/system:env"),
osquery_tp_target("boost"),
osquery_tp_target("libarchive"),
osquery_tp_target("zstd"),
],
)
osquery_cxx_library(
name = "mock_file_structure",
srcs = [
"mock_file_structure.cpp",
],
header_namespace = "osquery/filesystem",
exported_headers = [
"mock_file_structure.h",
],
visibility = ["PUBLIC"],
deps = [
osquery_tp_target("boost"),
":filesystem",
],
)
osquery_cxx_test(
name = "tests",
srcs = [
"tests/fileops.cpp",
"tests/filesystem.cpp",
],
env = {
"TEST_CONF_FILES_DIR": "$(location {})".format(
osquery_target("tools/tests:plist_files"),
),
},
platform_srcs = [
(
MACOSX,
["tests/darwin/plist_tests.cpp"],
),
],
visibility = ["PUBLIC"],
deps = [
osquery_target("osquery/config/tests:test_utils"),
osquery_target("osquery/config/plugins:tls_config"),
osquery_target("osquery/core:core"),
osquery_target("osquery/core/sql:sql"),
osquery_target("osquery/dispatcher:dispatcher"),
osquery_target("osquery/distributed:distributed"),
osquery_target("osquery/events:events"),
osquery_target("osquery/extensions:extensions"),
osquery_target("osquery/process:process"),
osquery_target("osquery/registry:registry"),
osquery_target("osquery/remote/enroll:tls_enroll"),
osquery_target("specs:tables"),
":filesystem",
":mock_file_structure",
],
)