1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
No description
Find a file
Andy Green b912958a67 cmake: bring tls include requirement out as PUBLIC
There's no problem for library build, also with LWS_WITH_MINIMAL_EXAMPLES,
but after install at least on OSX, there are problems finding the installed
lws include dir (concealed on most platforms by the path being in the
default search list for the toolchain), and the references in the lws
includes to the tls includes meaning that explicit paths for that must be
available at consuming cmakes.

This patch enhances the cmake config installed by lws to deal with adding
the lws include paths to CMAKE_REQUIRED_INCLUDES and include_directories,
so it can be found before the target is introduced.

The tls include is passed back up the CMakeLists layers and the lws targets
marked with target_include_directories(PUBLIC) with them, so they are
understood as needed by consumers.

More boilerplate is moved out of the example consuming cmakes.

After this, on machines with previous installs of older lws, you may have to
clean out the cmake install path, that is usually something like

  /usr/local/lib/cmake/libwebsockets/*

before make installing lws and putting the latest content in there.
2021-10-28 10:47:12 +01:00
cmake cmake: bring tls include requirement out as PUBLIC 2021-10-28 10:47:12 +01:00
contrib cmake: support iOS armv7 build 2020-11-09 07:40:40 +00:00
doc-assets README.md: update with work retrospective and more Sai info 2021-10-05 06:48:26 +01:00
include mqtt: allow indicating username and password are not on heap 2021-10-27 16:55:12 +01:00
lib cmake: bring tls include requirement out as PUBLIC 2021-10-28 10:47:12 +01:00
lwsws lws_metrics 2021-03-08 21:47:28 +00:00
minimal-examples cmake: bring tls include requirement out as PUBLIC 2021-10-28 10:47:12 +01:00
plugin-standalone plugins: add option LWS_WITH_PLUGINS_BUILTIN 2021-01-31 20:24:29 +00:00
plugins pugins: sshd: handle window-change request 2021-10-19 17:24:07 +01:00
READMEs ws-server-threads-smp: modernize 2021-10-05 07:40:03 +01:00
scripts cose: keys and signing + validation 2021-08-31 05:45:35 +01:00
test-apps lecp: add CBOR stream parser LECP like JSON LEJP 2021-08-21 17:44:40 +01:00
win32port mingw: libevent build fixes 2020-11-28 10:58:38 +00:00
.gitignore dhcp: clean 2021-02-17 11:39:15 +00:00
.mailmap mailmap 2018-08-14 08:00:30 +08:00
.sai.json esp32c3 2021-08-31 05:45:40 +01:00
bug_report.md docs: switch to use main 2020-10-19 16:35:03 +01:00
changelog v4.3.0 2021-10-05 07:40:17 +01:00
CMakeLists-implied-options.txt cose: keys and signing + validation 2021-08-31 05:45:35 +01:00
CMakeLists.txt cmake: bring tls include requirement out as PUBLIC 2021-10-28 10:47:12 +01:00
component.mk Fixes to track updates in esp-idf 2018-06-20 16:41:28 +08:00
Kconfig esp32: enforce ssl nonblocking 2017-04-03 14:09:37 +08:00
libwebsockets.dox ss: server: add foreach client cb api 2020-11-11 06:58:20 +00:00
LICENSE lecp: add CBOR stream parser LECP like JSON LEJP 2021-08-21 17:44:40 +01:00
Makefile.projbuild esp32-selfsigned 2017-12-01 11:37:35 +08:00
README.md v4.3.0 2021-10-05 07:40:17 +01:00

CI status Coverity Scan Build Status CII Best Practices Codacy Badge Total alerts Language grade: C/C++ Language grade: JavaScript

Libwebsockets

Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.

It supports a lot of lightweight ancilliary implementations for things like JSON, CBOR, JOSE, COSE, and supports OpenSSL and MbedTLS v2 and v3 out of the box for everything. It's very gregarious when it comes to event loop sharing, supporting libuv, libevent, libev, sdevent, glib and uloop, as well as custom event libs.

100+ independent minimal examples for various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to get started quickly.

There are a lot of READMEs on a variety of topics.

We do a huge amount of CI testing per push, currently 582 builds on 30 platforms. You can see the lws CI rack and read about how lws-based Sai is used to coordinate all the testing.

overview

News

v4.3 is released

See the changelog

Lws work retrospective

The initial commit for lws will have been 11 years ago come Oct 28 2021, it's been a lot of work. There are a total of 4.3K patches, touching 800KLOC cumulatively (this is not the size in the repo, but over the years, how many source lines were changed by patches).

overview

Gratifyingly, it turns out over the years, ~15% of that was contributed by 404 contributors: that's not so bad. Thanks a lot to everyone who has provided patches.

Today at least tens of millions of devices and product features rely on lws to handle their communications including several from FAANG; Google now include lws as part of Android sources.

Support

This is the libwebsockets C library for lightweight websocket clients and servers. For support, visit

https://libwebsockets.org

and consider joining the project mailing list at

https://libwebsockets.org/mailman/listinfo/libwebsockets

You can get the latest version of the library from git:

Doxygen API docs for development: https://libwebsockets.org/lws-api-doc-main/html/index.html