Closed prince-chrismc closed 4 years ago
I don't like the idea when one option turns on/off the usage of a bunch of libraries. It means that if a user wants to use a particular version of (for example) string-view-lite, he/she has to add also variant-lite, expected-lite and optional-lite to his/her project too.
If the case when a user wants to use own version of (for example) string-view-lite really takes a place, then approach similar to RESTINIO_USE_EXTERNAL_HTTP_PARSER
should be used.
I also don't like an idea to remove third_party
subdirectory. While it's here it's possible to add another 3rd-party library to RESTinio (especially if that library is not currently present in conan or vcpkg).
Thank you for your feedback. I will update this to reflect what you are describing.
I also don't like an idea to remove
third_party
subdirectory. While it's here it's possible to add another 3rd-party library to RESTinio (especially if that library is not currently present in conan or vcpkg).
To be very clear, I did not remove it from the file structure, just the include has been modified to hide it.
-#include "third_party/expected-lite/expected.hpp"
+#include "nonstd/expected.hpp"
My motivation for this was to not require a define. The file structure in third party is the same as the official installation.
-third_party/expected-lite/expected.hpp
+third_party/nonstd/expected.hpp
-third_party/optional-lite/optional.hpp
+third_party/nonstd/optional.hpp
-third_party/string-view-lite/string_view.hpp
+third_party/nonstd/string_view.hpp
-third_party/variant-lite/variant.
+third_party/nonstd/variant.hpp
I've merged this PR into a temporary branch. But this functionality won't be a part of 0.6.6 release.
It's because this functionality requires some more work to be a part of RESTinio and I think it doesn't handle some use cases of RESTinio usages in its current form. It seems that some additional stuff will be affected by that change (at least restinio-conan should be extended with new options). And some new testing environments should be prepared for checking RESTinio with various combinations of external projects.
It requires some work and will take some time. But I don't want to spend this time/resources right now and want to concentrate on the preparation of the release of easy_parser_router this week.
So the support of external nonstd projects will be postponed to v.0.6.7.
I am very happy with that, if there is any help I can be feel free to ask. I have some resources I can spare to help things along =)
fixes #79
This is to make dependencies management easier when dealing with package managers and to prevent duplication of source code.