Comments (8)
Tested OK! Thank you.
from restinio.
Hi!
Can you check the latest commit from 0.7-dev-0.7.2-issue-208 branch? It's necessary to specify -DRESTINIO_DEP_CATCH2=find
to the CMake configure (like here: https://github.com/Stiffstream/restinio-dockerfiles/blob/7b511213325091ad040b678bd2e0ea4ef18a714f/v0.7/archlinux-gcc-system-catch2.Dockerfile#L43-L44).
If it will work for you then I'll make a similar fix for #207.
from restinio.
Hi! It worked with -DRESTINIO_DEP_CATCH2=find
, but not with -DRESTINIO_DEP_CATCH2=system
. Perhaps it should, for uniformity with the other RESTINIO_DEP_* options?
Thank you!
from restinio.
I'm afraid that -DRESTINIO_DEP_CATCH2=system
won't work because it's necessary to do include(Catch)
in the root CMakeLists.txt and it seems that include(Catch)
will work only after find_package(Catch2)
or add_subdirectory(catch2)
.
from restinio.
Is there a benefit to separating 'find' and 'system'? From my user perspective, I'm not sure what it means; I'm always interested in using system libraries; I guess three uses cases could be:
- Enforce system library used (my use case)
- Use system, but fallback to bundled library if not found
- Use bundled library.
Is 'find' # 2 above?
from restinio.
The system
is for cases when a library is already installed in the system and there is no need to detect include/library paths.
The find
is for cases when a non-system package management is used (like vcpkg/conan or something similar).
The local
is for cases when something like git submodules, CMake's fetch_content or MxxRu::externals is used for managing dependencies.
Because sometimes CMake's find_package
can find a system-wide library, the find
option could be used for searching a library installed in the system.
The problem with Catch2 is that we need not only to find Catch2's header files and Catch2's .a/.lib files, but also use CMake's catch_discover_tests
command (for that purpose include(Catch)
is used in CMakeLists.txt).
from restinio.
Hi, and thanks for explaining. That's a very featureful library detection/fallback system! I guess -DRESTINIO_DEP_CATCH2=find
can be fine, although I suspect some users may stumble upon trying -DRESTINIO_DEP_CATCH2=system
.
Thank you!
from restinio.
The fix is now a part of v.0.7.2. Fill free to reopen the issue if something goes wrong for you.
from restinio.
Related Issues (20)
- Compilation of express router tests fails on VC++ 19 (VisualStudio 2022) HOT 1
- HTTPS not working
- <algorithm> isn't included in easy_parser.hpp
- Any chance std::fopen() call can be changed to std::fopen_s()? HOT 14
- New overload for sendfile and std::filesystem::path?
- CMake configure fails when using boost asio via find HOT 9
- vcpkg should have a variant with RESTinio+Boost.Asio HOT 1
- There should be operator<< for http_status_code_t
- static_if_impl has to be replaced with if constexpr
- There is no such type as generic_request_handler_t
- build system regression: RESTINIO_USE_EXTERNAL_SOBJECTIZER no longer available HOT 3
- Slow compilation HOT 2
- HTTP/2 and HTTP/3 HOT 1
- Is ninja supported? HOT 2
- Do not use SO_REUSEADDR on Window by default
- Question: How to get http_server_t<> address HOT 2
- display webpage of directory listing HOT 1
- Many tests fail: failed to start server on 127.0.0.1:8086: bind: Address already in use HOT 1
- Fails to find system Catch2: include could not find requested file: Catch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from restinio.