1# 2# libwebsockets - small server side websockets and web server implementation 3# 4# Copyright (C) 2010 - 2020 Andy Green <[email protected]> 5# 6# Permission is hereby granted, free of charge, to any person obtaining a copy 7# of this software and associated documentation files (the "Software"), to 8# deal in the Software without restriction, including without limitation the 9# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10# sell copies of the Software, and to permit persons to whom the Software is 11# furnished to do so, subject to the following conditions: 12# 13# The above copyright notice and this permission notice shall be included in 14# all copies or substantial portions of the Software. 15# 16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22# IN THE SOFTWARE. 23# 24# The strategy is to only export to PARENT_SCOPE 25# 26# - changes to LIB_LIST 27# - changes to SOURCES 28# - includes via include_directories 29# 30# and keep everything else private 31 32include_directories(. ./compression) 33 34list(APPEND SOURCES 35 roles/http/header.c 36 roles/http/date.c 37 roles/http/parsers.c) 38 39if (NOT LWS_WITHOUT_SERVER) 40 list(APPEND SOURCES 41 roles/http/server/server.c 42 roles/http/server/lws-spa.c) 43endif() 44 45if (LWS_WITH_CACHE_NSCOOKIEJAR AND LWS_WITH_CLIENT) 46 list(APPEND SOURCES 47 roles/http/cookie.c) 48endif() 49 50if (LWS_WITH_HTTP_PROXY AND LWS_WITH_HUBBUB) 51 list(APPEND SOURCES 52 roles/http/server/rewrite.c) 53endif() 54 55if (LWS_WITH_ACCESS_LOG) 56 list(APPEND SOURCES 57 roles/http/server/access-log.c) 58endif() 59 60if (LWS_WITH_HTTP_STREAM_COMPRESSION) 61 list(APPEND SOURCES 62 roles/http/compression/stream.c 63 roles/http/compression/deflate/deflate.c) 64 65 if (LWS_WITH_HTTP_BROTLI) 66 list(APPEND SOURCES 67 roles/http/compression/brotli/brotli.c) 68 list(APPEND LIB_LIST brotlienc brotlidec brotlidec) 69 endif() 70endif() 71 72if (LWS_WITH_LEJP_CONF AND LWS_WITH_NETWORK AND NOT LWS_PLAT_OPTEE) 73 list(APPEND SOURCES 74 roles/http/server/lejp-conf.c 75 ) 76endif() 77 78if (LWS_WITH_RANGES) 79 list(APPEND SOURCES 80 roles/http/server/ranges.c) 81endif() 82 83if (LWS_WITH_ZIP_FOPS) 84 if (LWS_WITH_ZLIB) 85 list(APPEND SOURCES 86 roles/http/server/fops-zip.c) 87 else() 88 message(FATAL_ERROR "Pre-zipped file support (LWS_WITH_ZIP_FOPS) requires ZLIB (LWS_WITH_ZLIB)") 89 endif() 90endif() 91 92# 93# Keep explicit parent scope exports at end 94# 95 96exports_to_parent_scope() 97