|
|
|
@ -2,6 +2,9 @@ if (NOT EXISTS "${PROJECT_SOURCE_DIR}/../gmock/CMakeLists.txt") |
|
|
|
|
message(FATAL_ERROR "Cannot find gmock directory.") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
option(protobuf_ABSOLUTE_TEST_PLUGIN_PATH |
|
|
|
|
"Using absolute test_plugin path in tests" ON) |
|
|
|
|
|
|
|
|
|
include_directories( |
|
|
|
|
${protobuf_source_dir}/gmock |
|
|
|
|
${protobuf_source_dir}/gmock/gtest |
|
|
|
@ -170,7 +173,12 @@ set(tests_files |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/wire_format_unittest.cc |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
enable_testing() |
|
|
|
|
if(protobuf_ABSOLUTE_TEST_PLUGIN_PATH) |
|
|
|
|
add_compile_options(-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH="$<TARGET_FILE:test_plugin>") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
add_executable(tests ${tests_files} ${common_test_files} ${tests_proto_files} ${lite_test_proto_files}) |
|
|
|
|
target_link_libraries(tests libprotoc libprotobuf gmock_main) |
|
|
|
|
|
|
|
|
|
set(test_plugin_files |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/compiler/mock_code_generator.cc |
|
|
|
@ -178,18 +186,15 @@ set(test_plugin_files |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/testing/file.h |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/compiler/test_plugin.cc |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
add_executable(test_plugin ${test_plugin_files}) |
|
|
|
|
target_link_libraries(test_plugin libprotoc libprotobuf gmock) |
|
|
|
|
|
|
|
|
|
add_compile_options(-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH="$<TARGET_FILE:test_plugin>") |
|
|
|
|
|
|
|
|
|
set(lite_test_files |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/lite_unittest.cc |
|
|
|
|
) |
|
|
|
|
add_executable(lite-test ${lite_test_files} ${common_lite_test_files} ${lite_test_proto_files}) |
|
|
|
|
target_link_libraries(lite-test libprotobuf-lite) |
|
|
|
|
add_test(NAME lite-test COMMAND lite-test |
|
|
|
|
WORKING_DIRECTORY ${protobuf_source_dir}) |
|
|
|
|
|
|
|
|
|
set(lite_arena_test_files |
|
|
|
|
${protobuf_source_dir}/src/google/protobuf/lite_arena_unittest.cc |
|
|
|
@ -197,17 +202,6 @@ set(lite_arena_test_files |
|
|
|
|
add_executable(lite-arena-test ${lite_arena_test_files} ${common_lite_test_files} ${lite_test_proto_files}) |
|
|
|
|
target_link_libraries(lite-arena-test libprotobuf-lite gmock_main) |
|
|
|
|
|
|
|
|
|
add_library(libtests STATIC ${common_test_files} ${tests_proto_files} ${lite_test_proto_files}) |
|
|
|
|
|
|
|
|
|
# Native single tests |
|
|
|
|
add_executable(tests ${tests_files}) |
|
|
|
|
target_link_libraries(tests libtests libprotoc libprotobuf gmock_main) |
|
|
|
|
|
|
|
|
|
# Sparated tests for CTest |
|
|
|
|
foreach(file ${tests_files}) |
|
|
|
|
get_filename_component(name ${file} NAME_WE) |
|
|
|
|
add_executable(${name} ${file}) |
|
|
|
|
target_link_libraries(${name} libtests libprotoc libprotobuf gmock_main) |
|
|
|
|
add_test(NAME ${name} COMMAND ${name} |
|
|
|
|
WORKING_DIRECTORY ${protobuf_source_dir}) |
|
|
|
|
endforeach() |
|
|
|
|
add_custom_target(check |
|
|
|
|
COMMAND tests |
|
|
|
|
WORKING_DIRECTORY ${protobuf_source_dir}) |
|
|
|
|