diff --git a/CMakeLists.txt b/CMakeLists.txt index 9055f135..b39d9293 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,11 @@ if(WIN32) set(LWS_WITH_BUNDLED_ZLIB_DEFAULT ON) endif() +# +# Select features recommended for PC distro packaging +# +option(LWS_WITH_DISTRO_RECOMMENDED "Enable features recommended for distro packaging" OFF) + # # Major individual features # @@ -100,6 +105,24 @@ option(LWS_REPRODUCIBLE "Build libwebsockets reproducible. It removes the build # End of user settings # + +if(LWS_WITH_DISTRO_RECOMMENDED) + set(LWS_WITH_HTTP2 1) + set(LWS_WITH_LWSWS 1) + set(LWS_WITH_CGI 1) + set(LWS_IPV6 1) + set(LWS_WITH_ZIP_FOPS 1) + set(LWS_WITH_SOCKS5 1) + set(LWS_WITH_RANGES 1) + set(LWS_WITH_ACME 1) + set(LWS_WITH_SERVER_STATUS 1) + set(LWS_WITH_LIBUV 1) + set(LWS_WITH_LIBEV 1) + set(LWS_WITH_LIBEVENT 1) + set(LWS_WITHOUT_EXTENSIONS 0) +endif() + + if(NOT DEFINED CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type") endif() diff --git a/READMEs/README.build.md b/READMEs/README.build.md index f97317aa..3ca43205 100644 --- a/READMEs/README.build.md +++ b/READMEs/README.build.md @@ -251,6 +251,12 @@ deleting build/CMakeCache.txt may be enough. $ make install ``` +@section distro Selecting CMake options useful for distros + +Distro packagers should select the CMake option "LWS_WITH_DISTRO_RECOMMENDED", +which selects common additional options like support for various event libraries, +plugins and lwsws. + @section ssllib Choosing Your TLS Poison - If you are really restricted on memory, code size, or don't care about TLS diff --git a/scripts/libwebsockets.spec b/scripts/libwebsockets.spec index 48a63eab..59cc73cc 100644 --- a/scripts/libwebsockets.spec +++ b/scripts/libwebsockets.spec @@ -30,7 +30,7 @@ Development files for libwebsockets %build mkdir -p build cd build -%cmake .. +%cmake .. -DLWS_WITH_DISTRO_RECOMMENDED=1 make %install @@ -54,13 +54,19 @@ rm -rf $RPM_BUILD_ROOT /usr/bin/libwebsockets-test-echo /usr/bin/libwebsockets-test-fraggle /usr/bin/libwebsockets-test-fuzxy +/usr/bin/libwebsockets-test-lejp +/usr/bin/libwebsockets-test-server-libev +/usr/bin/libwebsockets-test-server-libevent +/usr/bin/libwebsockets-test-server-libuv +/usr/bin/libwebsockets-test-server-v2.0 +/usr/bin/libwebsockets-test-sshd +/usr/bin/lwsws /%{_libdir}/libwebsockets.so.12 /%{_libdir}/libwebsockets.so /%{_libdir}/cmake/libwebsockets/LibwebsocketsConfig.cmake /%{_libdir}/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake /%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake /%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets-release.cmake - /usr/share/libwebsockets-test-server %doc %files devel