1f92157deSopenharmony_ci# Copyright (C) 2018. Huawei Technologies Co., Ltd. All rights reserved. 2f92157deSopenharmony_ci# Use of this source code is governed by a BSD-style license that can be 3f92157deSopenharmony_ci# found in the LICENSE file. 4f92157deSopenharmony_ci 5f92157deSopenharmony_ciconfig("gtest_private_config") { 6f92157deSopenharmony_ci visibility = [ ":*" ] 7f92157deSopenharmony_ci include_dirs = [ "googletest" ] 8f92157deSopenharmony_ci} 9f92157deSopenharmony_ci 10f92157deSopenharmony_ciconfig("gtest_private_config_rtti") { 11f92157deSopenharmony_ci visibility = [ ":*" ] 12f92157deSopenharmony_ci include_dirs = [ "googletest" ] 13f92157deSopenharmony_ci cflags = [ "-frtti" ] 14f92157deSopenharmony_ci cflags_objcc = [ "-frtti" ] 15f92157deSopenharmony_ci cflags_cc = [ "-frtti" ] 16f92157deSopenharmony_ci} 17f92157deSopenharmony_ci 18f92157deSopenharmony_ciconfig("gtest_config") { 19f92157deSopenharmony_ci include_dirs = [ "googletest/include" ] 20f92157deSopenharmony_ci cflags_cc = [ 21f92157deSopenharmony_ci "-std=c++17", 22f92157deSopenharmony_ci "-Wno-float-equal", 23f92157deSopenharmony_ci "-Wno-sign-compare", 24f92157deSopenharmony_ci "-Wno-reorder-init-list", 25f92157deSopenharmony_ci ] 26f92157deSopenharmony_ci if (is_mingw) { 27f92157deSopenharmony_ci cflags_cc += [ 28f92157deSopenharmony_ci "-Wno-unused-const-variable", 29f92157deSopenharmony_ci "-Wno-unused-private-field", 30f92157deSopenharmony_ci ] 31f92157deSopenharmony_ci } 32f92157deSopenharmony_ci} 33f92157deSopenharmony_ci 34f92157deSopenharmony_cisources_files = [ 35f92157deSopenharmony_ci "googletest/include/gtest/gtest-death-test.h", 36f92157deSopenharmony_ci "googletest/include/gtest/gtest-matchers.h", 37f92157deSopenharmony_ci "googletest/include/gtest/gtest-message.h", 38f92157deSopenharmony_ci "googletest/include/gtest/gtest-param-test.h", 39f92157deSopenharmony_ci "googletest/include/gtest/gtest-printers.h", 40f92157deSopenharmony_ci "googletest/include/gtest/gtest-test-part.h", 41f92157deSopenharmony_ci "googletest/include/gtest/gtest-typed-test.h", 42f92157deSopenharmony_ci "googletest/include/gtest/gtest_pred_impl.h", 43f92157deSopenharmony_ci "googletest/include/gtest/gtest_prod.h", 44f92157deSopenharmony_ci "googletest/include/gtest/hwext/gtest-ext.h", 45f92157deSopenharmony_ci "googletest/include/gtest/hwext/gtest-filter.h", 46f92157deSopenharmony_ci "googletest/include/gtest/hwext/gtest-multithread.h", 47f92157deSopenharmony_ci "googletest/include/gtest/hwext/gtest-tag.h", 48f92157deSopenharmony_ci "googletest/include/gtest/hwext/utils.h", 49f92157deSopenharmony_ci "googletest/include/gtest/internal/custom/gtest-port.h", 50f92157deSopenharmony_ci "googletest/include/gtest/internal/custom/gtest-printers.h", 51f92157deSopenharmony_ci "googletest/include/gtest/internal/custom/gtest.h", 52f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-death-test-internal.h", 53f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-filepath.h", 54f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-internal.h", 55f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-param-util.h", 56f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-port-arch.h", 57f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-port.h", 58f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-string.h", 59f92157deSopenharmony_ci "googletest/include/gtest/internal/gtest-type-util.h", 60f92157deSopenharmony_ci "googletest/src/gtest-all.cc", 61f92157deSopenharmony_ci "googletest/src/gtest-assertion-result.cc", 62f92157deSopenharmony_ci "googletest/src/gtest-death-test.cc", 63f92157deSopenharmony_ci "googletest/src/gtest-filepath.cc", 64f92157deSopenharmony_ci "googletest/src/gtest-internal-inl.h", 65f92157deSopenharmony_ci "googletest/src/gtest-matchers.cc", 66f92157deSopenharmony_ci "googletest/src/gtest-port.cc", 67f92157deSopenharmony_ci "googletest/src/gtest-printers.cc", 68f92157deSopenharmony_ci "googletest/src/gtest-test-part.cc", 69f92157deSopenharmony_ci "googletest/src/gtest-typed-test.cc", 70f92157deSopenharmony_ci "googletest/src/gtest.cc", 71f92157deSopenharmony_ci "googletest/src/hwext/gtest-ext.cc", 72f92157deSopenharmony_ci "googletest/src/hwext/gtest-filter.cc", 73f92157deSopenharmony_ci "googletest/src/hwext/gtest-multithread.cpp", 74f92157deSopenharmony_ci "googletest/src/hwext/gtest-tag.cc", 75f92157deSopenharmony_ci "googletest/src/hwext/gtest-utils.cc", 76f92157deSopenharmony_ci] 77f92157deSopenharmony_ci 78f92157deSopenharmony_cistatic_library("gtest") { 79f92157deSopenharmony_ci testonly = true 80f92157deSopenharmony_ci public = [ 81f92157deSopenharmony_ci "googletest/include/gtest/gtest-spi.h", 82f92157deSopenharmony_ci "googletest/include/gtest/gtest.h", 83f92157deSopenharmony_ci ] 84f92157deSopenharmony_ci sources = sources_files 85f92157deSopenharmony_ci sources -= [ "googletest/src/gtest-all.cc" ] 86f92157deSopenharmony_ci public_configs = [ ":gtest_config" ] 87f92157deSopenharmony_ci configs += [ ":gtest_private_config" ] 88f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 89f92157deSopenharmony_ci} 90f92157deSopenharmony_ci 91f92157deSopenharmony_cistatic_library("gtest_rtti") { 92f92157deSopenharmony_ci testonly = true 93f92157deSopenharmony_ci public = [ 94f92157deSopenharmony_ci "googletest/include/gtest/gtest-spi.h", 95f92157deSopenharmony_ci "googletest/include/gtest/gtest.h", 96f92157deSopenharmony_ci ] 97f92157deSopenharmony_ci sources = sources_files 98f92157deSopenharmony_ci sources -= [ "googletest/src/gtest-all.cc" ] 99f92157deSopenharmony_ci public_configs = [ ":gtest_config" ] 100f92157deSopenharmony_ci configs += [ ":gtest_private_config_rtti" ] 101f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 102f92157deSopenharmony_ci} 103f92157deSopenharmony_cistatic_library("gtest_rtti_main") { #Add gtest entry with RTTI compilation 104f92157deSopenharmony_ci # option 105f92157deSopenharmony_ci testonly = true 106f92157deSopenharmony_ci sources = [ "googletest/src/gtest_main.cc" ] 107f92157deSopenharmony_ci public_deps = [ ":gtest_rtti" ] 108f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 109f92157deSopenharmony_ci} 110f92157deSopenharmony_ci 111f92157deSopenharmony_cistatic_library("gtest_main") { 112f92157deSopenharmony_ci testonly = true 113f92157deSopenharmony_ci sources = [ "googletest/src/gtest_main.cc" ] 114f92157deSopenharmony_ci public_deps = [ ":gtest" ] 115f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 116f92157deSopenharmony_ci} 117f92157deSopenharmony_ci 118f92157deSopenharmony_ciconfig("gmock_private_config") { 119f92157deSopenharmony_ci visibility = [ ":*" ] 120f92157deSopenharmony_ci include_dirs = [ "googlemock" ] 121f92157deSopenharmony_ci} 122f92157deSopenharmony_ci 123f92157deSopenharmony_ciconfig("gmock_private_config_rtti") { 124f92157deSopenharmony_ci visibility = [ ":*" ] 125f92157deSopenharmony_ci include_dirs = [ "googlemock/include" ] 126f92157deSopenharmony_ci cflags = [ "-frtti" ] 127f92157deSopenharmony_ci cflags_objcc = [ "-frtti" ] 128f92157deSopenharmony_ci cflags_cc = [ "-frtti" ] 129f92157deSopenharmony_ci} 130f92157deSopenharmony_ci 131f92157deSopenharmony_ciconfig("gmock_config") { 132f92157deSopenharmony_ci include_dirs = [ "googlemock/include" ] 133f92157deSopenharmony_ci 134f92157deSopenharmony_ci cflags_cc = [ 135f92157deSopenharmony_ci # The MOCK_METHODn() macros do not specify "override", which triggers this 136f92157deSopenharmony_ci # warning in users: "error: 'Method' overrides a member function but is not 137f92157deSopenharmony_ci # marked 'override' [-Werror,-Winconsistent-missing-override]". Suppress 138f92157deSopenharmony_ci # these warnings until https://github.com/google/googletest/issues/533 is 139f92157deSopenharmony_ci # fixed. 140f92157deSopenharmony_ci "-Wno-inconsistent-missing-override", 141f92157deSopenharmony_ci ] 142f92157deSopenharmony_ci} 143f92157deSopenharmony_ci 144f92157deSopenharmony_cigmock_sources_files = [ 145f92157deSopenharmony_ci "googlemock/include/gmock/gmock-actions.h", 146f92157deSopenharmony_ci "googlemock/include/gmock/gmock-cardinalities.h", 147f92157deSopenharmony_ci "googlemock/include/gmock/gmock-function-mocker.h", 148f92157deSopenharmony_ci "googlemock/include/gmock/gmock-matchers.h", 149f92157deSopenharmony_ci "googlemock/include/gmock/gmock-more-actions.h", 150f92157deSopenharmony_ci "googlemock/include/gmock/gmock-more-matchers.h", 151f92157deSopenharmony_ci "googlemock/include/gmock/gmock-nice-strict.h", 152f92157deSopenharmony_ci "googlemock/include/gmock/gmock-spec-builders.h", 153f92157deSopenharmony_ci "googlemock/include/gmock/internal/custom/gmock-generated-actions.h", 154f92157deSopenharmony_ci "googlemock/include/gmock/internal/custom/gmock-matchers.h", 155f92157deSopenharmony_ci "googlemock/include/gmock/internal/custom/gmock-port.h", 156f92157deSopenharmony_ci "googlemock/include/gmock/internal/gmock-internal-utils.h", 157f92157deSopenharmony_ci "googlemock/include/gmock/internal/gmock-port.h", 158f92157deSopenharmony_ci "googlemock/include/gmock/internal/gmock-pp.h", 159f92157deSopenharmony_ci "googlemock/src/gmock-all.cc", 160f92157deSopenharmony_ci "googlemock/src/gmock-cardinalities.cc", 161f92157deSopenharmony_ci "googlemock/src/gmock-internal-utils.cc", 162f92157deSopenharmony_ci "googlemock/src/gmock-matchers.cc", 163f92157deSopenharmony_ci "googlemock/src/gmock-spec-builders.cc", 164f92157deSopenharmony_ci "googlemock/src/gmock.cc", 165f92157deSopenharmony_ci] 166f92157deSopenharmony_ci 167f92157deSopenharmony_cistatic_library("gmock") { 168f92157deSopenharmony_ci testonly = true 169f92157deSopenharmony_ci public = [ "googlemock/include/gmock/gmock.h" ] 170f92157deSopenharmony_ci sources = gmock_sources_files 171f92157deSopenharmony_ci sources -= [ "googlemock/src/gmock-all.cc" ] 172f92157deSopenharmony_ci public_configs = [ ":gmock_config" ] 173f92157deSopenharmony_ci configs += [ ":gmock_private_config" ] 174f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 175f92157deSopenharmony_ci deps = [ ":gtest" ] 176f92157deSopenharmony_ci} 177f92157deSopenharmony_ci 178f92157deSopenharmony_cistatic_library("gmock_rtti") { 179f92157deSopenharmony_ci testonly = true 180f92157deSopenharmony_ci public = [ "googlemock/include/gmock/gmock.h" ] 181f92157deSopenharmony_ci sources = gmock_sources_files 182f92157deSopenharmony_ci sources -= [ "googlemock/src/gmock-all.cc" ] 183f92157deSopenharmony_ci public_configs = [ ":gmock_config" ] 184f92157deSopenharmony_ci configs += [ ":gmock_private_config_rtti" ] 185f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 186f92157deSopenharmony_ci deps = [ ":gtest_rtti" ] 187f92157deSopenharmony_ci} 188f92157deSopenharmony_ci 189f92157deSopenharmony_cistatic_library("gmock_main") { 190f92157deSopenharmony_ci testonly = true 191f92157deSopenharmony_ci sources = [ "googlemock/src/gmock_main.cc" ] 192f92157deSopenharmony_ci public_deps = [ 193f92157deSopenharmony_ci ":gmock", 194f92157deSopenharmony_ci ":gtest", 195f92157deSopenharmony_ci ] 196f92157deSopenharmony_ci configs -= [ "//build/config/coverage:default_coverage" ] 197f92157deSopenharmony_ci} 198