Kitware / fletch

Computer Vision Software Development Environment
63 stars 54 forks source link

Update yaml-cpp to 0.6.0 #690

Closed mwoehlke-kitware closed 2 years ago

mwoehlke-kitware commented 3 years ago

Update to a newer release of yaml-cpp. Particularly, this version uses C++11 and removes the dependency on Boost. (It also appears to have the patches we need, allowing us to remove our local patches.)

kwcvrobot commented 3 years ago

Fletch KWIVER against Fletch Centos build succeeded.

kwcvrobot commented 3 years ago

Fletch KWIVER against Fletch LinuxGPU build succeeded.

kwcvrobot commented 3 years ago

Fletch KWIVER against Fletch Linux build succeeded.

kwcvrobot commented 3 years ago

Fletch KWIVER against Fletch Mac build succeeded.

dstoup commented 3 years ago

Windows build error:

D:\workspace\FletchWindowsPR\build\build\src\YAMLcpp\include\yaml-cpp/exceptions.h(261): error C3646: '_NOEXCEPT': unknown override specifier [D:\workspace\FletchWindowsPR\build\build\src\YAMLcpp-build\yaml-cpp.vcxproj] [D:\workspace\FletchWindowsPR\build\YAMLcpp.vcxproj]

dstoup commented 3 years ago

If you look at ${YAMLcpp_source}/include/yaml-cpp/exceptions.h and ${YAMLcpp_source}/src/exceptions.cpp you can see the issue.

// This is here for compatibility with older versions of Visual Studio // which don't support noexcept

ifdef _MSC_VER

#define YAML_CPP_NOEXCEPT _NOEXCEPT

else

#define YAML_CPP_NOEXCEPT noexcept

endif

I don't know where _NOEXCEPT is supposed to come from but I'm guessing it's some pre-c++11 MSVC definition. It doesn't appear to be defined though, thus the error. Also not sure how much 'older' MSVC needs to be for that to work, but reducing it to

define YAML_CPP_NOEXCEPT noexcept

works just fine on the dashboard machine.

mwoehlke-kitware commented 3 years ago

Yeah, it needs a patch reintroduced. Unfortunately I don't know when/if I'll get to it, as it looks like I'm not going to be using fletch after all for the project that needs the newer version.

daniel-riehm commented 2 years ago

Closed in favor of #708.