@@ -20,6 +20,11 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
20
20
set (CMAKE_C_FLAGS "-Wno-error=unused-but-set-variable -Wno-error=strict-prototypes" )
21
21
endif ()
22
22
23
+ # Add -frtti only for Linux and macOS
24
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows" )
25
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti" )
26
+ endif ()
27
+
23
28
set (OPENSSL_USE_STATIC_LIBS TRUE )
24
29
find_package (OpenSSL REQUIRED)
25
30
@@ -44,20 +49,30 @@ endif()
44
49
45
50
add_library (${PROJECT_NAME} SHARED
46
51
src/cpp/rtc-wrapper.cpp
47
- src/cpp/media-direction.cpp
48
- src/cpp/media-rtcpreceivingsession-wrapper.cpp
49
- src/cpp/media-track-wrapper.cpp
50
- src/cpp/media-audio-wrapper.cpp
51
- src/cpp/media-video-wrapper.cpp
52
52
src/cpp/data-channel-wrapper.cpp
53
53
src/cpp/peer-connection-wrapper.cpp
54
54
src/cpp/thread-safe-callback.cpp
55
- src/cpp/web-socket-wrapper.cpp
56
- src/cpp/web-socket-server-wrapper.cpp
57
55
src/cpp/main.cpp
58
56
${CMAKE_JS_SRC}
59
57
)
60
58
59
+ if (NOT NO_MEDIA)
60
+ target_sources (${PROJECT_NAME} PRIVATE
61
+ src/cpp/media-direction.cpp
62
+ src/cpp/media-rtcpreceivingsession-wrapper.cpp
63
+ src/cpp/media-track-wrapper.cpp
64
+ src/cpp/media-audio-wrapper.cpp
65
+ src/cpp/media-video-wrapper.cpp
66
+ )
67
+ endif ()
68
+
69
+ if (NOT NO_WEBSOCKET)
70
+ target_sources (${PROJECT_NAME} PRIVATE
71
+ src/cpp/web-socket-wrapper.cpp
72
+ src/cpp/web-socket-server-wrapper.cpp
73
+ )
74
+ endif ()
75
+
61
76
set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
62
77
set_target_properties (${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node" )
63
78
0 commit comments