Skip to content

Instantly share code, notes, and snippets.

@diaphore
diaphore / glimp.c
Last active July 10, 2020 07:41
Unify native entry points and dynamic imports by faking `__imp_*` symbols
#include "glimp.h"
#if defined _WIN32
#include <Windows.h>
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmissing-variable-declarations"
#define COMMAND(name) __declspec(dllexport) PROC __imp_##name;
find_program(SPIRV_COMPILER NAMES glslangValidator glslc)
get_filename_component(spirv_compiler_id ${SPIRV_COMPILER} NAME_WE)
if(spirv_compiler_id STREQUAL glslc)
set(SPIRV_FLAGS -c -mfmt=num CACHE STRING "")
set(SPIRV_FLAGS_VULKAN --target-env=vulkan CACHE STRING "")
set(SPIRV_FLAGS_OPENGL --target-env=opengl CACHE STRING "")
elseif(spirv_compiler_id STREQUAL glslangValidator )
set(SPIRV_FLAGS -x CACHE STRING "")
set(SPIRV_FLAGS_VULKAN -V CACHE STRING "")