diff options
author | 2016-05-26 11:05:37 -0700 | |
---|---|---|
committer | 2016-05-26 11:05:37 -0700 | |
commit | 0e5b249e549a540bd89d525369b950c9e4404235 (patch) | |
tree | 16f9407ef892589a3d20e29c8237e1000bd102a3 /third_party/qcms/BUILD.gn | |
parent | a62038c478be1d668b3a1cea6b6974ddb5d90281 (diff) |
Add exact version of qcms used by Chrome for testing and comparison
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2014023003
Review-Url: https://codereview.chromium.org/2014023003
Diffstat (limited to 'third_party/qcms/BUILD.gn')
-rw-r--r-- | third_party/qcms/BUILD.gn | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/third_party/qcms/BUILD.gn b/third_party/qcms/BUILD.gn new file mode 100644 index 0000000000..04db5df64a --- /dev/null +++ b/third_party/qcms/BUILD.gn @@ -0,0 +1,77 @@ +# Copyright 2014 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. + +config("qcms_config") { + include_dirs = [ "src" ] +} + +# Do not build QCMS on Android or iOS. (See http://crbug.com/577155) +disable_qcms = is_android || is_ios + +source_set("qcms") { + if (disable_qcms) { + sources = [ + "src/empty.c", + ] + } else { + sources = [ + "src/chain.c", + "src/chain.h", + "src/iccread.c", + "src/matrix.c", + "src/matrix.h", + "src/qcms.h", + "src/qcms_util.c", + "src/qcmsint.h", + "src/qcmstypes.h", + "src/transform.c", + "src/transform_util.c", + "src/transform_util.h", + ] + + if (current_cpu == "x86" || current_cpu == "x64") { + defines = [ "SSE2_ENABLE" ] + sources += [ "src/transform-sse2.c" ] + } + } + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + public_configs = [ ":qcms_config" ] + + if (is_win) { + cflags = [ + "/wd4018", # Signed/unsigned mismatch in comparison. + "/wd4056", # Overflow in floating-point constant arithmetic (INFINITY). + "/wd4756", # Overflow in constant arithmetic (INFINITY). + ] + } +} + +if (!disable_qcms) { + executable("qcms_tests") { + if (current_cpu == "x86" || current_cpu == "x64") { + defines = [ "SSE2_ENABLE" ] + } + sources = [ + "src/tests/qcms_test_internal_srgb.c", + "src/tests/qcms_test_main.c", + "src/tests/qcms_test_munsell.c", + "src/tests/qcms_test_ntsc_gamut.c", + "src/tests/qcms_test_output_trc.c", + "src/tests/qcms_test_tetra_clut_rgba.c", + "src/tests/qcms_test_util.c", + ] + + deps = [ + "//build/config/sanitizers:deps", + "//build/win:default_exe_manifest", + "//third_party/qcms", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + public_configs = [ ":qcms_config" ] + } +} |