chore(build): make platform and arch defines more specific

This commit is contained in:
fallenoak 2020-11-24 17:29:31 -06:00
parent 5e2001a164
commit be391c6592
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
12 changed files with 41 additions and 41 deletions

View file

@ -20,21 +20,21 @@ set(CMAKE_CXX_STANDARD 11)
# Arch defines # Arch defines
if(CMAKE_SIZEOF_VOID_P EQUAL 8) if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(ARCH_64 1) set(WHOA_ARCH_64 1)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(ARCH_32 1) set(WHOA_ARCH_32 1)
endif() endif()
# OS defines # OS defines
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(PLATFORM_WIN 1) set(WHOA_PLATFORM_WIN 1)
add_definitions(-DPLATFORM_WIN) add_definitions(-DWHOA_PLATFORM_WIN)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(PLATFORM_LINUX 1) set(WHOA_PLATFORM_LINUX 1)
add_definitions(-DPLATFORM_LINUX) add_definitions(-DWHOA_PLATFORM_LINUX)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(PLATFORM_MAC 1) set(WHOA_PLATFORM_MAC 1)
add_definitions(-DPLATFORM_MAC) add_definitions(-DWHOA_PLATFORM_MAC)
endif() endif()
add_subdirectory(storm) add_subdirectory(storm)

View file

