xref: /aosp_15_r20/external/libwebsockets/test-apps/CMakeLists.txt (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker#
2*1c60b9acSAndroid Build Coastguard Worker# libwebsockets - small server side websockets and web server implementation
3*1c60b9acSAndroid Build Coastguard Worker#
4*1c60b9acSAndroid Build Coastguard Worker# Copyright (C) 2010 - 2020 Andy Green <[email protected]>
5*1c60b9acSAndroid Build Coastguard Worker#
6*1c60b9acSAndroid Build Coastguard Worker# Permission is hereby granted, free of charge, to any person obtaining a copy
7*1c60b9acSAndroid Build Coastguard Worker# of this software and associated documentation files (the "Software"), to
8*1c60b9acSAndroid Build Coastguard Worker# deal in the Software without restriction, including without limitation the
9*1c60b9acSAndroid Build Coastguard Worker# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10*1c60b9acSAndroid Build Coastguard Worker# sell copies of the Software, and to permit persons to whom the Software is
11*1c60b9acSAndroid Build Coastguard Worker# furnished to do so, subject to the following conditions:
12*1c60b9acSAndroid Build Coastguard Worker#
13*1c60b9acSAndroid Build Coastguard Worker# The above copyright notice and this permission notice shall be included in
14*1c60b9acSAndroid Build Coastguard Worker# all copies or substantial portions of the Software.
15*1c60b9acSAndroid Build Coastguard Worker#
16*1c60b9acSAndroid Build Coastguard Worker# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17*1c60b9acSAndroid Build Coastguard Worker# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18*1c60b9acSAndroid Build Coastguard Worker# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19*1c60b9acSAndroid Build Coastguard Worker# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20*1c60b9acSAndroid Build Coastguard Worker# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21*1c60b9acSAndroid Build Coastguard Worker# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22*1c60b9acSAndroid Build Coastguard Worker# IN THE SOFTWARE.
23*1c60b9acSAndroid Build Coastguard Worker#
24*1c60b9acSAndroid Build Coastguard Worker
25*1c60b9acSAndroid Build Coastguard Worker#
26*1c60b9acSAndroid Build Coastguard Worker# Test applications
27*1c60b9acSAndroid Build Coastguard Worker#
28*1c60b9acSAndroid Build Coastguard Worker
29*1c60b9acSAndroid Build Coastguard Workerset(TEST_APP_LIST)
30*1c60b9acSAndroid Build Coastguard Workerif ((LWS_ROLE_H1 OR LWS_ROLE_H2))
31*1c60b9acSAndroid Build Coastguard Worker	#
32*1c60b9acSAndroid Build Coastguard Worker	# Helper function for adding a test app.
33*1c60b9acSAndroid Build Coastguard Worker	#
34*1c60b9acSAndroid Build Coastguard Worker	macro(create_test_app TEST_NAME MAIN_SRC S2 S3 S4 S5 S6)
35*1c60b9acSAndroid Build Coastguard Worker
36*1c60b9acSAndroid Build Coastguard Worker		set(TEST_SRCS ${MAIN_SRC})
37*1c60b9acSAndroid Build Coastguard Worker		set(TEST_HDR)
38*1c60b9acSAndroid Build Coastguard Worker		if ("${S2}" STREQUAL "")
39*1c60b9acSAndroid Build Coastguard Worker		else()
40*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS ${S2})
41*1c60b9acSAndroid Build Coastguard Worker		endif()
42*1c60b9acSAndroid Build Coastguard Worker		if ("${S3}" STREQUAL "")
43*1c60b9acSAndroid Build Coastguard Worker		else()
44*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS ${S3})
45*1c60b9acSAndroid Build Coastguard Worker		endif()
46*1c60b9acSAndroid Build Coastguard Worker		if ("${S4}" STREQUAL "")
47*1c60b9acSAndroid Build Coastguard Worker		else()
48*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS ${S4})
49*1c60b9acSAndroid Build Coastguard Worker		endif()
50*1c60b9acSAndroid Build Coastguard Worker		if ("${S5}" STREQUAL "")
51*1c60b9acSAndroid Build Coastguard Worker		else()
52*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS ${S5})
53*1c60b9acSAndroid Build Coastguard Worker		endif()
54*1c60b9acSAndroid Build Coastguard Worker		if ("${S6}" STREQUAL "")
55*1c60b9acSAndroid Build Coastguard Worker		else()
56*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS ${S6})
57*1c60b9acSAndroid Build Coastguard Worker		endif()
58*1c60b9acSAndroid Build Coastguard Worker		if (WIN32)
59*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_SRCS
60*1c60b9acSAndroid Build Coastguard Worker				${WIN32_HELPERS_PATH}/getopt.c
61*1c60b9acSAndroid Build Coastguard Worker				${WIN32_HELPERS_PATH}/getopt_long.c
62*1c60b9acSAndroid Build Coastguard Worker				${WIN32_HELPERS_PATH}/gettimeofday.c
63*1c60b9acSAndroid Build Coastguard Worker			)
64*1c60b9acSAndroid Build Coastguard Worker
65*1c60b9acSAndroid Build Coastguard Worker			list(APPEND TEST_HDR
66*1c60b9acSAndroid Build Coastguard Worker				${WIN32_HELPERS_PATH}/getopt.h
67*1c60b9acSAndroid Build Coastguard Worker				${WIN32_HELPERS_PATH}/gettimeofday.h
68*1c60b9acSAndroid Build Coastguard Worker			)
69*1c60b9acSAndroid Build Coastguard Worker		endif(WIN32)
70*1c60b9acSAndroid Build Coastguard Worker
71*1c60b9acSAndroid Build Coastguard Worker		source_group("Headers Private"   FILES ${TEST_HDR})
72*1c60b9acSAndroid Build Coastguard Worker		source_group("Sources"   FILES ${TEST_SRCS})
73*1c60b9acSAndroid Build Coastguard Worker		add_executable(${TEST_NAME} ${TEST_SRCS} ${TEST_HDR})
74*1c60b9acSAndroid Build Coastguard Worker
75*1c60b9acSAndroid Build Coastguard Worker		foreach(libpath ${LWS_DEP_LIB_PATHS})
76*1c60b9acSAndroid Build Coastguard Worker			target_link_directories(${TEST_NAME} ${libpath})
77*1c60b9acSAndroid Build Coastguard Worker		endforeach()
78*1c60b9acSAndroid Build Coastguard Worker
79*1c60b9acSAndroid Build Coastguard Worker		if (LWS_LINK_TESTAPPS_DYNAMIC)
80*1c60b9acSAndroid Build Coastguard Worker			if (NOT LWS_WITH_SHARED)
81*1c60b9acSAndroid Build Coastguard Worker				message(FATAL_ERROR "Build of the shared library is disabled. LWS_LINK_TESTAPPS_DYNAMIC must be combined with LWS_WITH_SHARED.")
82*1c60b9acSAndroid Build Coastguard Worker			endif()
83*1c60b9acSAndroid Build Coastguard Worker			target_link_libraries(${TEST_NAME} websockets_shared)
84*1c60b9acSAndroid Build Coastguard Worker			add_dependencies(${TEST_NAME} websockets_shared)
85*1c60b9acSAndroid Build Coastguard Worker		else()
86*1c60b9acSAndroid Build Coastguard Worker			if (NOT LWS_WITH_STATIC)
87*1c60b9acSAndroid Build Coastguard Worker				message(FATAL_ERROR "Build of the static library is disabled. Disabled LWS_LINK_TESTAPPS_DYNAMIC must be combined with LWS_WITH_STATIC.")
88*1c60b9acSAndroid Build Coastguard Worker			endif()
89*1c60b9acSAndroid Build Coastguard Worker			target_link_libraries(${TEST_NAME} websockets)
90*1c60b9acSAndroid Build Coastguard Worker			add_dependencies(${TEST_NAME} websockets)
91*1c60b9acSAndroid Build Coastguard Worker			if (UNIX AND LWS_WITH_SSL AND NOT LWS_WITH_MBEDTLS)
92*1c60b9acSAndroid Build Coastguard Worker				target_link_libraries(${TEST_NAME} ${CMAKE_DL_LIBS})
93*1c60b9acSAndroid Build Coastguard Worker			endif()
94*1c60b9acSAndroid Build Coastguard Worker		endif()
95*1c60b9acSAndroid Build Coastguard Worker
96*1c60b9acSAndroid Build Coastguard Worker		if (LWS_LIB_INCLUDES)
97*1c60b9acSAndroid Build Coastguard Worker			target_include_directories(${TEST_NAME} PRIVATE "${LWS_LIB_INCLUDES}" ${LWS_LIB_BUILD_INC_PATHS})
98*1c60b9acSAndroid Build Coastguard Worker		else()
99*1c60b9acSAndroid Build Coastguard Worker			target_include_directories(${TEST_NAME} PRIVATE ${LWS_LIB_BUILD_INC_PATHS})
100*1c60b9acSAndroid Build Coastguard Worker		endif()
101*1c60b9acSAndroid Build Coastguard Worker		target_compile_options(${TEST_NAME} PRIVATE ${LWS_PTHR_FLAGS})
102*1c60b9acSAndroid Build Coastguard Worker
103*1c60b9acSAndroid Build Coastguard Worker		if (LWS_WITH_HTTP_STREAM_COMPRESSION)
104*1c60b9acSAndroid Build Coastguard Worker			target_link_libraries(${TEST_NAME} z)
105*1c60b9acSAndroid Build Coastguard Worker		endif()
106*1c60b9acSAndroid Build Coastguard Worker
107*1c60b9acSAndroid Build Coastguard Worker		# Set test app specific defines.
108*1c60b9acSAndroid Build Coastguard Worker		set_property(TARGET ${TEST_NAME}
109*1c60b9acSAndroid Build Coastguard Worker					PROPERTY COMPILE_DEFINITIONS
110*1c60b9acSAndroid Build Coastguard Worker						INSTALL_DATADIR="${CMAKE_INSTALL_PREFIX}/share"
111*1c60b9acSAndroid Build Coastguard Worker					)
112*1c60b9acSAndroid Build Coastguard Worker
113*1c60b9acSAndroid Build Coastguard Worker		# Prefix the binary names with libwebsockets.
114*1c60b9acSAndroid Build Coastguard Worker		set_target_properties(${TEST_NAME}
115*1c60b9acSAndroid Build Coastguard Worker			PROPERTIES
116*1c60b9acSAndroid Build Coastguard Worker			OUTPUT_NAME libwebsockets-${TEST_NAME})
117*1c60b9acSAndroid Build Coastguard Worker
118*1c60b9acSAndroid Build Coastguard Worker		target_link_libraries(${TEST_NAME} ${LIB_LIST_AT_END})
119*1c60b9acSAndroid Build Coastguard Worker
120*1c60b9acSAndroid Build Coastguard Worker		# Add to the list of tests.
121*1c60b9acSAndroid Build Coastguard Worker		list(APPEND TEST_APP_LIST ${TEST_NAME})
122*1c60b9acSAndroid Build Coastguard Worker	endmacro()
123*1c60b9acSAndroid Build Coastguard Worker
124*1c60b9acSAndroid Build Coastguard Worker	if (NOT LWS_WITHOUT_SERVER)
125*1c60b9acSAndroid Build Coastguard Worker		#
126*1c60b9acSAndroid Build Coastguard Worker		# test-server
127*1c60b9acSAndroid Build Coastguard Worker		#
128*1c60b9acSAndroid Build Coastguard Worker		if (NOT LWS_WITHOUT_TEST_SERVER)
129*1c60b9acSAndroid Build Coastguard Worker			create_test_app(test-server "test-server.c"
130*1c60b9acSAndroid Build Coastguard Worker				""
131*1c60b9acSAndroid Build Coastguard Worker				""
132*1c60b9acSAndroid Build Coastguard Worker				""
133*1c60b9acSAndroid Build Coastguard Worker				""
134*1c60b9acSAndroid Build Coastguard Worker				"")
135*1c60b9acSAndroid Build Coastguard Worker			target_compile_definitions(test-server PRIVATE LWS_BUILDING_SHARED)
136*1c60b9acSAndroid Build Coastguard Worker
137*1c60b9acSAndroid Build Coastguard Worker			if (LWS_WITH_CGI AND (LWS_WITH_PLUGINS OR LWS_WITH_PLUGINS_BUILTIN) AND LWS_WITH_TLS)
138*1c60b9acSAndroid Build Coastguard Worker			create_test_app(test-sshd "test-sshd.c"
139*1c60b9acSAndroid Build Coastguard Worker				""
140*1c60b9acSAndroid Build Coastguard Worker				""
141*1c60b9acSAndroid Build Coastguard Worker				""
142*1c60b9acSAndroid Build Coastguard Worker				""
143*1c60b9acSAndroid Build Coastguard Worker				"")
144*1c60b9acSAndroid Build Coastguard Worker			target_include_directories(test-sshd PRIVATE "${PROJECT_SOURCE_DIR}/plugins/ssh-base/include")
145*1c60b9acSAndroid Build Coastguard Worker			target_compile_definitions(test-sshd PRIVATE LWS_BUILDING_SHARED)
146*1c60b9acSAndroid Build Coastguard Worker			endif()
147*1c60b9acSAndroid Build Coastguard Worker
148*1c60b9acSAndroid Build Coastguard Worker		endif()
149*1c60b9acSAndroid Build Coastguard Worker
150*1c60b9acSAndroid Build Coastguard Worker		#
151*1c60b9acSAndroid Build Coastguard Worker		# test-server-extpoll
152*1c60b9acSAndroid Build Coastguard Worker		#
153*1c60b9acSAndroid Build Coastguard Worker		if (NOT LWS_WITHOUT_TEST_SERVER_EXTPOLL AND NOT WIN32)
154*1c60b9acSAndroid Build Coastguard Worker			create_test_app(test-server-extpoll
155*1c60b9acSAndroid Build Coastguard Worker				"test-server.c"
156*1c60b9acSAndroid Build Coastguard Worker				""
157*1c60b9acSAndroid Build Coastguard Worker				""
158*1c60b9acSAndroid Build Coastguard Worker				""
159*1c60b9acSAndroid Build Coastguard Worker				""
160*1c60b9acSAndroid Build Coastguard Worker				"")
161*1c60b9acSAndroid Build Coastguard Worker			target_compile_definitions(test-server-extpoll PRIVATE LWS_BUILDING_SHARED)
162*1c60b9acSAndroid Build Coastguard Worker			# Set defines for this executable only.
163*1c60b9acSAndroid Build Coastguard Worker			set_property(
164*1c60b9acSAndroid Build Coastguard Worker				TARGET test-server-extpoll
165*1c60b9acSAndroid Build Coastguard Worker				PROPERTY COMPILE_DEFINITIONS
166*1c60b9acSAndroid Build Coastguard Worker					EXTERNAL_POLL
167*1c60b9acSAndroid Build Coastguard Worker					INSTALL_DATADIR="${CMAKE_INSTALL_PREFIX}/share"
168*1c60b9acSAndroid Build Coastguard Worker				)
169*1c60b9acSAndroid Build Coastguard Worker
170*1c60b9acSAndroid Build Coastguard Worker			# We need to link against winsock code.
171*1c60b9acSAndroid Build Coastguard Worker			if (WIN32)
172*1c60b9acSAndroid Build Coastguard Worker				target_link_libraries(test-server-extpoll ws2_32.lib)
173*1c60b9acSAndroid Build Coastguard Worker			endif(WIN32)
174*1c60b9acSAndroid Build Coastguard Worker		endif()
175*1c60b9acSAndroid Build Coastguard Worker
176*1c60b9acSAndroid Build Coastguard Worker		if (LWS_WITH_LEJP)
177*1c60b9acSAndroid Build Coastguard Worker			create_test_app(
178*1c60b9acSAndroid Build Coastguard Worker				test-lejp
179*1c60b9acSAndroid Build Coastguard Worker				"test-lejp.c"
180*1c60b9acSAndroid Build Coastguard Worker				""
181*1c60b9acSAndroid Build Coastguard Worker				""
182*1c60b9acSAndroid Build Coastguard Worker				""
183*1c60b9acSAndroid Build Coastguard Worker				""
184*1c60b9acSAndroid Build Coastguard Worker				"")
185*1c60b9acSAndroid Build Coastguard Worker			target_compile_definitions(test-lejp PRIVATE LWS_BUILDING_STATIC)
186*1c60b9acSAndroid Build Coastguard Worker		endif()
187*1c60b9acSAndroid Build Coastguard Worker
188*1c60b9acSAndroid Build Coastguard Worker		if (LWS_WITH_CBOR)
189*1c60b9acSAndroid Build Coastguard Worker			create_test_app(
190*1c60b9acSAndroid Build Coastguard Worker				test-lecp
191*1c60b9acSAndroid Build Coastguard Worker				"test-lecp.c"
192*1c60b9acSAndroid Build Coastguard Worker				""
193*1c60b9acSAndroid Build Coastguard Worker				""
194*1c60b9acSAndroid Build Coastguard Worker				""
195*1c60b9acSAndroid Build Coastguard Worker				""
196*1c60b9acSAndroid Build Coastguard Worker				"")
197*1c60b9acSAndroid Build Coastguard Worker			target_compile_definitions(test-lecp PRIVATE LWS_BUILDING_STATIC)
198*1c60b9acSAndroid Build Coastguard Worker		endif()
199*1c60b9acSAndroid Build Coastguard Worker
200*1c60b9acSAndroid Build Coastguard Worker
201*1c60b9acSAndroid Build Coastguard Worker		# Data files for running the test server.
202*1c60b9acSAndroid Build Coastguard Worker		list(APPEND TEST_SERVER_DATA
203*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/favicon.ico"
204*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/leaf.jpg"
205*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/candide.zip"
206*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/candide-uncompressed.zip"
207*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/libwebsockets.org-logo.svg"
208*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/http2.png"
209*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/wss-over-h2.png"
210*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/lws-common.js"
211*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/test.html"
212*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/test.css"
213*1c60b9acSAndroid Build Coastguard Worker			"${PROJECT_SOURCE_DIR}/test-apps/test.js")
214*1c60b9acSAndroid Build Coastguard Worker
215*1c60b9acSAndroid Build Coastguard Worker		add_custom_command(TARGET test-server
216*1c60b9acSAndroid Build Coastguard Worker						POST_BUILD
217*1c60b9acSAndroid Build Coastguard Worker						COMMAND "${CMAKE_COMMAND}" -E make_directory "$<TARGET_FILE_DIR:test-server>/../share/libwebsockets-test-server")
218*1c60b9acSAndroid Build Coastguard Worker
219*1c60b9acSAndroid Build Coastguard Worker		# Copy the file needed to run the server so that the test apps can
220*1c60b9acSAndroid Build Coastguard Worker		# reach them from their default output location
221*1c60b9acSAndroid Build Coastguard Worker		foreach (TEST_FILE ${TEST_SERVER_DATA})
222*1c60b9acSAndroid Build Coastguard Worker			if (EXISTS ${TEST_FILE})
223*1c60b9acSAndroid Build Coastguard Worker				add_custom_command(TARGET test-server
224*1c60b9acSAndroid Build Coastguard Worker							POST_BUILD
225*1c60b9acSAndroid Build Coastguard Worker							COMMAND "${CMAKE_COMMAND}" -E copy "${TEST_FILE}" "$<TARGET_FILE_DIR:test-server>/../share/libwebsockets-test-server" VERBATIM)
226*1c60b9acSAndroid Build Coastguard Worker			endif()
227*1c60b9acSAndroid Build Coastguard Worker		endforeach()
228*1c60b9acSAndroid Build Coastguard Worker	endif(NOT LWS_WITHOUT_SERVER)
229*1c60b9acSAndroid Build Coastguard Worker
230*1c60b9acSAndroid Build Coastguard Worker	if (NOT LWS_WITHOUT_CLIENT)
231*1c60b9acSAndroid Build Coastguard Worker		#
232*1c60b9acSAndroid Build Coastguard Worker		# test-client
233*1c60b9acSAndroid Build Coastguard Worker		#
234*1c60b9acSAndroid Build Coastguard Worker		if (NOT LWS_WITHOUT_TEST_CLIENT)
235*1c60b9acSAndroid Build Coastguard Worker			create_test_app(test-client "test-client.c" "" "" "" "" "")
236*1c60b9acSAndroid Build Coastguard Worker		endif()
237*1c60b9acSAndroid Build Coastguard Worker
238*1c60b9acSAndroid Build Coastguard Worker	endif(NOT LWS_WITHOUT_CLIENT)
239*1c60b9acSAndroid Build Coastguard Workerendif((LWS_ROLE_H1 OR LWS_ROLE_H2))
240*1c60b9acSAndroid Build Coastguard Worker
241*1c60b9acSAndroid Build Coastguard Worker# Install test apps.
242*1c60b9acSAndroid Build Coastguard Worker
243*1c60b9acSAndroid Build Coastguard Workerinstall(TARGETS ${TEST_APP_LIST}
244*1c60b9acSAndroid Build Coastguard Worker		RUNTIME DESTINATION ${LWS_INSTALL_EXAMPLES_DIR}
245*1c60b9acSAndroid Build Coastguard Worker		COMPONENT examples)
246*1c60b9acSAndroid Build Coastguard Workerset(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example files")
247*1c60b9acSAndroid Build Coastguard Worker
248*1c60b9acSAndroid Build Coastguard Worker# Programs shared files used by the test-server
249*1c60b9acSAndroid Build Coastguard Worker
250*1c60b9acSAndroid Build Coastguard Workerif (NOT LWS_WITHOUT_SERVER)
251*1c60b9acSAndroid Build Coastguard Worker	install(FILES ${TEST_SERVER_DATA}
252*1c60b9acSAndroid Build Coastguard Worker			DESTINATION share/libwebsockets-test-server
253*1c60b9acSAndroid Build Coastguard Worker		COMPONENT examples)
254*1c60b9acSAndroid Build Coastguard Worker
255*1c60b9acSAndroid Build Coastguard Worker		install(FILES "${PROJECT_SOURCE_DIR}/test-apps/private/index.html"
256*1c60b9acSAndroid Build Coastguard Worker			DESTINATION share/libwebsockets-test-server/private
257*1c60b9acSAndroid Build Coastguard Worker			COMPONENT examples)
258*1c60b9acSAndroid Build Coastguard Workerif (LWS_WITH_CGI)
259*1c60b9acSAndroid Build Coastguard Worker	set(CGI_TEST_SCRIPT "${PROJECT_SOURCE_DIR}/test-apps/lws-cgi-test.sh")
260*1c60b9acSAndroid Build Coastguard Worker	install(FILES ${CGI_TEST_SCRIPT}
261*1c60b9acSAndroid Build Coastguard Worker			PERMISSIONS  OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE OWNER_READ GROUP_READ WORLD_READ
262*1c60b9acSAndroid Build Coastguard Worker			DESTINATION share/libwebsockets-test-server
263*1c60b9acSAndroid Build Coastguard Worker			COMPONENT examples)
264*1c60b9acSAndroid Build Coastguard Worker	endif()
265*1c60b9acSAndroid Build Coastguard Workerendif()
266*1c60b9acSAndroid Build Coastguard Worker
267*1c60b9acSAndroid Build Coastguard Worker
268*1c60b9acSAndroid Build Coastguard Workerif (NOT LWS_WITHOUT_TEST_SERVER AND NOT LWS_WITHOUT_SERVER)
269*1c60b9acSAndroid Build Coastguard Worker	install(FILES lws-ssh-test-keys;lws-ssh-test-keys.pub
270*1c60b9acSAndroid Build Coastguard Worker		DESTINATION share/libwebsockets-test-server
271*1c60b9acSAndroid Build Coastguard Worker		COMPONENT examples)
272*1c60b9acSAndroid Build Coastguard Workerendif()
273