11cmake_minimum_required (VERSION 3.20 )
2- project (sxn VERSION 0.0.1 LANGUAGES C )
2+ project (sxn VERSION 0.0.2 LANGUAGES C )
33# Every other dependency here (curl, zlib, libuv, libffi) resolves to a
44# dylib under /usr/lib on macOS - part of the OS, present on every Mac.
55# OpenSSL doesn't ship there anymore, so find_package(OpenSSL) resolves to
@@ -9,8 +9,32 @@ project(sxn VERSION 0.0.1 LANGUAGES C)
99if (APPLE )
1010 set (OPENSSL_USE_STATIC_LIBS TRUE )
1111endif ()
12- find_package (OpenSSL REQUIRED )
13- find_package (CURL REQUIRED )
12+ if (DEFINED SXN_CROSS_DEPS_ROOT)
13+ # Cross builds cannot use the host's FindOpenSSL/CURL/ZLIB results. The
14+ # release builder supplies a target sysroot containing import libraries.
15+ set (_cross_root "${SXN_CROSS_DEPS_ROOT} " )
16+ add_library (OpenSSL::Crypto UNKNOWN IMPORTED )
17+ set_target_properties (OpenSSL::Crypto PROPERTIES
18+ IMPORTED_LOCATION "${_cross_root} /lib/libcrypto.dll.a"
19+ INTERFACE_INCLUDE_DIRECTORIES "${_cross_root} /include" )
20+ add_library (OpenSSL::SSL UNKNOWN IMPORTED )
21+ set_target_properties (OpenSSL::SSL PROPERTIES
22+ IMPORTED_LOCATION "${_cross_root} /lib/libssl.dll.a"
23+ INTERFACE_INCLUDE_DIRECTORIES "${_cross_root} /include"
24+ INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
25+ add_library (CURL::libcurl UNKNOWN IMPORTED )
26+ set_target_properties (CURL::libcurl PROPERTIES
27+ IMPORTED_LOCATION "${_cross_root} /lib/libcurl.dll.a"
28+ INTERFACE_INCLUDE_DIRECTORIES "${_cross_root} /include"
29+ INTERFACE_LINK_LIBRARIES "ws2_32;crypt32;bcrypt;advapi32" )
30+ add_library (ZLIB::ZLIB UNKNOWN IMPORTED )
31+ set_target_properties (ZLIB::ZLIB PROPERTIES
32+ IMPORTED_LOCATION "${_cross_root} /lib/libz.dll.a"
33+ INTERFACE_INCLUDE_DIRECTORIES "${_cross_root} /include" )
34+ else ()
35+ find_package (OpenSSL REQUIRED )
36+ find_package (CURL REQUIRED )
37+ endif ()
1438# libuv ships a CMake config package from Homebrew and vcpkg, but Ubuntu's
1539# libuv1-dev provides only pkg-config, so fall back to that rather than
1640# requiring the config package everywhere.
0 commit comments