[Libomptarget] Add header files as a dependency to CMake target
authorJoseph Huber <jhuber6@vols.utk.edu>
Tue, 8 Feb 2022 16:35:57 +0000 (11:35 -0500)
committerJoseph Huber <jhuber6@vols.utk.edu>
Tue, 8 Feb 2022 17:09:59 +0000 (12:09 -0500)
This patch manually adds the runtime include files to the list of
dependencies when we build the bitcode runtime library. Previously if
only the header was changed we would not recompile the source files.
The solution used here isn't optimal because every source file not has a
dependency on each header file regardless of if it was actually used by
that file.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D119254

openmp/libomptarget/DeviceRTL/CMakeLists.txt

index ec58695..211f44d 100644 (file)
@@ -106,6 +106,16 @@ endif()
 set(LIBOMPTARGET_DEVICE_DEBUG FALSE CACHE BOOL
   "Activate DeviceRTL debug messages.")
 
+set(include_files
+  ${include_directory}/Configuration.h
+  ${include_directory}/Debug.h
+  ${include_directory}/Interface.h
+  ${include_directory}/Mapping.h
+  ${include_directory}/State.h
+  ${include_directory}/Synchronization.h
+  ${include_directory}/Types.h
+  ${include_directory}/Utils.h
+)
 
 set(src_files
   ${source_directory}/Configuration.cpp
@@ -161,7 +171,7 @@ function(compileDeviceRTLLibrary target_cpu target_name)
       -Xclang -target-cpu -Xclang ${target_cpu}
       ${target_bc_flags}
       ${infile} -o ${outfile}
-      DEPENDS ${infile}
+      DEPENDS ${infile} ${include_files}
       IMPLICIT_DEPENDS CXX ${infile}
       COMMENT "Building LLVM bitcode ${outfile}"
       VERBATIM