[tint] Migrate CMake build over to generated files/deps
Add a `BUILD.cmake.tmpl` template file to emit CMake build files and
target dependency information.
Rename TINT_BUILD_SAMPLES to TINT_BUILD_CMD_TOOLS. The 'tint' executable
is used more as a command-line interface than a sample.
Update the root tint CMakeLists.txt file to use this.
Change-Id: I35cf071af09fd401e87a9b0bd35dbf40e72b9995
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/146386
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/utils/math/BUILD.cmake b/src/tint/utils/math/BUILD.cmake
new file mode 100644
index 0000000..477e285
--- /dev/null
+++ b/src/tint/utils/math/BUILD.cmake
@@ -0,0 +1,39 @@
+# Copyright 2023 The Tint Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+################################################################################
+# File generated by tools/src/cmd/gen
+# using the template:
+# tools/src/cmd/gen/build/BUILD.cmake.tmpl
+#
+# Do not modify this file directly
+################################################################################
+
+tint_add_target("utils/math"
+ utils/math/crc32.h
+ utils/math/hash.h
+ utils/math/math.cc
+ utils/math/math.h
+)
+
+tint_add_target("utils/math:test"
+ utils/math/crc32_test.cc
+ utils/math/hash_test.cc
+ utils/math/math_test.cc
+)
+
+tint_target_add_dependencies("utils/math:test"
+ "utils/containers"
+ "utils/math"
+)
diff --git a/src/tint/utils/math/math.cc b/src/tint/utils/math/math.cc
new file mode 100644
index 0000000..75b5c30
--- /dev/null
+++ b/src/tint/utils/math/math.cc
@@ -0,0 +1,22 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/tint/utils/math/math.h"
+
+#if defined(_MSC_VER) && !defined(__clang__)
+
+// A placeholder symbol used to make MSVC emit a .lib for this lib target.
+int tint_utils_math_symbol = 1;
+
+#endif