Seems certain targets/hosts failed without these, as "_MSC_VER" is
undefined on MinGW, which caused the 'pragma comment(lib "libname")' to
fail.
Fixes#575
This gets us the full version (aka with the patch version), instead of
just major and minor version from user agent.
Falls back to the user agent if it fails.
It pulls the version from the user-agent string in the header, so it
will not need to be manually adjusted. This version file is installed so
that you can check for a specific version with find_package(httplib)
Also added HTTPLIB_INCLUDE_DIR (root path without header name), and
HTTPLIB_LIBRARY (only if compiled).
Added HTTPLIB_VERSION, and HTTPLIB_FOUND (although it's recommended
to check if the target exists).
Updated CMakeLists documentation for all this.
This option (default OFF) automatically splits the file (with split.py)
into a header & source file, then compiles it as a shared/static
library. This requires an installed Python v3 executable to work.
This also adds a HTTPLIB_IS_COMPILED boolean that's available after a
finfind_package(httplib) call.
Note that the minimum Cmake version increased to 3.12 because of FindPython3.
Hopefully this isn't a problem, as it's already 3 years old at this point.
* Revert "Removed CMakeLists.txt. (Fix#421)"
This reverts commit 8674555b88.
* Fail if cmake version too old
Previous behaviour is just a warning.
* Improve CMakeLists
Adds automatic dependency finding (if they were used).
Adds a way to require a specific version in the find_package(httplib) call.
You should link against the httplib::httplib IMPORTED target, which is
created automatically.
Add options to allow for strictly requiring OpenSSL/ZLIB
HTTPLIB_REQUIRE_OPENSSL & HTTPLIB_REQUIRE_ZLIB require the libs be found, or the build fails.
HTTPLIB_USE_OPENSSL_IF_AVAILABLE & HTTPLIB_USE_ZLIB_IF_AVAILABLE silently search for the libs.
If they aren't found, the build still continues, but shuts off support for those features.
* Add documentation to CMakeLists.txt
Has info on all the available options and what targets are produced.
Also put some things about installation on certain platforms.