diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/tests.cmake | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/cmake/tests.cmake b/cmake/tests.cmake index ffa10034..06d98860 100644 --- a/cmake/tests.cmake +++ b/cmake/tests.cmake @@ -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}) |