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