1project(lws-minimal-secure-streams-cpp CXX) 2cmake_minimum_required(VERSION 2.8.12) 3find_package(libwebsockets CONFIG REQUIRED) 4list(APPEND CMAKE_MODULE_PATH ${LWS_CMAKE_DIR}) 5include(CheckCSourceCompiles) 6include(LwsCheckRequirements) 7 8set(SAMP lws-minimal-secure-streams-cpp) 9 10set(requirements 1) 11require_lws_config(LWS_ROLE_H1 1 requirements) 12require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) 13require_lws_config(LWS_WITH_MBEDTLS 0 requirements) 14require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) 15require_lws_config(LWS_WITH_SECURE_STREAMS_CPP 1 requirements) 16require_lws_config(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY 0 requirements) 17 18if (requirements) 19 add_executable(${SAMP} main.cxx) 20 21 if (LWS_CTEST_INTERNET_AVAILABLE) 22 add_test(NAME sscpp-warmcat COMMAND lws-minimal-secure-streams-cpp) 23 set_tests_properties(sscpp-warmcat 24 PROPERTIES 25 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/minimal-examples/secure-streams/minimal-secure-streams-cpp 26 TIMEOUT 20) 27 endif() 28 29 if (websockets_shared) 30 target_link_libraries(${SAMP} websockets_shared ${LIBWEBSOCKETS_DEP_LIBS}) 31 add_dependencies(${SAMP} websockets_shared) 32 else() 33 target_link_libraries(${SAMP} websockets ${LIBWEBSOCKETS_DEP_LIBS}) 34 endif() 35 36 CHECK_C_SOURCE_COMPILES("#include <libwebsockets.h>\nint main(void) {\ni#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API)\n return 0;\n #else\n fail\n #endif\n return 0;\n}\n" HAS_LWS_WITH_SECURE_STREAMS_PROXY_API) 37 38 if (HAS_LWS_WITH_SECURE_STREAMS_PROXY_API OR LWS_WITH_SECURE_STREAMS_PROXY_API) 39 add_compile_options(-DLWS_SS_USE_SSPC) 40 41 add_executable(${SAMP}-client main.cxx) 42 if (websockets_shared) 43 target_link_libraries(${SAMP}-client websockets_shared ${LIBWEBSOCKETS_DEP_LIBS}) 44 add_dependencies(${SAMP}-client websockets_shared) 45 else() 46 target_link_libraries(${SAMP}-client websockets ${LIBWEBSOCKETS_DEP_LIBS}) 47 endif() 48 endif() 49 50endif() 51