Skip to content

Commit 5f42547

Browse files
committed
Merge #13: Add mpgen.mk makefile rules
b72ec47 Add mpgen.mk makefile rules (Russell Yanofsky) Pull request description: Simplify writing external mpgen build rules. Top commit has no ACKs. Tree-SHA512: 12525ab74e10e6703eaccf5b93d4425a0d81c258edba5867eee2efcb45c03a05b1948e95642a0cfeb05a709329edaa41b78b58b8f6c78938d01955885adcc0a6
2 parents 86d5a45 + b72ec47 commit 5f42547

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)