Skip to content

Commit ef2f5a5

Browse files
committed
* update ca_bundle & curl libs
* use rustls, c-ares and zstd for curl * use zlib from curl builds for minizip * this was tested on windows and android64
1 parent 2c9bb50 commit ef2f5a5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3947
-1029
lines changed

cmake/Platform.cmake

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ if (GEODE_TARGET_PLATFORM STREQUAL "iOS")
3232
"-framework Foundation" # needed for many things
3333
"-framework AVFoundation" # needed for microphone access
3434
"-framework CoreGraphics" # needed for image saving
35-
${GEODE_LOADER_PATH}/include/link/ios/libssl.a
36-
${GEODE_LOADER_PATH}/include/link/ios/libcrypto.a
37-
${GEODE_LOADER_PATH}/include/link/ios/libnghttp2.a
35+
${GEODE_LOADER_PATH}/include/link/ios/libcares.a
3836
${GEODE_LOADER_PATH}/include/link/ios/libcurl.a
37+
${GEODE_LOADER_PATH}/include/link/ios/libnghttp2.a
38+
${GEODE_LOADER_PATH}/include/link/ios/librustls.a
39+
${GEODE_LOADER_PATH}/include/link/ios/libz.a
40+
${GEODE_LOADER_PATH}/include/link/ios/libzstd.a
3941
)
4042

4143
target_compile_definitions(${PROJECT_NAME} INTERFACE
@@ -71,13 +73,12 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "MacOS")
7173
"-framework OpenGL"
7274
"-framework SystemConfiguration"
7375
${GEODE_LOADER_PATH}/include/link/macos/libfmod.dylib
74-
${GEODE_LOADER_PATH}/include/link/macos/libssl.a
75-
${GEODE_LOADER_PATH}/include/link/macos/libcrypto.a
76-
${GEODE_LOADER_PATH}/include/link/macos/libnghttp2.a
77-
${GEODE_LOADER_PATH}/include/link/macos/libngtcp2.a
78-
${GEODE_LOADER_PATH}/include/link/macos/libnghttp3.a
79-
${GEODE_LOADER_PATH}/include/link/macos/libngtcp2_crypto_boringssl.a
76+
${GEODE_LOADER_PATH}/include/link/macos/libcares.a
8077
${GEODE_LOADER_PATH}/include/link/macos/libcurl.a
78+
${GEODE_LOADER_PATH}/include/link/macos/libnghttp2.a
79+
${GEODE_LOADER_PATH}/include/link/macos/librustls.a
80+
${GEODE_LOADER_PATH}/include/link/macos/libz.a
81+
${GEODE_LOADER_PATH}/include/link/macos/libzstd.a
8182
)
8283

8384
target_compile_definitions(${PROJECT_NAME} INTERFACE
@@ -116,8 +117,15 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Win64")
116117
)
117118
else()
118119
target_link_libraries(${PROJECT_NAME} INTERFACE
119-
${GEODE_LOADER_PATH}/include/link/win64/nghttp2.lib
120+
${GEODE_LOADER_PATH}/include/link/win64/cares.lib
120121
${GEODE_LOADER_PATH}/include/link/win64/libcurl.lib
122+
${GEODE_LOADER_PATH}/include/link/win64/nghttp2.lib
123+
${GEODE_LOADER_PATH}/include/link/win64/rustls.lib
124+
${GEODE_LOADER_PATH}/include/link/win64/zs.lib
125+
${GEODE_LOADER_PATH}/include/link/win64/zstd_static.lib
126+
secur32
127+
ntdll
128+
userenv
121129
)
122130
endif()
123131

