mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
attempt something. maybe this worked, maybe not.
This commit is contained in:
@ -22,10 +22,11 @@
|
||||
#include <string.h>
|
||||
|
||||
// Qt includes and shit here, I guess
|
||||
#include <QtCore/QBitArray>
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#include "../version.h"
|
||||
#include "../../version.h"
|
||||
|
||||
|
||||
//
|
||||
@ -43,3 +44,42 @@ int main(int argc, char** argv)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef __WIN32__
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdshow)
|
||||
{
|
||||
int argc = 0;
|
||||
wchar_t** argv_w = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||
char* nullarg = "";
|
||||
|
||||
char** argv = new char*[argc];
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
|
||||
if (len < 1) return NULL;
|
||||
argv[i] = new char[len];
|
||||
int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
|
||||
if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
|
||||
}
|
||||
|
||||
if (AttachConsole(ATTACH_PARENT_PROCESS))
|
||||
{
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int ret = main(argc, argv);
|
||||
|
||||
printf("\n\n>");
|
||||
|
||||
for (int i = 0; i < argc; i++) if (argv[i] != nullarg) delete[] argv[i];
|
||||
delete[] argv;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -22,13 +22,12 @@ option(BUILD_SHARED_LIBS "Whether to build libui as a shared library or a static
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
add_subdirectory(libui)
|
||||
|
||||
find_package(SDL2 REQUIRED)
|
||||
include_directories(${SDL2_INCLUDE_DIR})
|
||||
#string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(SDL2 REQUIRED sdl2)
|
||||
|
||||
add_executable(melonDS ${SOURCES_LIBUI})
|
||||
target_link_libraries(melonDS
|
||||
core ${SDL2_LIBRARIES} libui)
|
||||
target_include_directories(melonDS PRIVATE ${SDL2_INCLUDE_DIRS})
|
||||
target_link_libraries(melonDS core libui ${SDL2_LIBRARIES})
|
||||
|
||||
if (UNIX)
|
||||
option(UNIX_PORTABLE "Make a portable build that looks for its configuration in the current directory" OFF)
|
||||
@ -38,12 +37,9 @@ if (UNIX)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
|
||||
pkg_check_modules(SDL2 REQUIRED sdl2)
|
||||
|
||||
target_include_directories(melonDS
|
||||
PRIVATE ${GTK3_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS}
|
||||
)
|
||||
target_link_libraries(melonDS ${GTK3_LIBRARIES} ${SDL2_LIBRARIES})
|
||||
target_include_directories(melonDS PRIVATE ${GTK3_INCLUDE_DIRS})
|
||||
target_link_libraries(melonDS ${GTK3_LIBRARIES})
|
||||
|
||||
ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
|
||||
|
||||
@ -63,7 +59,7 @@ if (UNIX)
|
||||
elseif (WIN32)
|
||||
target_sources(melonDS PUBLIC "${CMAKE_SOURCE_DIR}/melon.rc")
|
||||
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||
target_link_libraries(melonDS comctl32 d2d1 dwrite uxtheme ws2_32 iphlpapi)
|
||||
target_link_libraries(melonDS comctl32 d2d1 dwrite uxtheme ws2_32 iphlpapi gdi32)
|
||||
endif ()
|
||||
|
||||
install(FILES ../../net.kuribo64.melonDS.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
|
||||
|
@ -2678,7 +2678,7 @@ void RecreateMainWindow(bool opengl)
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
int ___main(int argc, char** argv)
|
||||
{
|
||||
srand(time(NULL));
|
||||
|
||||
@ -3026,41 +3026,4 @@ int main(int argc, char** argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef __WIN32__
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdshow)
|
||||
{
|
||||
int argc = 0;
|
||||
wchar_t** argv_w = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||
char* nullarg = "";
|
||||
|
||||
char** argv = new char*[argc];
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
|
||||
if (len < 1) return NULL;
|
||||
argv[i] = new char[len];
|
||||
int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
|
||||
if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
|
||||
}
|
||||
|
||||
if (AttachConsole(ATTACH_PARENT_PROCESS))
|
||||
{
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int ret = main(argc, argv);
|
||||
|
||||
printf("\n\n>");
|
||||
|
||||
for (int i = 0; i < argc; i++) if (argv[i] != nullarg) delete[] argv[i];
|
||||
delete[] argv;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user