@@ -127,7 +127,14 @@ if(BUILD_ENTERPRISE)
127127 )
128128endif ()
129129
130- if (MSVC )
130+ if (EMSCRIPTEN)
131+ # Emscripten does not actually support shared libraries and instead
132+ # just builds a static library for compatibility with existing
133+ # build setups. We just set this property to suppress a CMake warning.
134+ set_property (GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE )
135+
136+ include ("${PROJECT_SOURCE_DIR} /cmake/platform_emscripten.cmake" )
137+ elseif (MSVC )
131138 add_definitions (-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0A00)
132139 if (WINDOWS_STORE)
133140 message (FATAL_ERROR "UWP no longer supported" )
@@ -141,13 +148,6 @@ elseif(ANDROID)
141148elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
142149 option (LITECORE_DYNAMIC_ICU "If enabled, search for ICU at runtime so as not to depend on a specific version" OFF )
143150 include ("${PROJECT_SOURCE_DIR} /cmake/platform_linux_desktop.cmake" )
144- elseif (EMSCRIPTEN)
145- # Emscripten does not actually support shared libraries and instead
146- # just builds a static library for compatibility with existing
147- # build setups. We just set this property to suppress a CMake warning.
148- set_property (GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE )
149-
150- include ("${PROJECT_SOURCE_DIR} /cmake/platform_emscripten.cmake" )
151151else ()
152152 message (FATAL_ERROR "Unable to determine a supported platform from ${CMAKE_SYSTEM_NAME} " )
153153endif (MSVC )
@@ -340,60 +340,62 @@ install(FILES ${FLEECE_HEADERS} DESTINATION include/fleece)
340340
341341### Support Libraries (Add functionality, but add nothing to official API)
342342
343- add_subdirectory (REST EXCLUDE_FROM_ALL )
344-
345- set (
346- LC_WEBSOCKET_SRC
347- Networking/HTTP/HTTPTypes.cc
348- Networking/HTTP/HTTPLogic.cc
349- Networking/NetworkInterfaces.cc
350- Networking/Poller.cc
351- Networking/TCPSocket.cc
352- Networking/TLSContext.cc
353- Networking/WebSockets/BuiltInWebSocket.cc
354- vendor/sockpp/src/acceptor.cpp
355- vendor/sockpp/src/connector.cpp
356- vendor/sockpp/src/datagram_socket.cpp
357- vendor/sockpp/src/exception.cpp
358- vendor/sockpp/src/inet_address.cpp
359- vendor/sockpp/src/inet6_address.cpp
360- vendor/sockpp/src/mbedtls_context.cpp
361- vendor/sockpp/src/socket.cpp
362- vendor/sockpp/src/stream_socket.cpp
363- )
343+ if (NOT EMSCRIPTEN)
344+ add_subdirectory (REST EXCLUDE_FROM_ALL )
364345
365- add_library (LiteCoreWebSocket STATIC EXCLUDE_FROM_ALL ${LC_WEBSOCKET_SRC} )
366- target_include_directories (
367- LiteCoreWebSocket PRIVATE
368- C
369- C/include
370- C/Cpp_include
371- Crypto
372- LiteCore/Support
373- Networking
374- Networking/BLIP/
375- Networking/HTTP
376- Networking/WebSockets
377- Replicator
378- REST
379- vendor/fleece/Fleece/Support
380- vendor/fleece/API
381- vendor/sockpp/include
382- vendor/mbedtls/include
383- vendor/mbedtls/crypto/include
384- )
346+ set (
347+ LC_WEBSOCKET_SRC
348+ Networking/HTTP/HTTPTypes.cc
349+ Networking/HTTP/HTTPLogic.cc
350+ Networking/NetworkInterfaces.cc
351+ Networking/Poller.cc
352+ Networking/TCPSocket.cc
353+ Networking/TLSContext.cc
354+ Networking/WebSockets/BuiltInWebSocket.cc
355+ vendor/sockpp/src/acceptor.cpp
356+ vendor/sockpp/src/connector.cpp
357+ vendor/sockpp/src/datagram_socket.cpp
358+ vendor/sockpp/src/exception.cpp
359+ vendor/sockpp/src/inet_address.cpp
360+ vendor/sockpp/src/inet6_address.cpp
361+ vendor/sockpp/src/mbedtls_context.cpp
362+ vendor/sockpp/src/socket.cpp
363+ vendor/sockpp/src/stream_socket.cpp
364+ )
385365
386- target_link_libraries (
387- LiteCoreWebSocket PUBLIC
388- LiteCoreObjects
389- )
366+ add_library (LiteCoreWebSocket STATIC EXCLUDE_FROM_ALL ${LC_WEBSOCKET_SRC} )
367+ target_include_directories (
368+ LiteCoreWebSocket PRIVATE
369+ C
370+ C/include
371+ C/Cpp_include
372+ Crypto
373+ LiteCore/Support
374+ Networking
375+ Networking/BLIP/
376+ Networking/HTTP
377+ Networking/WebSockets
378+ Replicator
379+ REST
380+ vendor/fleece/Fleece/Support
381+ vendor/fleece/API
382+ vendor/sockpp/include
383+ vendor/mbedtls/include
384+ vendor/mbedtls/crypto/include
385+ )
390386
391- if (LITECORE_PERF_TESTING_MODE)
392- target_compile_definitions (
387+ target_link_libraries (
393388 LiteCoreWebSocket PUBLIC
394- LITECORE_PERF_TESTING_MODE
389+ LiteCoreObjects
395390 )
396- endif ()
391+
392+ if (LITECORE_PERF_TESTING_MODE)
393+ target_compile_definitions (
394+ LiteCoreWebSocket PUBLIC
395+ LITECORE_PERF_TESTING_MODE
396+ )
397+ endif ()
398+ endif () # NOT EMSCRIPTEN
397399
398400### TESTS:
399401
0 commit comments