diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/wmain.c | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 86cba99..5551629 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,7 +147,7 @@ target_link_libraries ( lua liblua ) # On windows a variant of the lua interpreter without console output needs to be built if ( LUA_BUILD_WLUA ) - add_executable ( wlua WIN32 ${SRC_LUA} ${LUA_RC} ) + add_executable ( wlua WIN32 src/wmain.c ${SRC_LUA} ${LUA_RC} ) target_link_libraries ( wlua liblua ) install_executable ( wlua ) endif ( ) diff --git a/src/wmain.c b/src/wmain.c new file mode 100644 index 0000000..6cf3e57 --- /dev/null +++ b/src/wmain.c @@ -0,0 +1,16 @@ +#include <windows.h> +#include <stdlib.h> /* declaration of __argc and __argv */ + +extern int main(int, char **); + +int PASCAL WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int ncmdshow) +{ + int rc; + + extern int __argc; /* this seems to work for all the compilers we tested, except Watcom compilers */ + extern char** __argv; + + rc = main(__argc, __argv); + + return rc; +} |