Conditionally link SPIRV-Tools-opt with dawn libraries

- Fixes a linker error on macOS because SPIRV-Tools-opt is deemed unnecessary based on the combination of CMake flags

Change-Id: I8d17cf2fbac1b26f685708f6b6bc1ac760d6d39e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/195334
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Jaswant Panchumarti <jaswant.panchumarti@kitware.com>
diff --git a/src/dawn/native/CMakeLists.txt b/src/dawn/native/CMakeLists.txt
index ec833eb..81ff638 100644
--- a/src/dawn/native/CMakeLists.txt
+++ b/src/dawn/native/CMakeLists.txt
@@ -258,7 +258,6 @@
             dawn_platform
             dawn_internal_config
             libtint
-            SPIRV-Tools-opt
             absl::strings
             absl::str_format_internal
             absl::flat_hash_map
@@ -560,6 +559,9 @@
         "SpirvValidation.cpp"
         "SpirvValidation.h"
     )
+    target_link_libraries(dawn_native PRIVATE
+        SPIRV-Tools-opt
+    )
 endif()
 
 if (DAWN_ENABLE_OPENGL)
diff --git a/src/dawn/utils/CMakeLists.txt b/src/dawn/utils/CMakeLists.txt
index 11f2e0d..0ae291e 100644
--- a/src/dawn/utils/CMakeLists.txt
+++ b/src/dawn/utils/CMakeLists.txt
@@ -57,11 +57,15 @@
             dawn_native
             dawn_proc
             dawn_wire
-            SPIRV-Tools-opt
 )
 
 # Needed by WGPUHelpers
 target_compile_definitions(dawn_utils PUBLIC -DTINT_BUILD_SPV_READER=$<BOOL:${TINT_BUILD_SPV_READER}>)
+if (TINT_BUILD_SPV_READER)
+    target_link_libraries(dawn_utils PRIVATE
+        SPIRV-Tools-opt
+    )
+endif ()
 
 if(WIN32 AND NOT WINDOWS_STORE)
     target_sources(dawn_utils PRIVATE "WindowsDebugLogger.cpp")