diff --git a/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.h b/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.h index 4f41a89..bdfa1be 100644 --- a/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.h +++ b/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.h @@ -1,9 +1,9 @@ #pragma once typedef struct gnLib { -#ifdef GN_PLATFORM_MACOS - void* dylib; -#endif + #if defined(GN_PLATFORM_MACOS) || defined(GN_PLATFORM_LINUX) + void* dylib; + #endif } gnLib; gnLib gnLoadLib(const char* path); diff --git a/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.c b/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_libunix.c similarity index 65% rename from Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.c rename to Gryphn/GryphnLoader/src/gryphn_lib/gryphn_libunix.c index 48007e9..6327459 100644 --- a/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_lib.c +++ b/Gryphn/GryphnLoader/src/gryphn_lib/gryphn_libunix.c @@ -1,32 +1,23 @@ #include "gryphn_lib.h" -#ifdef GN_PLATFORM_MACOS +#if defined(GN_PLATFORM_MACOS) || defined(GN_PLATFORM_LINUX) #include -#endif - gnLib gnLoadLib(const char* path) { -#ifdef GN_PLATFORM_MACOS gnLib lib; lib.dylib = dlopen(path, RTLD_NOW | RTLD_LOCAL); return lib; -#endif } int gnLibValid(const gnLib* lib) { - #ifdef GN_PLATFORM_MACOS - return lib->dylib != 0; - #endif - return 0; + return lib->dylib != 0; } void* gnLoadLibFunction(const gnLib* lib, const char* function) { -#ifdef GN_PLATFORM_MACOS return dlsym(lib->dylib, function); -#endif } void gnCloseLib(const gnLib* lib) { -#ifdef GN_PLATFORM_MACOS dlclose(lib->dylib); -#endif } + +#endif diff --git a/Gryphn/apis/GryphnVulkan/CMakeLists.txt b/Gryphn/apis/GryphnVulkan/CMakeLists.txt new file mode 100644 index 0000000..5cde6e2 --- /dev/null +++ b/Gryphn/apis/GryphnVulkan/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB_RECURSE VULKAN_SOURCES CONFIGURE_DEPENDS "src/*.c") +add_library(gryphn_vulkan SHARED ${VULKAN_SOURCES}) +project(gryphn_vulkan LANGUAGES C) +set_target_properties(gryphn_vulkan PROPERTIES PREFIX "") +target_link_libraries(gryphn_vulkan PRIVATE GryphnLoader)