fletch
fletch copied to clipboard
Update protobuf3 and use CMake
Currently this branch sets the default Protobuf version to 3 for testing purposes only. We have more work to do before version 3 can be the default.l If this branch passes dashboards, I will pull the version back to 2 and repush.
Jenkins test this please
@aaron-bray The dashboards passed but I think you'd mentioned something about kwiver's definitions needing to change as a result of pb3. Should I keep 2 as the default for now? Thinking that's the right thing anyway until we get buyin, but wanted to get a sense of the rest of the work left to do.
protobuf3 can read in and use protobuf2 files I have also built protobuf3 in fletch and used that in a Caffe build, which has protobuf2 proto files, and everything still worked fine.
So you really don't need to move the kwiver proto files fro 2 to 3 immediately It does not look like protobuf2 supports JSON And there are other differences between the versions https://groups.google.com/forum/#!topic/protobuf/h-nwPLb42ac
You should be able to remove protobuf2 altogether from fletch and just use 3 I think we should move to protobuf3 proto files unless there is a compelling reason to stay at 2 But we can do that on our own time and still only build protobuf3
So I feel pretty confident we can nix proto2 from fletch all together and not sink any ships
Perfect, thanks! I will keep protobuf3 as the default, leave protobuf2 for just a little while and look to remove it completely soon. I'm looking into the static thing as well. I suspect I will have to force PIC in those cases since it didn't build correctly out of the box that way (on Linux). I think VS was fine building static
Note, I think using the protobuf3 library (even with protobuf2 proto files) we should still get JSON support... But I would want to test that just to be sure...