From 90b87436fcff3e86f09ee8eccbc2d9e21186395f Mon Sep 17 00:00:00 2001 From: haddock7 <56619548+haddock7@users.noreply.github.com> Date: Wed, 5 Aug 2020 01:15:40 -0400 Subject: [PATCH] Fixed compilation on Mac --- extension/CMakeLists.txt | 5 +++++ extension/utils.h | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extension/CMakeLists.txt b/extension/CMakeLists.txt index 94605ad..f5a6146 100644 --- a/extension/CMakeLists.txt +++ b/extension/CMakeLists.txt @@ -8,6 +8,9 @@ project(${TARGET_NAME}) file(GLOB SOURCES "*.cpp") file(GLOB IMGUI_SOURCES "imgui/*.cpp") +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + add_library(${TARGET_NAME}${TARGET_EXT} SHARED ${SOURCES} ${IMGUI_SOURCES}) set_target_properties(${TARGET_NAME}${TARGET_EXT} @@ -20,6 +23,8 @@ set_target_properties(${TARGET_NAME}${TARGET_EXT} IF (WIN32) target_include_directories(${TARGET_NAME}${TARGET_EXT} PUBLIC $ENV{HASHLINKPATH}/include) target_link_libraries(${TARGET_NAME}${TARGET_EXT} $ENV{HASHLINKPATH}/libhl.lib) +ELSE() +target_link_libraries(${TARGET_NAME}${TARGET_EXT} hl) ENDIF() add_custom_command(TARGET ${TARGET_NAME}${TARGET_EXT} POST_BUILD diff --git a/extension/utils.h b/extension/utils.h index d292f84..f3c8475 100644 --- a/extension/utils.h +++ b/extension/utils.h @@ -8,6 +8,12 @@ #define convertStringNullAsEmpty(st) st != nullptr ? unicodeToUTF8(st).c_str() : "" #define convertPtr(ptr,default_value) ptr != nullptr ? *ptr : default_value +#ifdef __APPLE__ +#define throw_error(err) hl_throw(hl_alloc_strbytes((const uchar*)(USTR(err)))) +#else +#define throw_error(err) hl_error(err) +#endif + void convertColor(ImU32 color, float& r, float& g, float& b, float& a); std::string unicodeToUTF8(vstring* hl_string); @@ -22,5 +28,5 @@ vdynamic* getHLFromImVec4(ImVec4 value); vbyte* getVByteFromCStr(const char* str); -inline void assertArraySize(varray* arr, int size) {if (arr->size != size) return hl_error("Invalid array size");} -inline void assertArraySizeRange(varray* arr, int size_min, int size_max) {if (arr->size < size_min && arr->size > size_max) return hl_error("Invalid array size");} +inline void assertArraySize(varray* arr, int size) {if (arr->size != size) throw_error("Invalid array size");} +inline void assertArraySizeRange(varray* arr, int size_min, int size_max) {if (arr->size < size_min && arr->size > size_max) throw_error("Invalid array size");}