-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libnghttp2: add version 1.64.0, support with_app and with_hpack #23979
base: master
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@@ -108,6 +144,10 @@ def generate(self): | |||
tc.generate() | |||
|
|||
tc = CMakeDeps(self) | |||
if self.options.with_app: | |||
tc.set_property("libev", "cmake_file_name", "LIBEV") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variables are uppercase, but the CMake file name is not, causing missing package when building libnghttp2:
-- Could NOT find Libev (missing: LIBEV_LIBRARY LIBEV_INCLUDE_DIR) (Required is at least version "4.11")
-- Could NOT find Libcares (missing: LIBCARES_LIBRARY LIBCARES_INCLUDE_DIR) (Required is at least version "1.7.5")
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) (Required is at least version "1.2.3")
-- Could NOT find Libbrotlienc (missing: LIBBROTLIENC_LIBRARY LIBBROTLIENC_INCLUDE_DIR) (Required is at least version "1.0.9")
-- Could NOT find Libbrotlidec (missing: LIBBROTLIDEC_LIBRARY LIBBROTLIDEC_INCLUDE_DIR) (Required is at least version "1.0.9")
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) (Required is at least version "1.1.1")
-- Could NOT find Libngtcp2 (missing: LIBNGTCP2_LIBRARY LIBNGTCP2_INCLUDE_DIR) (Required is at least version "1.0.0")
-- Could NOT find Libngtcp2_crypto_quictls (missing: LIBNGTCP2_CRYPTO_QUICTLS_LIBRARY LIBNGTCP2_CRYPTO_QUICTLS_INCLUDE_DIR) (Required is at least version "1.0.0")
-- Could NOT find Libnghttp3 (missing: LIBNGHTTP3_LIBRARY LIBNGHTTP3_INCLUDE_DIR) (Required is at least version "1.1.0")
-- Could NOT find Systemd (missing: SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) (Required is at least version "209")
-- Could NOT find Jansson (missing: JANSSON_LIBRARY JANSSON_INCLUDE_DIR) (Required is at least version "2.5")
The project wants Capitalized names (I didn't check what Conan is providing):
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️Warning Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement. All green in build 5 (
Conan v2 pipeline ✔️
All green in build 5 (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that upstream cmakelists tries to fetch most libraries out of the gate, so libraries like zlib will be mark as found even when with_app is set to false, which will be coming from the system. In fact the handling of the dependencies is a bit of a mess, and it seems like this does not compile with with_app = True
CMake Error at CMakeLists.txt:280 (message):
Applications were requested (ENABLE_APP=1) but dependencies are not met.
Note that if this comes from variable names not being captialized as needed, you have the option to set cmake_additional_variables_prefixes
in CMakeDeps
, like this:
tc.set_property("openssl", "cmake_additional_variables_prefixes", ["OPENSSL"])
, which will ensure that both OpenSSL_INCLUDE_DIRS
and OPENSSL_INCLUDE_DIRS
(etc variables!) exist
Specify library name and version: libnghttp2/*
nghttp2/nghttp2@v1.61.0...v1.64.0
libnghttp2/1.62.1 requires C++20 while libnghtt2<1.62.0 requires C++14.
To solve compilation errors on
with_app=True
orwith_hpack=True
,Several cmake_deps properties are added.