First
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
//possible platform versions
|
||||
//note the fixed point XX.XX format, so that we can compare versions
|
||||
#define TL_PLATFORM_VERSION_8_0 800
|
||||
#define TL_PLATFORM_VERSION_8_1 810
|
||||
#define TL_PLATFORM_VERSION_10_0 1000
|
||||
|
||||
//actual version
|
||||
#define TL_PLATFORM_VERSION TL_PLATFORM_VERSION_8_0
|
||||
*/
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//PLATFORM
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
# if defined (__arm64__) || defined (__aarch64__) || defined(_M_ARM64)
|
||||
# define TL_PLATFORM_64
|
||||
# define TL_PLATFORM_ARCHITECTURE_ARM64
|
||||
# elif defined(__arm__) || defined(_M_ARM)
|
||||
# define TL_PLATFORM_32
|
||||
# define TL_PLATFORM_ARCHITECTURE_ARM32
|
||||
# elif defined(__i386__) || defined(_M_IX86)
|
||||
# define TL_PLATFORM_32
|
||||
# define TL_PLATFORM_ARCHITECTURE_X86
|
||||
# elif defined(__x86_64__) || defined(_M_AMD64)
|
||||
# define TL_PLATFORM_64
|
||||
# define TL_PLATFORM_ARCHITECTURE_AMD64
|
||||
# else
|
||||
# pragma error "Unrecognized architecture "
|
||||
# endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//ANDROID
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if defined (__ANDROID__)
|
||||
|
||||
|
||||
# define TL_PLATFORM_POSIX_THREADS_API
|
||||
# define TL_PLATFORM_ANDROID_FAMILY
|
||||
# define TL_PLATFORM_ANDROID_APP
|
||||
# define TL_PLATFORM_POSIX_API
|
||||
|
||||
#elif defined(_WIN32) || defined(_WIN64) || defined(__MINGW64__)
|
||||
# define TL_PLATFORM_WINDOWS_FAMILY
|
||||
# define TL_PLATFORM_WIN_API
|
||||
# define TL_PLATFORM_WINDOWS_THREADS_API
|
||||
|
||||
# if defined(_MSC_VER)
|
||||
# pragma warning(disable:4100)
|
||||
# pragma warning(disable:4251)
|
||||
# endif
|
||||
|
||||
# if defined(WINAPI_FAMILY)
|
||||
# include <winapifamily.h>
|
||||
# if (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// WINDOWS STORE
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
# define TL_PLATFORM_WINDOWS_STORE_APP
|
||||
# elif (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// WINDOWS PHONE
|
||||
//////////////////////////////////////////////////////////////////////////s
|
||||
|
||||
# define TL_PLATFORM_WINDOWS_PHONE_APP
|
||||
# else
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// WINDOWS
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
# define TL_PLATFORM_WINDOWS_DESKTOP_APP
|
||||
# endif
|
||||
# else
|
||||
# define TL_PLATFORM_WINDOWS_DESKTOP_APP
|
||||
# endif
|
||||
//no posix here unfortunately
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//IOS
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#elif defined(__APPLE__) || defined(MACOSX)
|
||||
# include "TargetConditionals.h"
|
||||
|
||||
# define TL_PLATFORM_POSIX_THREADS_API
|
||||
# define TL_PLATFORM_OSX_FAMILY
|
||||
# define TL_PLATFORM_POSIX_API
|
||||
# if (TARGET_IPHONE_SIMULATOR)
|
||||
# define TL_PLATFORM_IOS_FAMILY
|
||||
# define TL_PLATFORM_IOS_SIMULATOR_APP
|
||||
# elif (TARGET_OS_IPHONE)
|
||||
# define TL_PLATFORM_IOS_FAMILY
|
||||
# define TL_PLATFORM_IOS_APP
|
||||
# if(TARGET_OS_MACCATALYST)
|
||||
# define TL_PLATFORM_CATALYST
|
||||
# endif
|
||||
# elif (TARGET_OS_MAC)
|
||||
# define TL_PLATFORM_MAC_APP
|
||||
# else
|
||||
# error "Unknown Platform"
|
||||
# endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//LINUX
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#elif defined (__linux)
|
||||
|
||||
# define TL_PLATFORM_LINUX_FAMILY
|
||||
# define TL_PLATFORM_LINUX_APP
|
||||
# define TL_PLATFORM_POSIX_API
|
||||
# define TL_PLATFORM_POSIX_THREADS_API
|
||||
|
||||
#else
|
||||
# error Unrecognized platform.
|
||||
#endif
|
||||
Reference in New Issue
Block a user