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 25if (LWS_WITH_LWSWS) 26 list(APPEND LWSWS_SRCS 27 "main.c" 28 ) 29 30 if (WIN32) 31 list(APPEND LWSWS_SRCS 32 ${WIN32_HELPERS_PATH}/getopt.c 33 ${WIN32_HELPERS_PATH}/getopt_long.c 34 ${WIN32_HELPERS_PATH}/gettimeofday.c 35 ) 36 37 list(APPEND LWSWS_HDR 38 ${WIN32_HELPERS_PATH}/getopt.h 39 ${WIN32_HELPERS_PATH}/gettimeofday.h 40 ) 41 endif(WIN32) 42 43 source_group("Headers Private" FILES ${LWSWS_HDR}) 44 source_group("Sources" FILES ${LWSWS_SRCS}) 45 add_executable(lwsws ${LWSWS_SRCS} ${LWSWS_HDR}) 46 47 if (LWS_WITH_SHARED) 48 target_link_libraries(lwsws websockets_shared ${LIB_LIST_AT_END}) 49 add_dependencies(lwsws websockets_shared) 50 else() 51 target_link_libraries(lwsws websockets ${LIB_LIST_AT_END}) 52 add_dependencies(lwsws websockets) 53 endif() 54 target_include_directories(lwsws PRIVATE "${LWS_LIB_INCLUDES}" ${LWS_LIB_BUILD_INC_PATHS}) 55 # Set test app specific defines. 56 set_property(TARGET lwsws 57 PROPERTY COMPILE_DEFINITIONS 58 INSTALL_DATADIR="${CMAKE_INSTALL_PREFIX}/share" 59 ) 60 61 install(TARGETS lwsws 62 RUNTIME DESTINATION "${LWS_INSTALL_BIN_DIR}" COMPONENT lwsws ) 63 target_compile_definitions(lwsws PRIVATE LWS_BUILDING_SHARED) 64 65 66endif (LWS_WITH_LWSWS) 67 68 69