blob: 4e0f026dd4750c83898dd5309654f46168d7140f [file] [log] [blame] [edit]
# Copyright 2024 Google LLC
#
# 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.
if (NOT COMPILER_GCC)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize-coverage=0")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize-coverage=0")
endif()
### Libraries
fuzztest_cc_library(
NAME
bazel
HDRS
"bazel.h"
SRCS
"bazel.cc"
DEPS
fuzztest::common_logging
absl::status
absl::strings
absl::time
)
fuzztest_cc_library(
NAME
blob_file
HDRS
"blob_file.h"
SRCS
"blob_file.cc"
DEFINES
# Riegeli doesn't yet support CMake builds:
# https://github.com/google/riegeli/issues/16
CENTIPEDE_DISABLE_RIEGELI
DEPS
fuzztest::defs
fuzztest::hash
fuzztest::common_logging
fuzztest::remote_file
fuzztest::status_macros
absl::core_headers
absl::nullability
absl::status
absl::statusor
absl::str_format
absl::string_view
absl::time
)
fuzztest_cc_library(
NAME
defs
HDRS
"defs.h"
DEPS
absl::span
)
fuzztest_cc_library(
NAME
hash
HDRS
"hash.h"
SRCS
"hash.cc"
DEPS
fuzztest::defs
fuzztest::sha1
)
fuzztest_cc_library(
NAME
common_logging
HDRS
"logging.h"
DEPS
absl::absl_check
absl::absl_log
)
fuzztest_cc_library(
NAME
remote_file
HDRS
"remote_file.h"
SRCS
"remote_file.cc"
"remote_file_oss.cc"
DEFINES
# Riegeli doesn't yet support CMake builds:
# https://github.com/google/riegeli/issues/16
CENTIPEDE_DISABLE_RIEGELI
DEPS
fuzztest::defs
fuzztest::common_logging
fuzztest::status_macros
absl::nullability
absl::status
absl::statusor
absl::strings
)
fuzztest_cc_library(
NAME
sha1
HDRS
"sha1.h"
SRCS
"sha1.cc"
DEPS
absl::nullability
)
fuzztest_cc_library(
NAME
status_macros
HDRS
"status_macros.h"
DEPS
fuzztest::common_logging
absl::core_headers
)
fuzztest_cc_library(
NAME
test_util
HDRS
"test_util.h"
SRCS
"test_util.cc"
DEPS
fuzztest::common_logging
fuzztest::blob_file
fuzztest::defs
absl::strings
absl::str_format
GTest::gtest
TESTONLY
)
fuzztest_cc_library(
NAME
temp_dir
HDRS
"temp_dir.h"
SRCS
"temp_dir.cc"
DEPS
fuzztest::common_logging
absl::string_view
absl::strings
)
### Tests
fuzztest_cc_test(
NAME
blob_file_test
SRCS
"blob_file_test.cc"
DEPS
fuzztest::blob_file
fuzztest::defs
fuzztest::test_util
absl::status
GTest::gmock_main
)
fuzztest_cc_test(
NAME
hash_test
SRCS
"hash_test.cc"
DEPS
fuzztest::hash
GTest::gmock_main
)
fuzztest_cc_test(
NAME
remote_file_test
SRCS
"remote_file_test.cc"
DEPS
fuzztest::common_logging
fuzztest::remote_file
fuzztest::test_util
absl::check
absl::status
absl::time
GTest::gmock_main
)