BehaviorTree / BehaviorTree.CPP

Behavior Trees Library in C++. Batteries included.
https://www.behaviortree.dev
MIT License
3.03k stars 665 forks source link

Building with a recent compiler fails due incompatible expected library #833

Closed psyinf closed 4 months ago

psyinf commented 5 months ago

When build with a recent compiler (gcc 14.1/clang 17.0.1) the build failed due to the dependency expected-lite doesn't provide a make_unexpected when std::expected is included. I've contacted the author and proposed a fix. He fixed the library and released v0.8.0.

I've taken the freedom to add the new expected-header to the source tree and also adapted a possible oversight (which also doesn't compile with a newer compiler. If the use of ´using ExpectedEntry = nonstd::expected_lite::expected<Entry, std::string>;´ is intended this needs to be fixed to be compatible within the expected-library, i guess.

Additionally I've added some changes to the CMakeLists file to disable building of the sample nodes if no test, nor examples are needed.

A general question: Currently the dependencies are hard-wired, any opinion towards using CPM or plain cmake FetchContent here?

psyinf commented 4 months ago

any news on this?

facontidavide commented 4 months ago

thanks!