From 21d775da6e18b8f8da67bf5e23383bc8233f455b Mon Sep 17 00:00:00 2001 From: Luke1410 Date: Thu, 11 Jul 2019 17:33:38 +0200 Subject: [PATCH] - change UNASSIGNED_SYSTEM_ADDRESS and UNASSIGNED_RAKNET_GUID to be declared external so to remove the need for including/dependent compile units to also include types.h (which is quite a burden due to the windows.h inclusion, f.e.) - #130 - add required OpenSSL dependency to CMake (#222) --- CMakeLists.txt | 8 ++++++-- Source/include/slikenet/types.h | 4 ++-- Source/src/RakNetTypes.cpp | 9 +++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf3d593c3..dcbf9a41b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,10 +42,14 @@ IF (WIN32 AND NOT UNIX) string(REPLACE "\\" "/" PROGRAMFILESX86 "${PROGRAMFILESX86}") ENDIF(WIN32 AND NOT UNIX) +# add package dependencies +find_package(OpenSSL 1.0.0 REQUIRED) +set(SLIKENET_LIBRARY_LIBS OpenSSL::Crypto OpenSSL::SSL) + IF (WIN32 AND NOT UNIX) - set(SLIKENET_LIBRARY_LIBS ws2_32.lib) + set(SLIKENET_LIBRARY_LIBS ${SLIKENET_LIBRARY_LIBS} ws2_32.lib) ELSE(WIN32 AND NOT UNIX) - set(SLIKENET_LIBRARY_LIBS pthread) + set(SLIKENET_LIBRARY_LIBS ${SLIKENET_LIBRARY_LIBS} pthread) ENDIF(WIN32 AND NOT UNIX) # enable C++11 language support for GCC diff --git a/Source/include/slikenet/types.h b/Source/include/slikenet/types.h index b3e5e675b..7d3279585 100644 --- a/Source/include/slikenet/types.h +++ b/Source/include/slikenet/types.h @@ -338,8 +338,8 @@ struct RAK_DLL_EXPORT RakNetGUID // 0xFFFFFFFF, 0xFFFF //}; #ifndef SWIG -const SystemAddress UNASSIGNED_SYSTEM_ADDRESS; -const RakNetGUID UNASSIGNED_RAKNET_GUID((uint64_t)-1); +extern const SystemAddress UNASSIGNED_SYSTEM_ADDRESS; +extern const RakNetGUID UNASSIGNED_RAKNET_GUID; #endif //{ // {0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF} diff --git a/Source/src/RakNetTypes.cpp b/Source/src/RakNetTypes.cpp index 7b0082254..65a72c07d 100644 --- a/Source/src/RakNetTypes.cpp +++ b/Source/src/RakNetTypes.cpp @@ -779,3 +779,12 @@ unsigned long RakNetGUID::ToUint32( const RakNetGUID &g ) { return ((unsigned long) (g.g >> 32)) ^ ((unsigned long) (g.g & 0xFFFFFFFF)); } + +namespace SLNet +{ + // initialization list +#ifndef SWIG + const SystemAddress UNASSIGNED_SYSTEM_ADDRESS; + const RakNetGUID UNASSIGNED_RAKNET_GUID((uint64_t)-1); +#endif +} \ No newline at end of file