diff options
author | Konstantin Podsvirov <konstantin@podsvirov.pro> | 2015-09-17 12:08:47 +0300 |
---|---|---|
committer | Konstantin Podsvirov <konstantin@podsvirov.pro> | 2015-09-17 12:08:47 +0300 |
commit | e301946ca460b6ad971798a9b69ed66681498114 (patch) | |
tree | 291783e972d50676659178483df25ea30e9c045c /cmake/tests.cmake | |
parent | d41601c249ff377e19d2bc76521cebe96e73a610 (diff) | |
download | protobuf-e301946ca460b6ad971798a9b69ed66681498114.tar.gz protobuf-e301946ca460b6ad971798a9b69ed66681498114.tar.bz2 protobuf-e301946ca460b6ad971798a9b69ed66681498114.zip |
Simplify testing from CMake project to "check" target
Diffstat (limited to 'cmake/tests.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}) |