mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-06-01 17:37:39 +00:00
Make WinRT's SDL_main header-only
As the implementation requires C++, the user will have to include SDL_main.h in a C++ source file (that needs to be compiled with /ZW). It's ok to keep the standard main() implementation in plain C and use an otherwise empty C++ source file for the SDL_main implementation part, if both source files #include <SDL3/SDL_main.h> Including SDL_main.h in a C source file will print a message at compilation (when building for WinRT or possibly other not yet implemented platforms that require C++ for main), to remind the user of also including it in a .cpp source file. This message/warning can be disabled with #define SDL_MAIN_NOIMPL before including SDL_main.h in the C file. When including it in a .cpp file, there will be a compiler error with helpful message if it's not compiled with /ZW For this I renamend _SDL_MAIN_NOIMPL to SDL_MAIN_NOIMPL, because now it's not for internal use only anymore, but also useful for users (that want their main() function in a different file than the SDL_main implementation) Add a project for the testdraw2.c test to the WinRT solution to at least get some minimal testing on WinRT. I won't add all tests because it's a lot of manual clicking per test, but this should be better than nothing :)
This commit is contained in:
parent
8e0693c982
commit
28b93451dc
20 changed files with 634 additions and 78 deletions
11
test/main.cpp
Normal file
11
test/main.cpp
Normal file
|
@ -0,0 +1,11 @@
|
|||
/*
|
||||
* This file is supposed to be used to build tests on platforms that require
|
||||
* the main function to be implemented in C++, which means that SDL_main's
|
||||
* implementation needs C++ and thus can't be included in test*.c
|
||||
*
|
||||
* Placed in the public domain by Daniel Gibson, 2022-12-12
|
||||
*/
|
||||
|
||||
#include <SDL3/SDL_main.h>
|
||||
|
||||
// that's all, folks!
|
Loading…
Add table
Add a link
Reference in a new issue