Skip to content

Commit b72ec47

Browse files
committed
Add mpgen.mk makefile rules
Simplify writing external mpgen build rules.
1 parent 86d5a45 commit b72ec47

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ install(TARGETS mpgen EXPORT Multiprocess RUNTIME DESTINATION bin)
5151
configure_file(include/mp/config.h.in "${CMAKE_CURRENT_BINARY_DIR}/include/mp/config.h")
5252
configure_file(pkgconfig/libmultiprocess.pc.in "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libmultiprocess.pc" @ONLY)
5353
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libmultiprocess.pc" DESTINATION "lib/pkgconfig")
54+
install(FILES "include/mpgen.mk" DESTINATION "include")
5455

5556
install(EXPORT Multiprocess DESTINATION lib/cmake/Multiprocess)
5657

include/mp/config.h.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#ifndef MP_CONFIG_H
66
#define MP_CONFIG_H
77

8+
#cmakedefine CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
89
#cmakedefine capnp_PREFIX "@capnp_PREFIX@"
910

1011
#endif // MP_CONFIG_H

include/mpgen.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
%.capnp:
2+
@:
3+
%.capnp.c++ %.capnp.h %.capnp.proxy-client.c++ %.capnp.proxy-types.h %.capnp.proxy-server.c++ %.capnp.proxy-types.c++ %.capnp.proxy.h: %.capnp
4+
$(AM_V_GEN) $(MPGEN_PREFIX)/bin/mpgen '$(srcdir)' '$(srcdir)' $<

src/mp/gen.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,11 @@ int main(int argc, char** argv)
528528
exit(1);
529529
}
530530
std::vector<kj::StringPtr> import_paths;
531+
auto fs = kj::newDiskFilesystem();
532+
auto cwd = fs->getCurrentPath();
533+
for (const char* path : {CMAKE_INSTALL_PREFIX "/include", capnp_PREFIX "/include"}) {
534+
KJ_IF_MAYBE(dir, fs->getRoot().tryOpenSubdir(cwd.evalNative(path))) { import_paths.emplace_back(path); }
535+
}
531536
for (size_t i = 4; i < argc; ++i) {
532537
import_paths.push_back(argv[i]);
533538
}

0 commit comments

Comments
 (0)