@ -5,7 +5,7 @@ file(GLOB STORM_SOURCES
"thread/*.cpp" "thread/*.cpp"
) )
if(PLATFORM_MAC) if(WHOA_PLATFORM_MAC)
file(GLOB STORM_MAC_SOURCES file(GLOB STORM_MAC_SOURCES
"mac/*.cpp" "mac/*.cpp"
"mac/*.mm" "mac/*.mm"

View file

@ -3,7 +3,7 @@
#include <cstdint> #include <cstdint>
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
#define ERROR_INVALID_PARAMETER 0x57 #define ERROR_INVALID_PARAMETER 0x57
#endif #endif

View file

@ -1,11 +1,11 @@
#include "storm/thread/CSRWLock.hpp" #include "storm/thread/CSRWLock.hpp"
void CSRWLock::Enter(int32_t forwriting) { void CSRWLock::Enter(int32_t forwriting) {
#ifdef PLATFORM_WIN #ifdef WHOA_PLATFORM_WIN
// TODO // TODO
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
if (forwriting) { if (forwriting) {
pthread_rwlock_wrlock(&this->m_lock); pthread_rwlock_wrlock(&this->m_lock);
} else { } else {
@ -15,11 +15,11 @@ void CSRWLock::Enter(int32_t forwriting) {
} }
void CSRWLock::Leave(int32_t fromwriting) { void CSRWLock::Leave(int32_t fromwriting) {
#ifdef PLATFORM_WIN #ifdef WHOA_PLATFORM_WIN
// TODO // TODO
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_rwlock_unlock(&this->m_lock); pthread_rwlock_unlock(&this->m_lock);
#endif #endif
} }

View file

@ -3,18 +3,18 @@
#include <cstdint> #include <cstdint>
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
#include <pthread.h> #include <pthread.h>
#endif #endif
class CSRWLock { class CSRWLock {
public: public:
// Member variables // Member variables
#ifdef PLATFORM_WIN #ifdef WHOA_PLATFORM_WIN
char m_opaqueData[12]; char m_opaqueData[12];
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_rwlock_t m_lock; pthread_rwlock_t m_lock;
#endif #endif

View file

@ -1,21 +1,21 @@
#include "storm/thread/SCritSect.hpp" #include "storm/thread/SCritSect.hpp"
void SCritSect::Enter() { void SCritSect::Enter() {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
EnterCriticalSection(&this->m_opaqueData); EnterCriticalSection(&this->m_opaqueData);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_lock(&this->m_mutex); pthread_mutex_lock(&this->m_mutex);
#endif #endif
} }
void SCritSect::Leave() { void SCritSect::Leave() {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
LeaveCriticalSection(&this->m_opaqueData); LeaveCriticalSection(&this->m_opaqueData);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_unlock(&this->m_mutex); pthread_mutex_unlock(&this->m_mutex);
#endif #endif
} }

View file

@ -1,18 +1,18 @@
#ifndef STORM_THREAD_S_CRIT_SECT_HPP #ifndef STORM_THREAD_S_CRIT_SECT_HPP
#define STORM_THREAD_S_CRIT_SECT_HPP #define STORM_THREAD_S_CRIT_SECT_HPP
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
#include <pthread.h> #include <pthread.h>
#endif #endif
class SCritSect { class SCritSect {
public: public:
// Member variables // Member variables
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
CRITICAL_SECTION m_opaqueData; CRITICAL_SECTION m_opaqueData;
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_t m_mutex; pthread_mutex_t m_mutex;
#endif #endif

View file

@ -2,11 +2,11 @@
SEvent::SEvent(int32_t manualReset, int32_t initialValue) SEvent::SEvent(int32_t manualReset, int32_t initialValue)
: SSyncObject() { : SSyncObject() {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
this->m_opaqueData = CreateEventA(nullptr, manualReset, initialValue, nullptr); this->m_opaqueData = CreateEventA(nullptr, manualReset, initialValue, nullptr);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
this->m_int0 = 2 - (manualReset >= 1); this->m_int0 = 2 - (manualReset >= 1);
this->m_value = initialValue; this->m_value = initialValue;
@ -15,11 +15,11 @@ SEvent::SEvent(int32_t manualReset, int32_t initialValue)
} }
int32_t SEvent::Reset() { int32_t SEvent::Reset() {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
return ResetEvent(this->m_opaqueData); return ResetEvent(this->m_opaqueData);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_lock(&this->m_mutex); pthread_mutex_lock(&this->m_mutex);
this->m_value = 0; this->m_value = 0;
pthread_mutex_unlock(&this->m_mutex); pthread_mutex_unlock(&this->m_mutex);
@ -29,11 +29,11 @@ int32_t SEvent::Reset() {
} }
int32_t SEvent::Set() { int32_t SEvent::Set() {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
return SetEvent(this->m_opaqueData); return SetEvent(this->m_opaqueData);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_lock(&this->m_mutex); pthread_mutex_lock(&this->m_mutex);
this->m_value = 1; this->m_value = 1;

View file

@ -1,23 +1,23 @@
#include "storm/thread/SSyncObject.hpp" #include "storm/thread/SSyncObject.hpp"
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
#include <cerrno> #include <cerrno>
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>
#endif #endif
SSyncObject::SSyncObject() { SSyncObject::SSyncObject() {
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
pthread_mutex_init(&this->m_mutex, 0); pthread_mutex_init(&this->m_mutex, 0);
#endif #endif
} }
uint32_t SSyncObject::Wait(uint32_t timeoutMs) { uint32_t SSyncObject::Wait(uint32_t timeoutMs) {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
return WaitForSingleObject(this->m_opaqueData, timeoutMs); return WaitForSingleObject(this->m_opaqueData, timeoutMs);
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
if (this->m_int0 == 6) { if (this->m_int0 == 6) {
// WAIT_FAILED // WAIT_FAILED
return 0xFFFFFFFF; return 0xFFFFFFFF;

View file

@ -3,18 +3,18 @@
#include <cstdint> #include <cstdint>
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
#include <pthread.h> #include <pthread.h>
#endif #endif
class SSyncObject { class SSyncObject {
public: public:
// Member variables // Member variables
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
HANDLE m_opaqueData = nullptr; HANDLE m_opaqueData = nullptr;
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
int32_t m_int0 = 6; int32_t m_int0 = 6;
int32_t m_value; int32_t m_value;
pthread_cond_t m_cond; pthread_cond_t m_cond;

View file

@ -2,11 +2,11 @@
#include "storm/Thread.hpp" #include "storm/Thread.hpp"
int32_t SThread::Create(uint32_t (*threadProc)(void*), void* param, SThread& thread, char* threadName, uint32_t a5) { int32_t SThread::Create(uint32_t (*threadProc)(void*), void* param, SThread& thread, char* threadName, uint32_t a5) {
#if defined(PLATFORM_WIN) #if defined(WHOA_PLATFORM_WIN)
// TODO implement // TODO implement
#endif #endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX) #if defined(WHOA_PLATFORM_MAC) || defined(WHOA_PLATFORM_LINUX)
thread.m_int0 = 5; thread.m_int0 = 5;
thread.m_value = 0; thread.m_value = 0;
pthread_cond_init(&thread.m_cond, nullptr); pthread_cond_init(&thread.m_cond, nullptr);

View file

@ -1,6 +1,6 @@
file(GLOB_RECURSE TEST_SOURCES "*.cpp") file(GLOB_RECURSE TEST_SOURCES "*.cpp")
if(PLATFORM_MAC) if(WHOA_PLATFORM_MAC)
set_source_files_properties(${TEST_SOURCES} set_source_files_properties(${TEST_SOURCES}
PROPERTIES COMPILE_FLAGS "-x objective-c++" PROPERTIES COMPILE_FLAGS "-x objective-c++"
) )
@ -16,7 +16,7 @@ if(PLATFORM_MAC)
) )
endif() endif()
if(PLATFORM_LINUX OR PLATFORM_WIN) if(WHOA_PLATFORM_LINUX OR WHOA_PLATFORM_WIN)
add_executable(StormTest ${TEST_SOURCES}) add_executable(StormTest ${TEST_SOURCES})
target_link_libraries(StormTest target_link_libraries(StormTest