blob: 899008e15cd3bf9ce2c783e6da25c80e4aed5c10 [file] [log] [blame]
# Copyright 2016 The Fuchsia Authors
#
# 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.
set_source_files_properties(${COBALT_PROTO_HDRS} PROPERTIES GENERATED TRUE)
set_source_files_properties(${CONFIG_PROTO_HDRS} PROPERTIES GENERATED TRUE)
set(ENCODER_TEST_CONFIG_H "${CMAKE_CURRENT_BINARY_DIR}/encoder_test_config.h")
generate_test_config_h(${CMAKE_CURRENT_SOURCE_DIR}/encoder_test_config.yaml
${ENCODER_TEST_CONFIG_H} 1 1 "cobalt_config_base64")
set(ENVELOPE_MAKER_TEST_CONFIG_H "${CMAKE_CURRENT_BINARY_DIR}/envelope_maker_test_config.h")
generate_test_config_h(${CMAKE_CURRENT_SOURCE_DIR}/envelope_maker_test_config.yaml
${ENVELOPE_MAKER_TEST_CONFIG_H} 1 1 "cobalt_config_base64")
set(SHIPPING_MANAGER_TEST_CONFIG_H "${CMAKE_CURRENT_BINARY_DIR}/shipping_manager_test_config.h")
generate_test_config_h(${CMAKE_CURRENT_SOURCE_DIR}/shipping_manager_test_config.yaml
${SHIPPING_MANAGER_TEST_CONFIG_H} 1 1 "cobalt_config_base64")
# client_secret library
add_library(client_secret client_secret.cc)
target_link_libraries(client_secret cobalt_crypto)
add_cobalt_dependencies(client_secret)
# encoder library
add_library(encoder
encoder.cc
envelope_maker.cc
project_context.cc
send_retryer.cc
shipping_manager.cc
shuffler_client.cc
system_data.cc
${COBALT_PROTO_HDRS} ${CONFIG_PROTO_HDRS})
target_link_libraries(encoder
client_config
client_secret
encrypted_message_util
forculus_encrypter
rappor_encoder
shuffler_grpc_client)
add_cobalt_dependencies(encoder)
add_executable(encoder_tests
client_secret_test.cc
encoder_test.cc
${ENCODER_TEST_CONFIG_H}
envelope_maker_test.cc
${ENVELOPE_MAKER_TEST_CONFIG_H}
send_retryer_test.cc
shipping_manager_test.cc
${SHIPPING_MANAGER_TEST_CONFIG_H}
shuffler_client_test.cc system_data_test.cc)
target_link_libraries(encoder_tests
client_secret
encoder)
add_cobalt_test_dependencies(encoder_tests ${DIR_GTESTS})
add_dependencies(encoder_tests build_config_parser)