1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/lib
Andy Green b3131fdfdd cmakelist: Augean Stables refactor
Establish a new distributed CMake architecture with CMake code related to
a source directory moving to be in the subdir in its own CMakeLists.txt.
In particular, there's now one in ./lib which calls through to ones
further down the directory tree like ./lib/plat/xxx, ./lib/roles/xxx etc.

This cuts the main CMakelists.txt from 98KB -> 33KB, about a 66% reduction,
and it's much easier to maintain sub-CMakeLists.txt that are in the same
directory as the sources they manage, and conceal all the details that that
level.

Child CMakelists.txt become responsible for:

 - include_directories() definition (this is not supported by CMake
   directly, it passes it back up via PARENT_SCOPE vars in helper
   macros)

 - Addition child CMakeLists.txt inclusion, for example toplevel ->
   role -> role subdir

 - Source file addition to the build

 - Dependent library path resolution... this is now a private thing
   in the child CMakeLists.txt, it just passes back any adaptations
   to include_directories() and the LIB_LIST without filling the
   parent namespace with the details
2020-05-27 08:40:12 +01:00
..
abstract cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
core cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
core-net cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
event-libs cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
jose cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
misc cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
plat cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
roles cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
secure-streams cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
system cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
tls cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
CMakeLists.txt cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
README.md cleaning 2020-01-05 22:17:58 +00:00

Library sources layout

Code that goes in the libwebsockets library itself lives down ./lib

Path Sources
lib/core Core lws code related to generic fd and wsi servicing and management
lib/core-net Core lws code that applies only if networking enabled
lib/event-libs Code containing optional event-lib specific adaptations
lib/jose JOSE / JWS / JWK / JWE implementations
lib/misc Code for various mostly optional miscellaneous features
lib/plat Platform-specific adaptation code
lib/roles Code for specific optional wsi roles, eg, http/1, h2, ws, raw, etc
lib/system Code for system-level features, eg, dhcpclient
lib/tls Code supporting the various TLS libraries