add support for building on FreeBSD

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
This commit is contained in:
Steven Noonan
2021-01-30 07:44:20 -08:00
parent ef30565c7d
commit 0203aa732b
4 changed files with 8 additions and 2 deletions
+2
View File
@@ -169,6 +169,8 @@ function(set_target_common_gns_properties TGT)
target_compile_definitions(${TGT} PUBLIC POSIX LINUX)
elseif(CMAKE_SYSTEM_NAME MATCHES Darwin)
target_compile_definitions(${TGT} PUBLIC POSIX OSX)
elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
target_compile_definitions(${TGT} PUBLIC POSIX FREEBSD)
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
#target_compile_definitions(${TGT} PUBLIC WIN32)
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+2
View File
@@ -258,6 +258,8 @@ macro(gamenetworkingsockets_common GNS_TARGET)
#if(USE_STEAMWEBRTC AND NOT STEAMWEBRTC_USE_STATIC_LIBS)
# target_link_libraries(${GNS_TARGET} PRIVATE dl)
#endif()
elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
get_target_property(TARGET_TYPE ${GNS_TARGET} TYPE)
@@ -1962,6 +1962,8 @@ const char *CSteamNetworkingUtils::GetPlatformString()
return "windows";
#elif defined( LINUX ) || defined( __LINUX__ ) || defined(linux) || defined(__linux) || defined(__linux__)
return "linux";
#elif defined( FREEBSD ) || defined( __FreeBSD__ )
return "freebsd";
#else
#error "Unknown platform"
#endif
+2 -2
View File
@@ -61,7 +61,7 @@ static uint64 InitTicks()
g_TickFrequencyDouble = (double) TimebaseInfo.denom / (double) TimebaseInfo.numer * 1.0e9;
g_TickFrequency = (uint64)( g_TickFrequencyDouble + 0.5 );
g_TickBase = mach_absolute_time();
#elif defined(LINUX) || defined(ANDROID) || defined(NN_NINTENDO_SDK)
#elif defined(LINUX) || defined(ANDROID) || defined(NN_NINTENDO_SDK) || defined(FREEBSD)
// TickFrequency is constant since clock_gettime always returns nanoseconds
timespec TimeSpec;
clock_gettime( CLOCK_MONOTONIC, &TimeSpec );
@@ -99,7 +99,7 @@ uint64 Plat_RelativeTicks()
}
#elif defined(OSX)
Ticks = mach_absolute_time();
#elif defined(LINUX) || defined(ANDROID) || defined(NN_NINTENDO_SDK)
#elif defined(LINUX) || defined(ANDROID) || defined(NN_NINTENDO_SDK) || defined(FREEBSD)
timespec TimeSpec;
clock_gettime( CLOCK_MONOTONIC, &TimeSpec );
Ticks = (uint64)TimeSpec.tv_sec * 1000000000 + TimeSpec.tv_nsec;