# 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)