| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//testing/test.gni") |
| |
| config("ced_config") { |
| include_dirs = [ "src" ] |
| } |
| |
| config("ced_config_private") { |
| # This cannot be set directly on the "ced" and "ced_unittests" target because |
| # the target cflags property is added to the command-line before the cflags |
| # property from its config. For configs, the cflags property are set in the |
| # order public_configs, configs thus it is correctly set after the flag that |
| # enable the error. |
| if (is_clang) { |
| cflags = [ "-Wno-unused-function" ] |
| } |
| } |
| |
| static_library("ced") { |
| sources = [ |
| # find src -maxdepth 3 ! -type d | egrep '\.(h|cc)$' | grep -v test.cc |\ |
| # LC_COLLATE=c sort | sed 's/^\(.*\)$/ "\1",/' |
| "src/compact_enc_det/compact_enc_det.cc", |
| "src/compact_enc_det/compact_enc_det_generated_tables.h", |
| "src/compact_enc_det/compact_enc_det_generated_tables2.h", |
| "src/compact_enc_det/compact_enc_det_hint_code.cc", |
| "src/compact_enc_det/compact_enc_det_hint_code.h", |
| "src/util/basictypes.h", |
| "src/util/case_insensitive_hash.h", |
| "src/util/commandlineflags.h", |
| "src/util/encodings/encodings.cc", |
| "src/util/encodings/encodings.h", |
| "src/util/encodings/encodings.pb.h", |
| "src/util/languages/languages.cc", |
| "src/util/languages/languages.h", |
| "src/util/languages/languages.pb.h", |
| "src/util/logging.h", |
| "src/util/port.h", |
| "src/util/string_util.h", |
| "src/util/varsetter.h", |
| ] |
| public = [ |
| "src/compact_enc_det/compact_enc_det.h", |
| ] |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| ":ced_config_private", |
| ] |
| |
| public_configs = [ ":ced_config" ] |
| |
| if (is_win) { |
| defines = [ "COMPILER_MSVC" ] |
| cflags = [ |
| "/wd4005", # Macro defined twice. |
| "/wd4006", # #undef expected an identifier. |
| "/wd4018", # '<': signed/unsigned mismatch |
| "/wd4309", # Truncation of constant value. |
| ] |
| } else { |
| defines = [ "COMPILER_GCC" ] |
| } |
| |
| defines += [ "HTML5_MODE" ] |
| } |
| |
| test("ced_unittests") { |
| sources = [ |
| "src/compact_enc_det/compact_enc_det_fuzz_test.cc", |
| "src/compact_enc_det/compact_enc_det_unittest.cc", |
| "src/compact_enc_det/detail_head_string.inc", |
| "src/util/encodings/encodings_unittest.cc", |
| ] |
| |
| configs += [ ":ced_config_private" ] |
| |
| if (is_win) { |
| defines = [ "COMPILER_MSVC" ] |
| cflags = [ |
| "/wd4310", # Truncation of constant value. |
| "/wd4267", # size_t -> int |
| ] |
| } else { |
| defines = [ "COMPILER_GCC" ] |
| } |
| |
| defines += [ "HTML5_MODE" ] |
| |
| deps = [ |
| ":ced", |
| "//testing/gtest", |
| "//testing/gtest:gtest_main", |
| ] |
| } |