|
@@ -2,7 +2,11 @@ option("webrtc", {default = false, showmenu = true})
|
|
|
|
|
|
add_rules("mode.debug", "mode.release")
|
|
|
|
|
|
-add_requires("protobuf-cpp", "openssl")
|
|
|
+add_requires("protobuf-cpp")
|
|
|
+
|
|
|
+if not is_plat("windows") then
|
|
|
+ add_requires("openssl")
|
|
|
+end
|
|
|
|
|
|
if has_config("webrtc") then
|
|
|
add_requires("abseil")
|
|
@@ -432,13 +436,14 @@ target("gns") -- we need limit path length
|
|
|
add_rules("protobuf.cpp")
|
|
|
set_languages("gnu17", "gnu++17")
|
|
|
add_vectorexts("sse2")
|
|
|
- add_packages("protobuf-cpp", "openssl")
|
|
|
+ add_packages("protobuf-cpp")
|
|
|
set_basename("gamenetworkingsockets")
|
|
|
|
|
|
if is_plat("windows") then
|
|
|
- add_syslinks("ws2_32")
|
|
|
+ add_syslinks("ws2_32", "Bcrypt")
|
|
|
add_defines("WIN32", "_WINDOWS")
|
|
|
else
|
|
|
+ add_packages("openssl")
|
|
|
add_syslinks("pthread")
|
|
|
add_defines("POSIX", "LINUX", "GNUC", "GNU_COMPILER")
|
|
|
end
|
|
@@ -452,18 +457,12 @@ target("gns") -- we need limit path length
|
|
|
if is_kind("shared") then
|
|
|
add_defines("STEAMNETWORKINGSOCKETS_FOREXPORT")
|
|
|
else
|
|
|
- add_defines("STEAMNETWORKINGSOCKETS_STATIC_LINK", "OPENSSL_USE_STATIC_LIBS")
|
|
|
+ add_defines("STEAMNETWORKINGSOCKETS_STATIC_LINK")
|
|
|
+ if not is_plat("windows") then
|
|
|
+ add_defines("OPENSSL_USE_STATIC_LIBS")
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- add_defines("STEAMNETWORKINGSOCKETS_CRYPTO_25519_OPENSSL",
|
|
|
- "STEAMNETWORKINGSOCKETS_CRYPTO_VALVEOPENSSL",
|
|
|
- "OPENSSL_HAS_25519_RAW",
|
|
|
- "VALVE_CRYPTO_ENABLE_25519",
|
|
|
- "GOOGLE_PROTOBUF_NO_RTTI",
|
|
|
- "VALVE_CRYPTO_25519_OPENSSL",
|
|
|
- "CRYPTO_DISABLE_ENCRYPT_WITH_PASSWORD",
|
|
|
- "ENABLE_OPENSSLCONNECTION")
|
|
|
-
|
|
|
add_includedirs("include",
|
|
|
"src",
|
|
|
"src/common",
|
|
@@ -478,38 +477,62 @@ target("gns") -- we need limit path length
|
|
|
add_headerfiles("include/(minbase/*.h)")
|
|
|
add_headerfiles("src/public/(*/*.h)")
|
|
|
|
|
|
- -- OpenSSL specific files
|
|
|
- add_files( "src/common/crypto_openssl.cpp",
|
|
|
- "src/common/crypto_25519_openssl.cpp",
|
|
|
- "src/common/opensslwrapper.cpp")
|
|
|
+ add_defines("VALVE_CRYPTO_ENABLE_25519",
|
|
|
+ "GOOGLE_PROTOBUF_NO_RTTI",
|
|
|
+ "CRYPTO_DISABLE_ENCRYPT_WITH_PASSWORD")
|
|
|
+
|
|
|
+ -- Crypto specific files
|
|
|
+ if is_plat("windows") then
|
|
|
+ add_files("src/common/crypto_bcrypt.cpp",
|
|
|
+ "src/common/crypto_25519_donna.cpp",
|
|
|
+ "src/external/curve25519-donna/curve25519.c",
|
|
|
+ "src/external/curve25519-donna/curve25519_VALVE_sse2.c",
|
|
|
+ "src/external/ed25519-donna/ed25519_VALVE.c",
|
|
|
+ "src/external/ed25519-donna/ed25519_VALVE_sse2.c")
|
|
|
+
|
|
|
+ add_defines("ED25519_HASH_BCRYPT",
|
|
|
+ "VALVE_CRYPTO_25519_DONNA",
|
|
|
+ "VALVE_CRYPTO_BCRYPT",
|
|
|
+ "STEAMNETWORKINGSOCKETS_CRYPTO_BCRYPT")
|
|
|
+ else
|
|
|
+ add_files("src/common/crypto_openssl.cpp",
|
|
|
+ "src/common/crypto_25519_openssl.cpp",
|
|
|
+ "src/common/opensslwrapper.cpp")
|
|
|
+
|
|
|
+ add_defines("VALVE_CRYPTO_25519_OPENSSL",
|
|
|
+ "VALVE_CRYPTO_25519_OPENSSLEVP",
|
|
|
+ "VALVE_CRYPTO_OPENSSL",
|
|
|
+ "ENABLE_OPENSSLCONNECTION",
|
|
|
+ "STEAMNETWORKINGSOCKETS_CRYPTO_VALVEOPENSSL")
|
|
|
+ end
|
|
|
|
|
|
add_files("src/common/steamnetworkingsockets_messages_certs.proto",
|
|
|
"src/common/steamnetworkingsockets_messages.proto",
|
|
|
"src/common/steamnetworkingsockets_messages_udp.proto")
|
|
|
|
|
|
- add_files( "src/common/crypto.cpp",
|
|
|
- "src/common/crypto_textencode.cpp",
|
|
|
- "src/common/keypair.cpp",
|
|
|
- "src/common/steamid.cpp",
|
|
|
- "src/vstdlib/strtools.cpp",
|
|
|
- "src/tier0/dbg.cpp",
|
|
|
- "src/tier0/platformtime.cpp",
|
|
|
- "src/tier1/ipv6text.c",
|
|
|
- "src/tier1/netadr.cpp",
|
|
|
- "src/tier1/utlbuffer.cpp",
|
|
|
- "src/tier1/utlmemory.cpp",
|
|
|
- "src/steamnetworkingsockets/steamnetworkingsockets_certs.cpp",
|
|
|
- "src/steamnetworkingsockets/steamnetworkingsockets_thinker.cpp",
|
|
|
- "src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_flat.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_lowlevel.cpp",
|
|
|
- "src/steamnetworkingsockets/steamnetworkingsockets_shared.cpp",
|
|
|
- "src/steamnetworkingsockets/steamnetworkingsockets_stats.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_snp.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_udp.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/csteamnetworkingmessages.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/csteamnetworkingsockets.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_p2p.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_stun.cpp",
|
|
|
- "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_p2p_ice.cpp")
|
|
|
+ add_files("src/common/crypto.cpp",
|
|
|
+ "src/common/crypto_textencode.cpp",
|
|
|
+ "src/common/keypair.cpp",
|
|
|
+ "src/common/steamid.cpp",
|
|
|
+ "src/vstdlib/strtools.cpp",
|
|
|
+ "src/tier0/dbg.cpp",
|
|
|
+ "src/tier0/platformtime.cpp",
|
|
|
+ "src/tier1/ipv6text.c",
|
|
|
+ "src/tier1/netadr.cpp",
|
|
|
+ "src/tier1/utlbuffer.cpp",
|
|
|
+ "src/tier1/utlmemory.cpp",
|
|
|
+ "src/steamnetworkingsockets/steamnetworkingsockets_certs.cpp",
|
|
|
+ "src/steamnetworkingsockets/steamnetworkingsockets_thinker.cpp",
|
|
|
+ "src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_flat.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_lowlevel.cpp",
|
|
|
+ "src/steamnetworkingsockets/steamnetworkingsockets_shared.cpp",
|
|
|
+ "src/steamnetworkingsockets/steamnetworkingsockets_stats.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_snp.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_udp.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/csteamnetworkingmessages.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/csteamnetworkingsockets.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_p2p.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_stun.cpp",
|
|
|
+ "src/steamnetworkingsockets/clientlib/steamnetworkingsockets_p2p_ice.cpp")
|