Skip to content

Commit

Permalink
[libclc] Track dependencies through dependency files (llvm#86965)
Browse files Browse the repository at this point in the history
This commit fixes the problem of missing build dependencies between
libclc source files and their various includes (namely headers and .inc
files).

We would like to do this with compiler-generated dependency files
because then the dependencies are accurate and there are no false
positives, leading to unnecessary rebuilds. This is how regular C/C++
dependencies are usually tracked by CMake.

Note that this variable is an internal API so is not guaranteed to work,
but then again *all* of CMake's support for new languages (which we use
for CLC/LL languages) is an internal API. On balance this change is
probably worth it due to how minimally invasive it is. It should work
with all supported compilers and CMake generators.
  • Loading branch information
frasercrmck authored Mar 28, 2024
1 parent 44af53b commit 688d71e
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions libclc/cmake/CMakeCLCInformation.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ if(NOT CMAKE_CLC_CREATE_STATIC_LIBRARY)
endif()

set(CMAKE_INCLUDE_FLAG_CLC "-I")
set(CMAKE_DEPFILE_FLAGS_CLC "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")

0 comments on commit 688d71e

Please sign in to comment.