@@ -139,13 +147,12 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Android32")
139147
target_link_libraries(${PROJECT_NAME} INTERFACE
140148
c
141149
unwind
142-
${GEODE_LOADER_PATH}/include/link/android32/libssl.a
143-
${GEODE_LOADER_PATH}/include/link/android32/libcrypto.a
144-
${GEODE_LOADER_PATH}/include/link/android32/libnghttp2.a
145-
${GEODE_LOADER_PATH}/include/link/android32/libngtcp2.a
146-
${GEODE_LOADER_PATH}/include/link/android32/libnghttp3.a
147-
${GEODE_LOADER_PATH}/include/link/android32/libngtcp2_crypto_boringssl.a
150+
${GEODE_LOADER_PATH}/include/link/android32/libcares.a
148151
${GEODE_LOADER_PATH}/include/link/android32/libcurl.a
152+
${GEODE_LOADER_PATH}/include/link/android32/libnghttp2.a
153+
${GEODE_LOADER_PATH}/include/link/android32/librustls.a
154+
${GEODE_LOADER_PATH}/include/link/android32/libz.a
155+
${GEODE_LOADER_PATH}/include/link/android32/libzstd.a
149156
${GEODE_LOADER_PATH}/include/link/android32/libcocos2dcpp.so
150157
${GEODE_LOADER_PATH}/include/link/android32/libfmod.so
151158
GLESv2
@@ -169,13 +176,12 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Android64")
169176
target_link_libraries(${PROJECT_NAME} INTERFACE
170177
c
171178
unwind
172-
${GEODE_LOADER_PATH}/include/link/android64/libssl.a
173-
${GEODE_LOADER_PATH}/include/link/android64/libcrypto.a
174-
${GEODE_LOADER_PATH}/include/link/android64/libnghttp2.a
175-
${GEODE_LOADER_PATH}/include/link/android64/libngtcp2.a
176-
${GEODE_LOADER_PATH}/include/link/android64/libnghttp3.a
177-
${GEODE_LOADER_PATH}/include/link/android64/libngtcp2_crypto_boringssl.a
179+
${GEODE_LOADER_PATH}/include/link/android64/libcares.a
178180
${GEODE_LOADER_PATH}/include/link/android64/libcurl.a
181+
${GEODE_LOADER_PATH}/include/link/android64/libnghttp2.a
182+
${GEODE_LOADER_PATH}/include/link/android64/librustls.a
183+
${GEODE_LOADER_PATH}/include/link/android64/libz.a
184+
${GEODE_LOADER_PATH}/include/link/android64/libzstd.a
179185
${GEODE_LOADER_PATH}/include/link/android64/libcocos2dcpp.so
180186
${GEODE_LOADER_PATH}/include/link/android64/libfmod.so
181187
GLESv2

loader/CMakeLists.txt

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ else()
1818
set(PROJECT_VERSION_SUFFIX "" CACHE INTERNAL "" )
1919
endif()
2020

21-
# I think CMake is trying to link zlib from the host system?
22-
# This prevents it from doing that.
23-
if (WIN32 AND CMAKE_CROSSCOMPILING)
24-
set(MZ_FORCE_FETCH_LIBS ON)
25-
endif()
26-
2721
# https://stackoverflow.com/a/63924044/9124836
2822
# https://stackoverflow.com/a/72396471
2923
execute_process(
@@ -187,15 +181,7 @@ if (GEODE_NO_UNDEFINED_VIRTUALS)
187181
endif()
188182

189183
# CA Bundle
190-
CPMAddPackage(
191-
GITHUB_REPOSITORY geode-sdk/net_libs
192-
GIT_TAG 6abd76c
193-
# CPM is bugged and will not allow an empty string.
194-
# https://github.com/cpm-cmake/CPM.cmake/issues/467
195-
# https://github.com/cpm-cmake/CPM.cmake/issues/461
196-
GIT_SUBMODULES "nghttp3"
197-
GIT_SUBMODULES_RECURSE OFF
198-
)
184+
CPMAddPackage("gh:geode-sdk/net_libs#b5b810c")
199185
target_link_libraries(${PROJECT_NAME} ca-bundle)
200186

201187
# Package resources for UI
@@ -260,12 +246,17 @@ if (NOT GEODE_BUILDING_DOCS)
260246
set(MZ_OPENSSL OFF CACHE INTERNAL "")
261247
set(MZ_LIBBSD OFF CACHE INTERNAL "")
262248
set(MZ_FETCH_LIBS ON CACHE INTERNAL "" FORCE)
263-
set(MZ_FORCE_FETCH_LIBS ${WIN32} CACHE INTERNAL "")
264249
set(SKIP_INSTALL_ALL ON CACHE INTERNAL "")
265-
CPMAddPackage("gh:geode-sdk/minizip-ng#43d9254")
250+
set(ZLIB_INCLUDE_DIR "${GEODE_LOADER_PATH}/src/zlib")
251+
set(MZ_FORCE_FETCH_LIBS OFF CACHE INTERNAL "" FORCE)
266252
if (WIN32)
267-
set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
253+
set(ZLIB_LIBRARY "${GEODE_LOADER_PATH}/include/link/win64/zs.lib")
254+
else()
255+
string(TOLOWER ${GEODE_TARGET_PLATFORM} _libs_folder)
256+
set(ZLIB_LIBRARY "${GEODE_LOADER_PATH}/include/link/${_libs_folder}/libz.a")
268257
endif()
258+
259+
CPMAddPackage("gh:geode-sdk/minizip-ng#e9dda96")
269260

270261
# Silence warnings from dependencies
271262
include(CheckCXXCompilerFlag)
@@ -297,11 +288,6 @@ endif()
297288

298289
target_link_libraries(${PROJECT_NAME} TulipHook geode-sdk mat-json-impl)
299290

300-
# Required by curl for macos
301-
if (APPLE)
302-
target_link_libraries(${PROJECT_NAME} z)
303-
endif()
304-
305291
# always use unity builds for some dependencies
306292
if (TARGET md4c)
307293
set_target_properties(md4c PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 64)

0 commit comments

Comments
 (0)