Object files should depend on spirv.h and friends
authorDavid Neto <dneto@google.com>
Tue, 17 Nov 2015 23:00:56 +0000 (18:00 -0500)
committerDavid Neto <dneto@google.com>
Tue, 17 Nov 2015 23:04:12 +0000 (18:04 -0500)
Don't use SYSTEM attribute on include_directories directive
for the SPIR-V standard header files.  When you do, object files
are not considered dependent on those headers.

Checked by looking at the dependency file source/disassemble.cpp.o.d,
and by trying to compile after a trivial edit to spirv.h

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/7

Also, use "" inclusion instead of <> inclusion for standard SPIR-V
headers.

CMakeLists.txt
include/libspirv/libspirv.h
source/instruction.h

index 851df1d..e97c64f 100644 (file)
@@ -92,8 +92,7 @@ if(UNIX)
   endif()
 endif()
 
-include_directories(SYSTEM
-  ${CMAKE_CURRENT_SOURCE_DIR}/external/include)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/external/include)
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/include)
index da62e32..a45a119 100644 (file)
@@ -27,9 +27,9 @@
 #ifndef LIBSPIRV_LIBSPIRV_LIBSPIRV_H_
 #define LIBSPIRV_LIBSPIRV_LIBSPIRV_H_
 
-#include <headers/GLSL.std.450.h>
-#include <headers/OpenCL.std.h>
-#include <headers/spirv.h>
+#include "headers/GLSL.std.450.h"
+#include "headers/OpenCL.std.h"
+#include "headers/spirv.h"
 
 #ifdef __cplusplus
 extern "C" {
index 2f58498..3073eb2 100644 (file)
@@ -30,7 +30,7 @@
 #include <cstdint>
 #include <vector>
 
-#include <headers/spirv.h>
+#include "headers/spirv.h"
 
 #include "table.h"