1d4afb5ceSopenharmony_ci{
2d4afb5ceSopenharmony_ci	"schema": "sai-1",
3d4afb5ceSopenharmony_ci
4d4afb5ceSopenharmony_ci	# We're doing separate install into destdir so that the test server
5d4afb5ceSopenharmony_ci	# has somewhere to go to find its /usr/share content like certs
6d4afb5ceSopenharmony_ci
7d4afb5ceSopenharmony_ci	"platforms": {
8d4afb5ceSopenharmony_ci		"linux-debian-11/x86_64-amd/gcc": {
9d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
10d4afb5ceSopenharmony_ci		},
11d4afb5ceSopenharmony_ci		"linux-debian-buster/x86-amd/gcc": {
12d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
13d4afb5ceSopenharmony_ci		},
14d4afb5ceSopenharmony_ci		"linux-debian-sid/x86_64-amd/gcc": {
15d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
16d4afb5ceSopenharmony_ci		},
17d4afb5ceSopenharmony_ci		"linux-ubuntu-xenial/x86_64-amd/gcc": {
18d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
19d4afb5ceSopenharmony_ci		},
20d4afb5ceSopenharmony_ci		"linux-debian-sid/x86-amd/gcc": {
21d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
22d4afb5ceSopenharmony_ci		},
23d4afb5ceSopenharmony_ci		"linux-debian-sid/x86_64-amd/gcc": {
24d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
25d4afb5ceSopenharmony_ci		},
26d4afb5ceSopenharmony_ci
27d4afb5ceSopenharmony_ci		"linux-ubuntu-1804/x86_64-amd/gcc": {
28d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
29d4afb5ceSopenharmony_ci		},
30d4afb5ceSopenharmony_ci		"linux-ubuntu-2004/x86_64-amd/gcc": {
31d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
32d4afb5ceSopenharmony_ci		},
33d4afb5ceSopenharmony_ci		"linux-fedora-32/x86_64-amd/gcc": {
34d4afb5ceSopenharmony_ci			"build": "rm -rf build destdir ; mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G RPM\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
35d4afb5ceSopenharmony_ci		},
36d4afb5ceSopenharmony_ci		"linux-gentoo/x86_64-amd/gcc": {
37d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G ZIP\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
38d4afb5ceSopenharmony_ci		},
39d4afb5ceSopenharmony_ci		"linux-centos-7/x86_64-amd/gcc": {
40d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G RPM\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
41d4afb5ceSopenharmony_ci		},
42d4afb5ceSopenharmony_ci		"linux-centos-8/x86_64-amd/gcc": {
43d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G RPM\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
44d4afb5ceSopenharmony_ci		},
45d4afb5ceSopenharmony_ci		"linux-centos-8/aarch64-a72-bcm2711-rpi4/gcc": {
46d4afb5ceSopenharmony_ci			"build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G RPM\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
47d4afb5ceSopenharmony_ci		},
48d4afb5ceSopenharmony_ci		"linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc": {
49d4afb5ceSopenharmony_ci			"build": "mkdir build;cd build;export CCACHE_DISABLE=1;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G DEB\";cmake .. ${cmake} && make -j3 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j3 --output-on-failure ${cpack}",
50d4afb5ceSopenharmony_ci			"default": false
51d4afb5ceSopenharmony_ci		},
52d4afb5ceSopenharmony_ci		"linux-android/aarch64/llvm": {
53d4afb5ceSopenharmony_ci			"build": "mkdir build;cd build;cmake .. -DCMAKE_TOOLCHAIN_FILE=../libwebsockets/contrib/cross-aarch64-android.cmake ${cmake} && make -j",
54d4afb5ceSopenharmony_ci			"default": false
55d4afb5ceSopenharmony_ci		},
56d4afb5ceSopenharmony_ci		"netbsd-iOS/aarch64/llvm": {
57d4afb5ceSopenharmony_ci			"build": "mkdir build destdir; cd build; export SAI_CPACK=\"-G ZIP\";cmake .. -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_IOS_DEVELOPER_ROOT=/opt/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer -DCMAKE_TOOLCHAIN_FILE=contrib/iOS.cmake -DIOS_PLATFORM=OS ${cmake} && make -j",
58d4afb5ceSopenharmony_ci			"default": false
59d4afb5ceSopenharmony_ci		},
60d4afb5ceSopenharmony_ci		"netbsd-OSX-bigsur/x86_64-intel-i3/llvm": {
61d4afb5ceSopenharmony_ci			"build": "mkdir build destdir; cd build; export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G ZIP\";export MACOSX_DEPLOYMENT_TARGET=10.15 ; cmake .. -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DLWS_OPENSSL_INCLUDE_DIRS=/usr/local/opt/openssl@1.1/include -DLWS_OPENSSL_LIBRARIES=\"/usr/local/opt/openssl/lib/libssl.dylib;/usr/local/opt/openssl/lib/libcrypto.dylib\" ${cmake} && make -j4 && make -j DESTDIR=../destdir install && ctest -j2 --output-on-failure ${cpack}"
62d4afb5ceSopenharmony_ci		},
63d4afb5ceSopenharmony_ci		"netbsd-OSX-bigsur/aarch64-apple-m1/llvm": {
64d4afb5ceSopenharmony_ci			"build": "mkdir build destdir; cd build; export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export SAI_CPACK=\"-G ZIP\";export MACOSX_DEPLOYMENT_TARGET=10.15 ; cmake .. -DLWS_WITH_SUL_DEBUGGING=1 -DCMAKE_SYSTEM_PREFIX_PATH=/opt/homebrew -DLWS_OPENSSL_INCLUDE_DIRS=/opt/homebrew/Cellar/openssl@1.1/1.1.1h/include '-DLWS_OPENSSL_LIBRARIES=/opt/homebrew/Cellar/openssl@1.1/1.1.1h/lib/libssl.dylib;/opt/homebrew/Cellar/openssl@1.1/1.1.1h/lib/libcrypto.dylib' ${cmake} && make -j6 && rm -rf ../destdir && make -j DESTDIR=../destdir install && ctest -j3 --output-on-failure ${cpack}"
65d4afb5ceSopenharmony_ci		},
66d4afb5ceSopenharmony_ci		"solaris/x86_64-amd/gcc": {
67d4afb5ceSopenharmony_ci			"build": "mkdir build destdir; cd build; export SAI_CPACK=\"-G ZIP\";cmake .. ${cmake} && make -j 4 && make install DESTDIR=../destdir && ctest -j2 --output-on-failure ${cpack}",
68d4afb5ceSopenharmony_ci			"default": false
69d4afb5ceSopenharmony_ci		},
70d4afb5ceSopenharmony_ci		"freertos-linkit/arm32-m4-mt7697-usi/gcc": {
71d4afb5ceSopenharmony_ci			"build": "mkdir build;cd build;export CCACHE_DISABLE=1;cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/tmp -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-linkit.cmake -DLWS_PLAT_FREERTOS=1 -DLWS_WITH_ZLIB=0 -DLWS_WITHOUT_EXTENSIONS=1 -DLWS_WITH_ZIP_FOPS=0 -DLWS_WITH_HTTP_STREAM_COMPRESSION=0 -DLWS_WITH_MBEDTLS=1 -DLWS_WITH_FILE_OPS=0 -DLWS_IPV6=0 ${cmake};make -j",
72d4afb5ceSopenharmony_ci			"default": false
73d4afb5ceSopenharmony_ci		},
74d4afb5ceSopenharmony_ci		"w10/x86_64-amd/msvc": {
75d4afb5ceSopenharmony_ci			"build": "mkdir build && cd build && set SAI_CPACK=\"-G ZIP\" && cmake .. -DLWS_OPENSSL_LIBRARIES=\"C:\\Program Files\\OpenSSL\\lib\\libssl.lib;C:\\Program Files\\OpenSSL\\lib\\libcrypto.lib\" -DLWS_OPENSSL_INCLUDE_DIRS=\"C:\\Program Files\\OpenSSL\\include\" -DLWS_EXT_PTHREAD_INCLUDE_DIR=\"C:\\Program Files (x86)\\pthreads\\include\" -DLWS_EXT_PTHREAD_LIBRARIES=\"C:\\Program Files (x86)\\pthreads\\lib\\x64\\libpthreadGC2.a\" ${cmake} && cmake --build . --config DEBUG && set CTEST_OUTPUT_ON_FAILURE=1 && ctest . -C DEBUG -j1 --output-on-failure",
76d4afb5ceSopenharmony_ci			"default": false
77d4afb5ceSopenharmony_ci		},
78d4afb5ceSopenharmony_ci
79d4afb5ceSopenharmony_ci		"w10/x86_64-amd/wmbedtlsmsvc": {
80d4afb5ceSopenharmony_ci                        "build": "mkdir build && cd build && set SAI_CPACK=\"-G ZIP\" && cmake ..  -DLWS_WITH_MBEDTLS=1 -DLWS_MBEDTLS_INCLUDE_DIRS=\"C:/Program Files (x86)/mbed TLS/include\" -DMBEDTLS_LIBRARY=\"C:/Program Files (x86)/mbed TLS/lib/mbedtls.lib\" -DMBEDX509_LIBRARY=\"C:/Program Files (x86)/mbed TLS/lib/mbedx509.lib\" -DMBEDCRYPTO_LIBRARY=\"C:/Program Files (x86)/mbed TLS/lib/mbedcrypto.lib\"  -DLWS_EXT_PTHREAD_INCLUDE_DIR=\"C:\\Program Files (x86)\\pthreads\\include\" -DLWS_EXT_PTHREAD_LIBRARIES=\"C:\\Program Files (x86)\\pthreads\\lib\\x64\\libpthreadGC2.a\" ${cmake} && cmake --build . --config DEBUG && set CTEST_OUTPUT_ON_FAILURE=1 && ctest . -C DEBUG -j1 --output-on-failure",
81d4afb5ceSopenharmony_ci                        "default": false
82d4afb5ceSopenharmony_ci                },
83d4afb5ceSopenharmony_ci		"w10/x86_64-amd/noptmsvc": {
84d4afb5ceSopenharmony_ci			"build": "mkdir build && cd build && set SAI_CPACK=\"-G ZIP\" && cmake .. -DLWS_OPENSSL_LIBRARIES=\"C:\\Program Files\\OpenSSL\\lib\\libssl.lib;C:\\Program Files\\OpenSSL\\lib\\libcrypto.lib\" -DLWS_OPENSSL_INCLUDE_DIRS=\"C:\\Program Files\\OpenSSL\\include\" ${cmake} && cmake --build . --config DEBUG && set CTEST_OUTPUT_ON_FAILURE=1 && ctest . -C DEBUG -j1 --output-on-failure",
85d4afb5ceSopenharmony_ci			"default": false
86d4afb5ceSopenharmony_ci		},
87d4afb5ceSopenharmony_ci		"w10/x86_64-amd/mingw32": {
88d4afb5ceSopenharmony_ci			"build": "mkdir build && cd build && cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w32.cmake ${cmake} && cmake --build . --config DEBUG",
89d4afb5ceSopenharmony_ci			"default": false
90d4afb5ceSopenharmony_ci		},
91d4afb5ceSopenharmony_ci		"w10/x86_64-amd/mingw64": {
92d4afb5ceSopenharmony_ci			"build": "mkdir build && cd build && cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w64.cmake ${cmake} && cmake --build . --config DEBUG",
93d4afb5ceSopenharmony_ci			"default": false
94d4afb5ceSopenharmony_ci		},
95d4afb5ceSopenharmony_ci		"freertos-espidf/xl6-esp32/gcc": {
96d4afb5ceSopenharmony_ci			# official way to get sdkconfig.h is idf.py menuconfig, but
97d4afb5ceSopenharmony_ci			# no obvious way to do that in CI
98d4afb5ceSopenharmony_ci			"build":	"rm -rf ebuild ; mkdir ebuild; cd ebuild; cp -rp ../minimal-examples/embedded/esp32/${cpack} . ;  cd ${cpack} ; . /opt/esp/esp-idf/export.sh ; ln -sf ../.. libwebsockets ; idf.py set-target esp32 && cp libwebsockets/minimal-examples/embedded/esp32/${cpack}/sdkconfig . && cp sdkconfig.h build && idf.py ${cmake} build size size-components size-files && cd build && /usr/local/bin/sai-device ${cpack} ESPPORT=0 ctest --output-on-failure",
99d4afb5ceSopenharmony_ci			"default":	false
100d4afb5ceSopenharmony_ci		},
101d4afb5ceSopenharmony_ci		"freertos-espidf/riscv-esp32c3/gcc": {
102d4afb5ceSopenharmony_ci			"build":	"rm -rf ebuild ; mkdir ebuild; cd ebuild; cp -rp ../minimal-examples/embedded/esp32/${cpack} . ;  cd ${cpack} ; . /opt/esp/esp-idf/export.sh ; ln -sf ../.. libwebsockets ; idf.py set-target esp32c3 && cp libwebsockets/minimal-examples/embedded/esp32/${cpack}/sdkconfig . && cp sdkconfig.h build && idf.py ${cmake} build size size-components size-files && cd build && /usr/local/bin/sai-device ${cpack} ESPPORT=0 ctest --output-on-failure",
103d4afb5ceSopenharmony_ci			"default":	false
104d4afb5ceSopenharmony_ci		},
105d4afb5ceSopenharmony_ci
106d4afb5ceSopenharmony_ci		"linux-fedora-32/riscv64-virt/gcc": {
107d4afb5ceSopenharmony_ci			"build":	"mkdir build destdir;cd build;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export CCACHE_DISABLE=1;export SAI_CPACK=\"-G RPM\";cmake .. ${cmake} && make -j4 && rm -rf ../destdir && make -j12 DESTDIR=../destdir install && ctest -j3 --output-on-failure ${cpack}",
108d4afb5ceSopenharmony_ci			"default":	false
109d4afb5ceSopenharmony_ci		},
110d4afb5ceSopenharmony_ci		"freebsd-12/x86_64-amd/llvm": {
111d4afb5ceSopenharmony_ci			"build":	"mkdir build destdir;cd build;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export CCACHE_DISABLE=1;cmake .. ${cmake} && make -j3 && rm -rf ../destdir && make -j3 DESTDIR=../destdir install"
112d4afb5ceSopenharmony_ci		},
113d4afb5ceSopenharmony_ci		"openbsd/x86_64-amd/llvm": {
114d4afb5ceSopenharmony_ci                        "build": "mkdir build destdir;cd build;export CCACHE_DISABLE=1;cmake .. ${cmake};make -j4 && rm -rf ../destdir && make -j3 DESTDIR=../destdir install && ctest -j3 --output-on-failure",
115d4afb5ceSopenharmony_ci			"default": false
116d4afb5ceSopenharmony_ci		},
117d4afb5ceSopenharmony_ci                "netbsd/aarch64BE-bcm2837-a53/gcc": {
118d4afb5ceSopenharmony_ci                        "build": "mkdir build destdir;cd build;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export CCACHE_DISABLE=1;cmake .. ${cmake};make -j6 && rm -rf ../destdir && make -j6 DESTDIR=../destdir install && /usr/pkg/bin/ctest -j3 --output-on-failure",
119d4afb5ceSopenharmony_ci                        "default": false
120d4afb5ceSopenharmony_ci                },
121d4afb5ceSopenharmony_ci                "netbsd/x86_64-amd/gcc": {
122d4afb5ceSopenharmony_ci                        "build": "mkdir build destdir;cd build;export LD_LIBRARY_PATH=../destdir/usr/local/share/libwebsockets-test-server/plugins:../destdir/usr/local/lib;export CCACHE_DISABLE=1;cmake .. ${cmake};make -j6 && rm -rf ../destdir && make -j6 DESTDIR=../destdir install && /usr/pkg/bin/ctest -j3 --output-on-failure",
123d4afb5ceSopenharmony_ci                        "default": false
124d4afb5ceSopenharmony_ci                }
125d4afb5ceSopenharmony_ci
126d4afb5ceSopenharmony_ci	},
127d4afb5ceSopenharmony_ci
128d4afb5ceSopenharmony_ci	"configurations": {
129d4afb5ceSopenharmony_ci		"default": {
130d4afb5ceSopenharmony_ci			"cmake":	"",
131d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, freertos-linkit/arm32-m4-mt7697-usi/gcc, linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc, w10/x86_64-amd/mingw32, w10/x86_64-amd/mingw64, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc, w10/x86_64-amd/wmbedtlsmsvc, openbsd/x86_64-amd/llvm, solaris/x86_64-amd/gcc"
132d4afb5ceSopenharmony_ci		},
133d4afb5ceSopenharmony_ci		"default-noudp": {
134d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_UDP=0",
135d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, freertos-linkit/arm32-m4-mt7697-usi/gcc, linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc, w10/x86_64-amd/mingw32, w10/x86_64-amd/mingw64, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc, w10/x86_64-amd/wmbedtlsmsvc"
136d4afb5ceSopenharmony_ci		},
137d4afb5ceSopenharmony_ci		"fault-injection": {
138d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SYS_FAULT_INJECTION=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_CBOR=1",
139d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc"
140d4afb5ceSopenharmony_ci		},
141d4afb5ceSopenharmony_ci		"esp32-c3": {
142d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_IPV6=0",
143d4afb5ceSopenharmony_ci			"cpack":	"esp-c3dev",
144d4afb5ceSopenharmony_ci			"platforms":	"none, freertos-espidf/riscv-esp32c3/gcc"
145d4afb5ceSopenharmony_ci		},
146d4afb5ceSopenharmony_ci		"esp32-heltec": {
147d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_IPV6=0",
148d4afb5ceSopenharmony_ci			"cpack":	"esp-heltec-wb32",
149d4afb5ceSopenharmony_ci			"platforms":	"none, freertos-espidf/xl6-esp32/gcc"
150d4afb5ceSopenharmony_ci		},
151d4afb5ceSopenharmony_ci		"esp32-wrover": {
152d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_IPV6=0 -DLWS_WITH_CBOR=1",
153d4afb5ceSopenharmony_ci			"cpack":	"esp-wrover-kit",
154d4afb5ceSopenharmony_ci			"platforms":	"none, freertos-espidf/xl6-esp32/gcc"
155d4afb5ceSopenharmony_ci		},
156d4afb5ceSopenharmony_ci		"esp32-wrover-static": {
157d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY=1 -DLWS_IPV6=0",
158d4afb5ceSopenharmony_ci			"cpack":	"esp-wrover-kit",
159d4afb5ceSopenharmony_ci			"platforms":	"none, freertos-espidf/xl6-esp32/gcc"
160d4afb5ceSopenharmony_ci		},
161d4afb5ceSopenharmony_ci		"default-examples-openssl-v3-nogencrypto": {
162d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_OPENSSL_LIBRARIES=\"/usr/local/src/openssl/v3/usr/local/lib64/libssl.a;/usr/local/src/openssl/v3/usr/local/lib64/libcrypto.a\" -DLWS_OPENSSL_INCLUDE_DIRS=\"/usr/local/src/openssl/v3/usr/local/include/\" -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_GENCRYPTO=0",
163d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
164d4afb5ceSopenharmony_ci		},
165d4afb5ceSopenharmony_ci		"default-examples-openssl-v3-gencrypto": {
166d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_SUPPRESS_DEPRECATED_API_WARNINGS=1 -DLWS_OPENSSL_LIBRARIES=\"/usr/local/src/openssl/v3/usr/local/lib64/libssl.a;/usr/local/src/openssl/v3/usr/local/lib64/libcrypto.a\" -DLWS_OPENSSL_INCLUDE_DIRS=\"/usr/local/src/openssl/v3/usr/local/include/\" -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_GENCRYPTO=1",
167d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
168d4afb5ceSopenharmony_ci		},
169d4afb5ceSopenharmony_ci		"default-examples-boringssl": {
170d4afb5ceSopenharmony_ci			"cmake":	"cmake .. -DLWS_WITH_BORINGSSL=1 -DLWS_OPENSSL_INCLUDE_DIRS=\"/usr/local/src/boringssl/include\" -DLWS_OPENSSL_LIBRARIES=\"/usr/local/src/boringssl/build/ssl/libssl.so;/usr/local/src/boringssl/build/crypto/libcrypto.so\" -DLWS_WITH_MINIMAL_EXAMPLES=1",
171d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
172d4afb5ceSopenharmony_ci		},
173d4afb5ceSopenharmony_ci		"default-examples-libressl": {
174d4afb5ceSopenharmony_ci			"cmake":	"cmake .. -DLWS_OPENSSL_LIBRARIES='/opt/libressl-3.3.1/build/tls/libtls.a;/opt/libressl-3.3.1/build/ssl/libssl.a;/opt/libressl-3.3.1/build/crypto/libcrypto.a' -DLWS_OPENSSL_INCLUDE_DIRS=/opt/libressl-3.3.1/include -DLWS_WITH_MINIMAL_EXAMPLES=1",
175d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
176d4afb5ceSopenharmony_ci		},
177d4afb5ceSopenharmony_ci		"default-wolfssl": {
178d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_WOLFSSL=1 -DLWS_WOLFSSL_INCLUDE_DIRS=/usr/local/include -DLWS_WOLFSSL_LIBRARIES=/usr/local/lib/libwolfssl.so",
179d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
180d4afb5ceSopenharmony_ci		},
181d4afb5ceSopenharmony_ci		"default-examples": {
182d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_MINIMAL_EXAMPLES=1",
183d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc, openbsd/x86_64-amd/llvm, solaris/x86_64-amd/gcc"
184d4afb5ceSopenharmony_ci		},
185d4afb5ceSopenharmony_ci		"default-examples-tls-sess": {
186d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_TLS_SESSIONS=1",
187d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc, openbsd/x86_64-amd/llvm, solaris/x86_64-amd/gcc"
188d4afb5ceSopenharmony_ci		},
189d4afb5ceSopenharmony_ci		"h1only-examples": {
190d4afb5ceSopenharmony_ci			"cmake":	"cmake .. -DLWS_WITH_HTTP2=0 -DLWS_WITH_MINIMAL_EXAMPLES=1",
191d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc"
192d4afb5ceSopenharmony_ci		},
193d4afb5ceSopenharmony_ci		"unix-domain": {
194d4afb5ceSopenharmony_ci			"cmake":	"-DUNIX_SOCK=1",
195d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc"
196d4afb5ceSopenharmony_ci		},
197d4afb5ceSopenharmony_ci		"plugins": {
198d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_PLUGINS=1",
199d4afb5ceSopenharmony_ci			"platforms":	"none,linux-fedora-32/x86_64-amd/gcc,linux-debian-sid/x86-amd/gcc,linux-debian-sid/x86_64-amd/gcc"
200d4afb5ceSopenharmony_ci		},
201d4afb5ceSopenharmony_ci		# WARN_DEPRECATED disabled for openssl v3 case on windows
202d4afb5ceSopenharmony_ci		"lws_system": {
203d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_SUPPRESS_DEPRECATED_API_WARNINGS=1 -DLWS_WITH_ACME=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DCMAKE_BUILD_TYPE=RELEASE -DLWS_WITH_GENCRYPTO=1 -DLWS_WITH_JOSE=1 -DLWS_WITH_SYS_ASYNC_DNS=1 -DLWS_WITH_SYS_NTPCLIENT=1",
204d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, openbsd/x86_64-amd/llvm"
205d4afb5ceSopenharmony_ci		},
206d4afb5ceSopenharmony_ci		"secure-streams": {
207d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1",
208d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc, openbsd/x86_64-amd/llvm, solaris/x86_64-amd/gcc"
209d4afb5ceSopenharmony_ci		},
210d4afb5ceSopenharmony_ci		"secure-streams-proxy": {
211d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_SECURE_STREAMS_PROXY_API=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_SECURE_STREAMS_AUTH_SIGV4=1",
212d4afb5ceSopenharmony_ci			"platforms":	"not w10/x86_64-amd/msvc, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc, openbsd/x86_64-amd/llvm, solaris/x86_64-amd/gcc"
213d4afb5ceSopenharmony_ci		},
214d4afb5ceSopenharmony_ci		"secure-streams-proxy-metrics": {
215d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_SECURE_STREAMS_PROXY_API=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_SECURE_STREAMS_AUTH_SIGV4=1 -DLWS_WITH_SYS_METRICS=1",
216d4afb5ceSopenharmony_ci			"platforms":	"not w10/x86_64-amd/msvc, netbsd/aarch64BE-bcm2837-a53/gcc, netbsd/x86_64-amd/gcc"
217d4afb5ceSopenharmony_ci		},
218d4afb5ceSopenharmony_ci		"distro_recommended": { # minimal examples also needed for ctest
219d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_DISTRO_RECOMMENDED=1 -DLWS_WITH_MINIMAL_EXAMPLES=1",
220d4afb5ceSopenharmony_ci			"platforms":	"not freebsd-12/x86_64-amd/llvm, not linkit-cross, not w10/x86_64-amd/msvc, linux-ubuntu-2004/aarch64-a72-bcm2711-rpi4/gcc, linux-fedora-32/riscv64-virt/gcc",
221d4afb5ceSopenharmony_ci			"cpack":	"&& cpack $SAI_CPACK",
222d4afb5ceSopenharmony_ci			"artifacts":	"build/*.rpm, build/*.deb, build/*.zip"
223d4afb5ceSopenharmony_ci		},
224d4afb5ceSopenharmony_ci		"lwsws": {
225d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_LWSWS=ON -DLWS_WITHOUT_EXTENSIONS=0 -DLWS_WITH_HTTP2=1 -DLWS_WITH_ACME=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_GENCRYPTO=1 -DLWS_WITH_JOSE=1 -DLWS_WITH_SYS_ASYNC_DNS=1 -DLWS_WITH_SYS_NTPCLIENT=1",
226d4afb5ceSopenharmony_ci			# no distro -devel package for libuv
227d4afb5ceSopenharmony_ci			"platforms":	"not linux-centos-8/x86_64-amd/gcc"
228d4afb5ceSopenharmony_ci		},
229d4afb5ceSopenharmony_ci		"lwsws-nometrics": {
230d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_LWSWS=ON -DLWS_WITHOUT_EXTENSIONS=0 -DLWS_WITH_HTTP2=1 -DLWS_WITH_ACME=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_GENCRYPTO=1 -DLWS_WITH_JOSE=1 -DLWS_WITH_SYS_ASYNC_DNS=1 -DLWS_WITH_SYS_NTPCLIENT=1 -DLWS_WITH_SYS_METRICS=0",
231d4afb5ceSopenharmony_ci			# no distro -devel package for libuv
232d4afb5ceSopenharmony_ci			"platforms":	"not linux-centos-8/x86_64-amd/gcc"
233d4afb5ceSopenharmony_ci		},
234d4afb5ceSopenharmony_ci		"lwsws2": {
235d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_LWSWS=ON -DLWS_WITHOUT_EXTENSIONS=0 -DLWS_WITH_HTTP2=1 -DLWS_WITH_ACME=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_LWS_DSH=1 -DLWS_WITH_CACHE_NSCOOKIEJAR=0",
236d4afb5ceSopenharmony_ci			# no distro -devel package for libuv
237d4afb5ceSopenharmony_ci			"platforms":	"not linux-centos-8/x86_64-amd/gcc"
238d4afb5ceSopenharmony_ci		},
239d4afb5ceSopenharmony_ci		"justmbedtls": {
240d4afb5ceSopenharmony_ci			"cmake": "-DLWS_WITH_MBEDTLS=1 -DLWS_WITHOUT_TESTAPPS=1",
241d4afb5ceSopenharmony_ci			"platforms": "none, linux-android/aarch64/llvm"
242d4afb5ceSopenharmony_ci		},
243d4afb5ceSopenharmony_ci		"mbedtls": {
244d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_MBEDTLS=1 -DLWS_WITH_HTTP2=1 -DLWS_WITH_LWSWS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_JOSE=1 -DCMAKE_BUILD_TYPE=DEBUG",
245d4afb5ceSopenharmony_ci			# no distro -devel package for mbedtls
246d4afb5ceSopenharmony_ci			"platforms":	"not linux-centos-7/x86_64-amd/gcc, not linux-centos-8/x86_64-amd/gcc, not linux-ubuntu-xenial/x86_64-amd/gcc"
247d4afb5ceSopenharmony_ci		},
248d4afb5ceSopenharmony_ci		"mbedtls-metrics": {
249d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_MBEDTLS=1 -DLWS_WITH_HTTP2=1 -DLWS_WITH_LWSWS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_JOSE=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_SYS_METRICS=1",
250d4afb5ceSopenharmony_ci			"platforms":	"not linux-centos-7/x86_64-amd/gcc, not linux-centos-8/x86_64-amd/gcc, not linux-ubuntu-xenial/x86_64-amd/gcc"
251d4afb5ceSopenharmony_ci		},
252d4afb5ceSopenharmony_ci		"noserver": {
253d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITHOUT_SERVER=ON -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_SECURE_STREAMS=1",
254d4afb5ceSopenharmony_ci			"platforms":    "w10/x86_64-amd/msvc, w10/x86_64-amd/noptmsvc"
255d4afb5ceSopenharmony_ci		},
256d4afb5ceSopenharmony_ci		"noclient": {
257d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITHOUT_CLIENT=ON -DLWS_WITH_MINIMAL_EXAMPLES=1"
258d4afb5ceSopenharmony_ci		},
259d4afb5ceSopenharmony_ci		"ext": {
260d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITHOUT_EXTENSIONS=0 -DLWS_WITH_MINIMAL_EXAMPLES=1"
261d4afb5ceSopenharmony_ci		},
262d4afb5ceSopenharmony_ci		"nonetwork": {
263d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_NETWORK=0"
264d4afb5ceSopenharmony_ci		},
265d4afb5ceSopenharmony_ci		"libev": {
266d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_LIBEV=ON",
267d4afb5ceSopenharmony_ci			"platforms":	"openbsd/x86_64-amd/llvm"
268d4afb5ceSopenharmony_ci		},
269d4afb5ceSopenharmony_ci		"libevent": {
270d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_LIBEVENT=ON"
271d4afb5ceSopenharmony_ci		},
272d4afb5ceSopenharmony_ci		"libglib": {
273d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_GLIB=ON"
274d4afb5ceSopenharmony_ci		},
275d4afb5ceSopenharmony_ci		"sdevent": {
276d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SDEVENT=ON",
277d4afb5ceSopenharmony_ci			"platforms":	"none, linux-fedora-32/x86_64-amd/gcc"
278d4afb5ceSopenharmony_ci		},
279d4afb5ceSopenharmony_ci		"uncommon_headers": {
280d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_HTTP_BASIC_AUTH=0 -DLWS_WITH_HTTP_UNCOMMON_HEADERS=0 -DLWS_HTTP_HEADERS_ALL=0",
281d4afb5ceSopenharmony_ci			"platforms":	"none, linux-fedora-32/x86_64-amd/gcc"
282d4afb5ceSopenharmony_ci		},
283d4afb5ceSopenharmony_ci		"ipv6":	{
284d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_IPV6=ON",
285d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/mingw64, w10/x86_64-amd/msvc"
286d4afb5ceSopenharmony_ci		},
287d4afb5ceSopenharmony_ci		"nonetlink":	{
288d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_NETLINK=0",
289d4afb5ceSopenharmony_ci			"platforms":	"none, linux-ubuntu-2004/x86_64-amd/gcc"
290d4afb5ceSopenharmony_ci		},
291d4afb5ceSopenharmony_ci		"nossl": {
292d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_SSL=OFF",
293d4afb5ceSopenharmony_ci			"platforms":	"netbsd-iOS/aarch64/llvm"
294d4afb5ceSopenharmony_ci		},
295d4afb5ceSopenharmony_ci		"daemon": {
296d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITHOUT_DAEMONIZE=OFF"
297d4afb5ceSopenharmony_ci		},
298d4afb5ceSopenharmony_ci		"cgi": {
299d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_CGI=ON"
300d4afb5ceSopenharmony_ci		},
301d4afb5ceSopenharmony_ci		"nologs": {
302d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_NO_LOGS=ON"
303d4afb5ceSopenharmony_ci		},
304d4afb5ceSopenharmony_ci		"cookiejar": {
305d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_CACHE_NSCOOKIEJAR=ON"
306d4afb5ceSopenharmony_ci		},
307d4afb5ceSopenharmony_ci		"jittrust": {
308d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_TLS_JIT_TRUST=1",
309d4afb5ceSopenharmony_ci			"platforms":	"none, linux-fedora-32/x86_64-amd/gcc"
310d4afb5ceSopenharmony_ci		},
311d4afb5ceSopenharmony_ci		"smp": {
312d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_MAX_SMP=32 -DLWS_WITH_MINIMAL_EXAMPLES=1"
313d4afb5ceSopenharmony_ci		},
314d4afb5ceSopenharmony_ci		"nows": {
315d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_ROLE_WS=0"
316d4afb5ceSopenharmony_ci		},
317d4afb5ceSopenharmony_ci		"threadpool": {
318d4afb5ceSopenharmony_ci			"cmake":	"-DLWS_WITH_THREADPOOL=1 -DLWS_WITH_MINIMAL_EXAMPLES=1",
319d4afb5ceSopenharmony_ci			"platforms":	"w10/x86_64-amd/msvc"
320d4afb5ceSopenharmony_ci		}
321d4afb5ceSopenharmony_ci	}
322d4afb5ceSopenharmony_ci}
323d4afb5ceSopenharmony_ci
324