@@ -88,8 +88,7 @@ set(FLATBUFFERS_BUILD_TESTS OFF CACHE BOOL "")
88
88
89
89
# Add flatbuffers as a subdirectory, and set the directory variables for it,
90
90
# so that the sub Firebase projects can depend upon it if necessary.
91
- add_external_subdirectory (flatbuffers )
92
- populate_external_source_vars (flatbuffers )
91
+ add_external_library (flatbuffers )
93
92
94
93
# Some of the external libraries are not used for mobile.
95
94
if (NOT ANDROID AND NOT IOS )
@@ -98,18 +97,15 @@ if (NOT ANDROID AND NOT IOS)
98
97
if (WIN32 )
99
98
set (CMAKE_USE_WINSSL ON CACHE BOOL "" )
100
99
endif ()
101
- add_external_subdirectory (curl )
102
- populate_external_source_vars (curl )
100
+ add_external_library (curl )
103
101
104
- add_external_subdirectory (libuv )
105
- populate_external_source_vars (libuv )
102
+ add_external_library (libuv )
106
103
107
104
find_package (OpenSSL )
108
105
109
- add_external_subdirectory (zlib )
110
- populate_external_source_vars (zlib )
106
+ add_external_library (zlib )
111
107
112
- populate_external_source_vars (uWebSockets )
108
+ add_external_library (uWebSockets )
113
109
# uWebSockets does not come with a CMakeLists file, so define the target.
114
110
# Note that since it depends on OpenSSL, only do so if that was found.
115
111
if (OPENSSL_FOUND )
@@ -118,18 +114,18 @@ if (NOT ANDROID AND NOT IOS)
118
114
else ()
119
115
# Epoll is only used on Linux, otherwise LibUV is used.
120
116
set (uWebSockets_extra_src
121
- ${uWebSockets_SOURCE_DIR } /src/Epoll.cpp )
117
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Epoll.cpp )
122
118
endif ()
123
119
add_library (libuWS STATIC
124
120
${uWebSockets_extra_src}
125
- ${uWebSockets_SOURCE_DIR } /src/Extensions.cpp
126
- ${uWebSockets_SOURCE_DIR } /src/Group.cpp
127
- ${uWebSockets_SOURCE_DIR } /src/HTTPSocket.cpp
128
- ${uWebSockets_SOURCE_DIR } /src/Hub.cpp
129
- ${uWebSockets_SOURCE_DIR } /src/Networking.cpp
130
- ${uWebSockets_SOURCE_DIR } /src/Node.cpp
131
- ${uWebSockets_SOURCE_DIR } /src/Socket.cpp
132
- ${uWebSockets_SOURCE_DIR } /src/WebSocket.cpp )
121
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Extensions.cpp
122
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Group.cpp
123
+ ${UWEBSOCKETS_SOURCE_DIR } /src/HTTPSocket.cpp
124
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Hub.cpp
125
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Networking.cpp
126
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Node.cpp
127
+ ${UWEBSOCKETS_SOURCE_DIR } /src/Socket.cpp
128
+ ${UWEBSOCKETS_SOURCE_DIR } /src/WebSocket.cpp )
133
129
if (MSVC )
134
130
set (websockets_additional_defines
135
131
-DWIN32_LEAN_AND_MEAN # Ensure that windows doesn't include winsock.h by
@@ -149,10 +145,10 @@ if (NOT ANDROID AND NOT IOS)
149
145
)
150
146
target_include_directories (libuWS
151
147
PUBLIC
152
- ${libuv_SOURCE_DIR } /include
153
- ${uWebSockets_SOURCE_DIR }
154
- ${zlib_SOURCE_DIR }
155
- ${zlib_BINARY_DIR }
148
+ ${LIBUV_SOURCE_DIR } /include
149
+ ${UWEBSOCKETS_SOURCE_DIR }
150
+ ${ZLIB_SOURCE_DIR }
151
+ ${ZLIB_BINARY_DIR }
156
152
PRIVATE
157
153
${OPENSSL_INCLUDE_DIR}
158
154
)
@@ -167,19 +163,18 @@ if (NOT ANDROID AND NOT IOS)
167
163
find_package (Protobuf )
168
164
if (PROTOBUF_FOUND )
169
165
# NanoPB requires Protobuf to be present, so only add it if it was found.
170
- add_external_subdirectory (nanopb )
171
- populate_external_source_vars (nanopb )
166
+ add_external_library (nanopb )
172
167
# NanoPB has a FindNanopb which defines the function to generate files, so
173
168
# add it to the module path, and use that.
174
- list (INSERT CMAKE_MODULE_PATH 0 ${nanopb_SOURCE_DIR } /extra )
169
+ list (INSERT CMAKE_MODULE_PATH 0 ${NANOPB_SOURCE_DIR } /extra )
175
170
find_package (Nanopb )
176
171
endif ()
177
172
endif ()
178
173
179
174
if (ANDROID OR IOS )
180
175
# Mobile platforms build flatc externally so that it works on the platform
181
176
# performing the build.
182
- set (firebase_external_flatc_build_dir "${flatbuffers_BINARY_DIR } -flatc" )
177
+ set (firebase_external_flatc_build_dir "${FLATBUFFERS_BINARY_DIR } -flatc" )
183
178
set (firebase_external_flatc "${firebase_external_flatc_build_dir} /flatc" )
184
179
185
180
if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" )
@@ -224,7 +219,7 @@ if(ANDROID OR IOS)
224
219
add_custom_command (
225
220
OUTPUT ${firebase_external_flatc}
226
221
COMMAND cd ${firebase_external_flatc_build_dir} ${COMMAND_CONCAT}
227
- ${ENV_COMMAND} cmake ${flatbuffers_SOURCE_DIR } ${COMMAND_CONCAT}
222
+ ${ENV_COMMAND} cmake ${FLATBUFFERS_SOURCE_DIR } ${COMMAND_CONCAT}
228
223
${ENV_COMMAND} cmake --build . --target flatc
229
224
COMMENT "Building flatc (the FlatBuffer schema compiler)" )
230
225
0 commit comments