CMake: Don't always regenerate OpenCLDebugInfo100.h

https://github.com/KhronosGroup/SPIRV-Headers/issues/137 is still ongoing.

Fixes: b/15093697
Change-Id: I2498f35a8049fb2a1a86aa0efe6fbd6e59ad6493
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43428
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd9c5b2..587a131 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -756,7 +756,7 @@
     ${SOURCE_DIR}/WSI/VkSurfaceKHR.hpp
     ${SOURCE_DIR}/WSI/VkSwapchainKHR.cpp
     ${SOURCE_DIR}/WSI/VkSwapchainKHR.hpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/*.h}
+    ${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/*.h
 )
 
 if(SWIFTSHADER_ENABLE_VULKAN_DEBUGGER)
@@ -1011,12 +1011,15 @@
     # Ideally, this header would just be pre-built and part of SPIRV-Headers.
     # See: https://github.com/KhronosGroup/SPIRV-Headers/issues/137
     set(SPIRV_TOOLS_EXT_INC_DIR ${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-ext/include)
-    add_custom_target(spirv_tools_ext_includes
+    add_custom_command(
+        OUTPUT "${SPIRV_TOOLS_EXT_INC_DIR}/spirv-tools/ext/OpenCLDebugInfo100.h"
         DEPENDS spirv-tools-header-OpenCLDebugInfo100
         COMMAND ${CMAKE_COMMAND} -E copy
-            ${spirv-tools_BINARY_DIR}/OpenCLDebugInfo100.h
-            ${SPIRV_TOOLS_EXT_INC_DIR}/spirv-tools/ext/OpenCLDebugInfo100.h
+            "${spirv-tools_BINARY_DIR}/OpenCLDebugInfo100.h"
+            "${SPIRV_TOOLS_EXT_INC_DIR}/spirv-tools/ext/OpenCLDebugInfo100.h"
     )
+    add_custom_target(spirv_tools_ext_includes
+        DEPENDS "${SPIRV_TOOLS_EXT_INC_DIR}/spirv-tools/ext/OpenCLDebugInfo100.h")
     set_target_properties(spirv_tools_ext_includes PROPERTIES FOLDER "SPIRV-Tools build")
     list(APPEND VULKAN_INCLUDE_DIR "${SPIRV_TOOLS_EXT_INC_DIR}")
     add_dependencies(vk_swiftshader spirv_tools_ext_includes)