1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-04-18 17:24:03 +03:00
mvfst/cmake/QuicTest.cmake
Hani Damlaj 2660a288b3 Update Company Name
Summary: - as title

Reviewed By: lnicco

Differential Revision: D33513410

fbshipit-source-id: 282b6f512cf83b9abb7990402661135b658f7bd1
2022-01-13 12:07:48 -08:00

74 lines
2.0 KiB
CMake

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
include(CTest)
if(BUILD_TESTS)
find_package(GMock 1.8.0 MODULE REQUIRED)
find_package(GTest 1.8.0 MODULE REQUIRED)
endif()
function(quic_add_test)
if(NOT BUILD_TESTS)
return()
endif()
set(options)
set(one_value_args TARGET WORKING_DIRECTORY PREFIX)
set(multi_value_args SOURCES DEPENDS INCLUDES EXTRA_ARGS)
cmake_parse_arguments(PARSE_ARGV 0 QUIC_TEST "${options}" "${one_value_args}" "${multi_value_args}")
if(NOT QUIC_TEST_TARGET)
message(FATAL_ERROR "The TARGET parameter is mandatory.")
endif()
if(NOT QUIC_TEST_SOURCES)
set(QUIC_TEST_SOURCES "${QUIC_TEST_TARGET}.cpp")
endif()
add_executable(${QUIC_TEST_TARGET}
"${QUIC_TEST_SOURCES}"
# implementation of 'main()' that calls folly::init
"${QUIC_FBCODE_ROOT}/quic/common/test/TestMain.cpp"
)
set_property(TARGET ${QUIC_TEST_TARGET} PROPERTY ENABLE_EXPORTS true)
target_include_directories(${QUIC_TEST_TARGET} PUBLIC
"${QUIC_TEST_INCLUDES}"
${LIBGMOCK_INCLUDE_DIR}
${LIBGTEST_INCLUDE_DIRS}
${QUIC_EXTRA_INCLUDE_DIRECTORIES}
)
target_compile_definitions(${QUIC_TEST_TARGET} PUBLIC
${LIBGMOCK_DEFINES}
)
target_link_libraries(${QUIC_TEST_TARGET} PUBLIC
"${QUIC_TEST_DEPENDS}"
${LIBGMOCK_LIBRARIES}
${GLOG_LIBRARY}
)
# Per https://github.com/facebookincubator/mvfst/pull/9, disable some warnings
# in the tests that come from -Wextra in _QUIC_BASE_COMPILE_OPTIONS.
target_compile_options(
${QUIC_TEST_TARGET} PRIVATE
${_QUIC_BASE_COMPILE_OPTIONS}
"-Wno-sign-compare"
"-Wno-inconsistent-missing-override"
)
gtest_add_tests(TARGET ${QUIC_TEST_TARGET}
EXTRA_ARGS "${QUIC_TEST_EXTRA_ARGS}"
WORKING_DIRECTORY ${QUIC_TEST_WORKING_DIRECTORY}
TEST_PREFIX ${QUIC_TEST_PREFIX}
TEST_LIST QUIC_TEST_CASES
)
set_tests_properties(${QUIC_TEST_CASES} PROPERTIES TIMEOUT 120)
endfunction()