blob: a11aff03590df347049fb3791920b7004ea974c9 [file] [log] [blame]
# Test cxx descriptor functionality
Import('env')
base_env = env.Clone()
base_env.Replace(NANOPBFLAGS = '--cpp-descriptor')
base_env.NanopbProto('message')
for std in ["c++03", "c++11", "c++14", "c++17", "c++20"]:
e = base_env.Clone()
e.Append(CXXFLAGS = '-std={}'.format(std))
# Make sure compiler supports this version of C++ before we actually run the
# test.
conf = Configure(e)
compiler_valid = conf.CheckCXX()
e = conf.Finish()
if not compiler_valid:
print("Skipping {} test - compiler doesn't support it".format(std))
continue
o1 = e.Object('message_descriptor_{}'.format(std), 'message_descriptor.cc')
o2 = e.Object('message.pb_{}'.format(std), 'message.pb.c')
p = e.Program([o1, o2])
e.RunTest(p)