aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-05-27 01:20:54 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-05-27 01:20:54 +0300
commitc9cb49764bfb16a66b684803a06cba8d8c31fe9d (patch)
treed547bba03e09e86c065cb08af1b6985457e57cd7
parent292ad6009c67b6e18830012f24fb3e886dafe589 (diff)
downloadmeson-c9cb49764bfb16a66b684803a06cba8d8c31fe9d.zip
meson-c9cb49764bfb16a66b684803a06cba8d8c31fe9d.tar.gz
meson-c9cb49764bfb16a66b684803a06cba8d8c31fe9d.tar.bz2
Worked on expanding the generator so it works with protocol buffers. Does not work yet.
-rwxr-xr-xbackends.py2
-rw-r--r--test cases/frameworks/5 protocol buffers/defs.proto3
-rw-r--r--test cases/frameworks/5 protocol buffers/main.cpp6
-rw-r--r--test cases/frameworks/5 protocol buffers/meson.build14
4 files changed, 25 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index 1abfdc2..56f0a93 100755
--- a/backends.py
+++ b/backends.py
@@ -535,6 +535,8 @@ class NinjaBackend(Backend):
outfilename = os.path.join(self.get_target_private_dir(target), outfilelist[i])
args = [x.replace("@INPUT@", infilename).replace('@OUTPUT@', outfilename)\
for x in base_args]
+ args = [x.replace("@SOURCE_DIR@", self.environment.get_source_dir()).replace("@BUILD_DIR@", self.environment.get_build_dir())
+ for x in args]
cmdlist = [exe_file] + args
elem = NinjaBuildElement(outfilename, 'CUSTOM_COMMAND', infilename)
elem.add_item('DESC', 'Generating $out')
diff --git a/test cases/frameworks/5 protocol buffers/defs.proto b/test cases/frameworks/5 protocol buffers/defs.proto
new file mode 100644
index 0000000..f795651
--- /dev/null
+++ b/test cases/frameworks/5 protocol buffers/defs.proto
@@ -0,0 +1,3 @@
+message Dummy {
+ required string text = 1;
+}
diff --git a/test cases/frameworks/5 protocol buffers/main.cpp b/test cases/frameworks/5 protocol buffers/main.cpp
new file mode 100644
index 0000000..9fdb20b
--- /dev/null
+++ b/test cases/frameworks/5 protocol buffers/main.cpp
@@ -0,0 +1,6 @@
+#include "defs.pb.h"
+
+int main(int argc, char **argv) {
+ Dummy d;
+ return 0;
+}
diff --git a/test cases/frameworks/5 protocol buffers/meson.build b/test cases/frameworks/5 protocol buffers/meson.build
new file mode 100644
index 0000000..cf00053
--- /dev/null
+++ b/test cases/frameworks/5 protocol buffers/meson.build
@@ -0,0 +1,14 @@
+project('protocol buffer test', 'cxx')
+
+protoc = find_program('protoc', required : true)
+dep = find_dep('protobuf', required : true)
+
+gen = generator(protoc, \
+ output_name : '@BASENAME@.pb.cc',
+ arguments : ['-I=@SOURCE_DIR@', '--cpp_out=@BUILD_DIR@', '@INPUT@'])
+
+generated = gen.process('defs.proto')
+e = executable('prog', 'main.cpp', generated,
+ include_dirs: include_directories('.'),
+ dep : dep)
+add_test('prototest', e)