From b6877df542957f6512aa12abdcd3b1a5f1ec6e10 Mon Sep 17 00:00:00 2001 From: Brady Date: Sun, 27 Oct 2024 19:56:12 -0500 Subject: [PATCH] Fix missing defines used by `libhat.h` --- CMakeLists.txt | 5 ++++- include/libhat/Defines.hpp | 26 +------------------------- include/libhat/Platform.h | 27 +++++++++++++++++++++++++++ include/libhat/c/libhat.h | 4 +++- 4 files changed, 35 insertions(+), 27 deletions(-) create mode 100644 include/libhat/Platform.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fab112..a0e63ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,10 @@ if(LIBHAT_STATIC_C_LIB OR LIBHAT_SHARED_C_LIB) endif() else() add_library(libhat_c SHARED ${LIBHAT_C_SOURCES}) - target_compile_definitions(libhat_c PRIVATE "LIBHAT_BUILD_SHARED_LIB") + target_compile_definitions(libhat_c + PRIVATE LIBHAT_BUILD_SHARED_LIB + INTERFACE LIBHAT_USE_SHARED_LIB + ) endif() target_link_libraries(libhat_c PRIVATE libhat) diff --git a/include/libhat/Defines.hpp b/include/libhat/Defines.hpp index 2eaee0c..d6d3c1a 100644 --- a/include/libhat/Defines.hpp +++ b/include/libhat/Defines.hpp @@ -1,30 +1,6 @@ #pragma once -// Detect CPU Architecture -#if defined(_M_X64) || defined(__amd64__) - #define LIBHAT_X86_64 -#elif defined(_M_IX86) || defined(__i386__) - #define LIBHAT_X86 -#elif defined(_M_ARM64) || defined(__aarch64__) - #define LIBHAT_AARCH64 -#elif defined(_M_ARM) || defined(__arm__) - #define LIBHAT_ARM -#else - #error Unsupported Architecture -#endif - -// Detect Operating System -#if defined(_WIN32) - #define LIBHAT_WINDOWS -#elif defined(linux) || defined(__linux__) || defined(__linux) - #define LIBHAT_UNIX - #define LIBHAT_LINUX -#elif defined(__APPLE__) && defined(__MACH__) - #define LIBHAT_UNIX - #define LIBHAT_MAC -#else - #error Unsupported Operating System -#endif +#include "Platform.h" // Macros wrapping intrinsics #if defined(LIBHAT_X86_64) diff --git a/include/libhat/Platform.h b/include/libhat/Platform.h new file mode 100644 index 0000000..a4434b3 --- /dev/null +++ b/include/libhat/Platform.h @@ -0,0 +1,27 @@ +#pragma once + +// Detect CPU Architecture +#if defined(_M_X64) || defined(__amd64__) + #define LIBHAT_X86_64 +#elif defined(_M_IX86) || defined(__i386__) + #define LIBHAT_X86 +#elif defined(_M_ARM64) || defined(__aarch64__) + #define LIBHAT_AARCH64 +#elif defined(_M_ARM) || defined(__arm__) + #define LIBHAT_ARM +#else + #error Unsupported Architecture +#endif + +// Detect Operating System +#if defined(_WIN32) + #define LIBHAT_WINDOWS +#elif defined(linux) || defined(__linux__) || defined(__linux) + #define LIBHAT_UNIX + #define LIBHAT_LINUX +#elif defined(__APPLE__) && defined(__MACH__) + #define LIBHAT_UNIX + #define LIBHAT_MAC +#else + #error Unsupported Operating System +#endif diff --git a/include/libhat/c/libhat.h b/include/libhat/c/libhat.h index 2203547..9f40111 100644 --- a/include/libhat/c/libhat.h +++ b/include/libhat/c/libhat.h @@ -1,5 +1,7 @@ #pragma once +#include + #if defined(LIBHAT_WINDOWS) #if defined(LIBHAT_BUILD_SHARED_LIB) #define LIBHAT_API __declspec(dllexport) @@ -74,4 +76,4 @@ LIBHAT_API void libhat_free(void* mem); #ifdef __cplusplus } -#endif \ No newline at end of file +#endif