mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-25 00:58:30 -05:00
Added shared library support.
This commit is contained in:
parent
b176ad42c1
commit
4b5159394c
3 changed files with 75 additions and 11 deletions
|
@ -253,16 +253,38 @@ typedef enum bgfx_fatal
|
|||
|
||||
} bgfx_fatal_t;
|
||||
|
||||
#ifndef BGFX_SHARED_LIB_BUILD
|
||||
# define BGFX_SHARED_LIB_BUILD 0
|
||||
#endif // BGFX_SHARED_LIB_BUILD
|
||||
|
||||
#ifndef BGFX_SHARED_LIB_USE
|
||||
# define BGFX_SHARED_LIB_USE 0
|
||||
#endif // BGFX_SHARED_LIB_USE
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define BGFX_VTBL_CALL __stdcall
|
||||
# define BGFX_VTBL_THIS // passed via ecx
|
||||
# define BGFX_VTBL_THIS_ // passed via ecx
|
||||
# if BGFX_SHARED_LIB_BUILD
|
||||
# define BGFX_SHARED_LIB_API __declspec(dllexport)
|
||||
# elif BGFX_SHARED_LIB_USE
|
||||
# define BGFX_SHARED_LIB_API __declspec(dllimport)
|
||||
# else
|
||||
# define BGFX_VTBL_CALL _cdecl
|
||||
# define BGFX_SHARED_LIB_API
|
||||
# endif // BGFX_SHARED_LIB_*
|
||||
#else
|
||||
# define BGFX_VTBL_CALL
|
||||
# define BGFX_VTBL_THIS BGFX_VTBL_INTEFRACE _this
|
||||
# define BGFX_VTBL_THIS_ BGFX_VTBL_INTEFRACE _this,
|
||||
# define BGFX_SHARED_LIB_API
|
||||
#endif // defined(_MSC_VER)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
# define BGFX_C_API extern "C" BGFX_SHARED_LIB_API
|
||||
#else
|
||||
# define BGFX_C_API BGFX_SHARED_LIB_API
|
||||
#endif // defined(__cplusplus)
|
||||
|
||||
/**
|
||||
*/
|
||||
typedef struct bgfx_callback_interface
|
||||
|
@ -355,12 +377,6 @@ typedef struct bgfx_reallocator_vtbl
|
|||
|
||||
} bgfx_reallocator_vtbl_t;
|
||||
|
||||
#if defined(__cplusplus)
|
||||
# define BGFX_C_API extern "C"
|
||||
#else
|
||||
# define BGFX_C_API
|
||||
#endif // defined(__cplusplus)
|
||||
|
||||
/**
|
||||
* Start vertex declaration.
|
||||
*/
|
||||
|
@ -1283,6 +1299,4 @@ BGFX_C_API void bgfx_discard();
|
|||
*/
|
||||
BGFX_C_API void bgfx_save_screen_shot(const char* _filePath);
|
||||
|
||||
#undef BGFX_C_API
|
||||
|
||||
#endif // BGFX_C99_H_HEADER_GUARD
|
||||
|
|
|
@ -53,3 +53,55 @@ project "bgfx"
|
|||
}
|
||||
|
||||
copyLib()
|
||||
|
||||
project "bgfx-shared-lib"
|
||||
uuid "09986168-e9d9-11e3-9c8e-f2aef940a72a"
|
||||
kind "SharedLib"
|
||||
|
||||
includedirs {
|
||||
BGFX_DIR .. "../bx/include",
|
||||
}
|
||||
|
||||
defines {
|
||||
"BGFX_SHARED_LIB_BUILD=1",
|
||||
-- "BGFX_CONFIG_RENDERER_OPENGL=1",
|
||||
}
|
||||
|
||||
configuration { "Debug" }
|
||||
defines {
|
||||
"BGFX_CONFIG_DEBUG=1",
|
||||
}
|
||||
|
||||
configuration { "windows" }
|
||||
includedirs {
|
||||
"$(DXSDK_DIR)/include",
|
||||
}
|
||||
|
||||
configuration { "osx or ios*" }
|
||||
files {
|
||||
BGFX_DIR .. "src/**.mm",
|
||||
}
|
||||
|
||||
configuration { "vs* or linux or mingw or osx or ios*" }
|
||||
includedirs {
|
||||
--nacl has GLES2 headers modified...
|
||||
BGFX_DIR .. "3rdparty/khronos",
|
||||
}
|
||||
|
||||
configuration {}
|
||||
|
||||
includedirs {
|
||||
BGFX_DIR .. "include",
|
||||
}
|
||||
|
||||
files {
|
||||
BGFX_DIR .. "include/**.h",
|
||||
BGFX_DIR .. "src/**.cpp",
|
||||
BGFX_DIR .. "src/**.h",
|
||||
}
|
||||
|
||||
excludes {
|
||||
BGFX_DIR .. "src/**.bin.h",
|
||||
}
|
||||
|
||||
copyLib()
|
||||
|
|
|
@ -2619,8 +2619,6 @@ BX_STATIC_ASSERT(sizeof(bgfx::TransientVertexBuffer) == sizeof(bgfx_transient_ve
|
|||
BX_STATIC_ASSERT(sizeof(bgfx::InstanceDataBuffer) == sizeof(bgfx_instance_data_buffer_t) );
|
||||
BX_STATIC_ASSERT(sizeof(bgfx::TextureInfo) == sizeof(bgfx_texture_info_t) );
|
||||
|
||||
#define BGFX_C_API extern "C"
|
||||
|
||||
BGFX_C_API void bgfx_vertex_decl_begin(bgfx_vertex_decl_t* _decl, bgfx_renderer_type_t _renderer)
|
||||
{
|
||||
bgfx::VertexDecl* decl = (bgfx::VertexDecl*)_decl;
|
||||
|
|
Loading…
Reference in a new issue