diff options
| author | Querijn Heijmans <git@irule.at> | 2024-12-11 06:38:16 +0100 |
|---|---|---|
| committer | Querijn Heijmans <git@irule.at> | 2024-12-11 06:38:16 +0100 |
| commit | caada22b26bbdbade2f2ce0c31ce13263fd8820b (patch) | |
| tree | 0051c1f8d33dad8fa27e896ea2f1951984d524bc | |
| parent | a94f66a4823cabe63374c93c502331e83642b70f (diff) | |
Allow to have both WinMain and main defined on Windows
| -rw-r--r-- | sokol_app.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sokol_app.h b/sokol_app.h index 51f8a421..4db9c707 100644 --- a/sokol_app.h +++ b/sokol_app.h @@ -27,13 +27,14 @@ Optionally provide the following defines with your own implementations: - SOKOL_ASSERT(c) - your own assert macro (default: assert(c)) - SOKOL_UNREACHABLE() - a guard macro for unreachable code (default: assert(false)) - SOKOL_WIN32_FORCE_MAIN - define this on Win32 to use a main() entry point instead of WinMain - SOKOL_NO_ENTRY - define this if sokol_app.h shouldn't "hijack" the main() function - SOKOL_APP_API_DECL - public function declaration prefix (default: extern) - SOKOL_API_DECL - same as SOKOL_APP_API_DECL - SOKOL_API_IMPL - public function implementation prefix (default: -) + SOKOL_ASSERT(c) - your own assert macro (default: assert(c)) + SOKOL_UNREACHABLE() - a guard macro for unreachable code (default: assert(false)) + SOKOL_WIN32_FORCE_MAIN - define this on Win32 to add a main() entry point + SOKOL_WIN32_FORCE_WINMAIN - define this on Win32 to add a WinMain() entry point (enabled by default unless SOKOL_WIN32_FORCE_MAIN or SOKOL_NO_ENTRY is defined) + SOKOL_NO_ENTRY - define this if sokol_app.h shouldn't "hijack" the main() function + SOKOL_APP_API_DECL - public function declaration prefix (default: extern) + SOKOL_API_DECL - same as SOKOL_APP_API_DECL + SOKOL_API_IMPL - public function implementation prefix (default: -) Optionally define the following to force debug checks and validations even in release mode: @@ -8155,7 +8156,8 @@ int main(int argc, char* argv[]) { _sapp_win32_run(&desc); return 0; } -#else +#endif /* SOKOL_WIN32_FORCE_MAIN */ +#if defined(SOKOL_WIN32_FORCE_WINMAIN) || !defined(SOKOL_WIN32_FORCE_MAIN) int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow) { _SOKOL_UNUSED(hInstance); _SOKOL_UNUSED(hPrevInstance); @@ -8168,7 +8170,7 @@ int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _ _sapp_free(argv_utf8); return 0; } -#endif /* SOKOL_WIN32_FORCE_MAIN */ +#endif /* SOKOL_WIN32_FORCE_WINMAIN */ #endif /* SOKOL_NO_ENTRY */ #ifdef _MSC_VER |