aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/qcms/BUILD.gn
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-05-26 11:05:37 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-26 11:05:37 -0700
commit0e5b249e549a540bd89d525369b950c9e4404235 (patch)
tree16f9407ef892589a3d20e29c8237e1000bd102a3 /third_party/qcms/BUILD.gn
parenta62038c478be1d668b3a1cea6b6974ddb5d90281 (diff)
Add exact version of qcms used by Chrome for testing and comparison
Diffstat (limited to 'third_party/qcms/BUILD.gn')
-rw-r--r--third_party/qcms/BUILD.gn77
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" ]
+ }
+}