1SUMMARY = "Civetweb embedded web server"
2HOMEPAGE = "https://github.com/civetweb/civetweb"
3
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ce6ce6eb1b2fd59ee6bab219470442a3"
6
7SRCREV = "d7ba35bbb649209c66e582d5a0244ba988a15159"
8
9SRC_URI = "git://github.com/civetweb/civetweb.git;branch=master;protocol=https \
10           file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \
11           "
12
13S = "${WORKDIR}/git"
14
15# civetweb supports building with make or cmake (although cmake lacks few features)
16inherit cmake
17
18# Disable Lua and Duktape because they do not compile from CMake (as of v1.8, v1.9 and v1.10).
19# Disable ASAN as it is included only in Debug build.
20EXTRA_OECMAKE = " \
21    -DBUILD_SHARED_LIBS=ON \
22    -DCIVETWEB_ENABLE_DUKTAPE=OFF \
23    -DCIVETWEB_ENABLE_LUA=OFF \
24    -DCIVETWEB_ENABLE_ASAN=OFF \
25    -DCIVETWEB_BUILD_TESTING=OFF \
26    -DCIVETWEB_SSL_OPENSSL_API_3_0=ON \
27"
28
29# Building with ninja fails on missing third_party/lib/libcheck.a (which
30# should come from external CMake project)
31OECMAKE_GENERATOR = "Unix Makefiles"
32
33PACKAGECONFIG ??= "caching ipv6 server ssl websockets"
34PACKAGECONFIG[caching] = "-DCIVETWEB_DISABLE_CACHING=OFF,-DCIVETWEB_DISABLE_CACHING=ON,"
35PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON,"
36PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF,"
37PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF,"
38PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF,"
39PACKAGECONFIG[server] = "-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=ON -DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
40PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%),"
41PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF,"
42
43do_install:append() {
44    sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' \
45        -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/civetweb/civetweb-targets.cmake
46}
47
48BBCLASSEXTEND = "native"
49