Skip to content

Commit 9b7d3a8

Browse files
committed
Deploy MSVC runtime privately, build wide unicode
1 parent aae775e commit 9b7d3a8

2 files changed

Lines changed: 10 additions & 11 deletions

File tree

CMakeLists.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,13 @@ if (APPLE)
77
enable_language(OBJCXX)
88
endif ()
99

10-
if (MSVC)
11-
add_compile_definitions(
12-
)
13-
endif ()
14-
1510
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
1611

1712
include(${PROJECT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake)
1813

14+
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ".")
15+
include(InstallRequiredSystemLibraries)
16+
1917
set(SIMPLEGRAPHIC_SOURCES
2018
"config.h"
2119
"engine/common/common.cpp"
@@ -80,6 +78,7 @@ add_library(SimpleGraphic SHARED
8078

8179
target_compile_definitions(SimpleGraphic
8280
PRIVATE
81+
"UNICODE"
8382
"_CRT_SECURE_NO_DEPRECATE"
8483
"_CRT_SECURE_NO_WARNINGS"
8584
"_SCL_SECURE_NO_DEPRECATE"

engine/system/win/sys_main.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -584,17 +584,17 @@ void sys_main_c::SpawnProcess(const char* cmdName, const char* argList)
584584
if ( !strchr(cmd, '.') ) {
585585
strcat(cmd, ".exe");
586586
}
587-
SHELLEXECUTEINFO sinfo;
588-
memset(&sinfo, 0, sizeof(SHELLEXECUTEINFO));
589-
sinfo.cbSize = sizeof(SHELLEXECUTEINFO);
587+
SHELLEXECUTEINFOA sinfo;
588+
memset(&sinfo, 0, sizeof(SHELLEXECUTEINFOA));
589+
sinfo.cbSize = sizeof(SHELLEXECUTEINFOA);
590590
sinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
591591
sinfo.lpFile = cmd;
592592
sinfo.lpParameters = argList;
593593
sinfo.lpVerb = "open";
594594
sinfo.nShow = SW_SHOWMAXIMIZED;
595-
if ( !ShellExecuteEx(&sinfo) ) {
595+
if ( !ShellExecuteExA(&sinfo) ) {
596596
sinfo.lpVerb = "runas";
597-
ShellExecuteEx(&sinfo);
597+
ShellExecuteExA(&sinfo);
598598
}
599599
#else
600600
#warning LV: Subprocesses not implemented on this OS.
@@ -606,7 +606,7 @@ void sys_main_c::SpawnProcess(const char* cmdName, const char* argList)
606606
void PlatformOpenURL(const char* url)
607607
{
608608
#ifdef _WIN32
609-
ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWDEFAULT);
609+
ShellExecuteA(NULL, "open", url, NULL, NULL, SW_SHOWDEFAULT);
610610
#else
611611
#warning LV: URL opening not implemented on this OS.
612612
// TODO(LV): Implement URL opening for other OSes.

0 commit comments

Comments
 (0)