Skip to content

Commit 16362f4

Browse files
committed
cmake: Add mp_headers custom target
This target acts as a build-graph node for generated Cap'n Proto C++ headers. By providing this custom target, other targets that include the headers can properly order themselves after the generation step without needing to depend on the library target that also uses them. This convenience target is necessary for proper build dependency management, as the underlying `capnp_generate_cpp` function is not CODEGEN-aware.
1 parent 61de697 commit 16362f4

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ configure_file(include/mp/config.h.in "${CMAKE_CURRENT_BINARY_DIR}/include/mp/co
139139
# Generated C++ Capn'Proto schema files
140140
capnp_generate_cpp(MP_PROXY_SRCS MP_PROXY_HDRS include/mp/proxy.capnp)
141141
set_source_files_properties("${MP_PROXY_SRCS}" PROPERTIES SKIP_LINTING TRUE) # Ignored before cmake 3.27
142+
# Build-graph node for generated headers. This lets targets that include
143+
# the headers order themselves after generation without depending on the
144+
# library target that also uses them.
145+
add_custom_target(mp_headers DEPENDS ${MP_PROXY_HDRS})
142146

143147
# util library
144148
add_library(mputil OBJECT src/mp/util.cpp)

0 commit comments

Comments
 (0)