diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-11-21 18:58:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-21 18:58:51 +0100 |
commit | 92a83f671b227ace7ded5006619bb943c2d9ecc0 (patch) | |
tree | 678a168eef76c49fd4bb4aace4f9abb088ad8b6b /src | |
parent | 534544cbf7ac92aef44336cc9da1bfc02a441e6e (diff) | |
parent | be89d520d7e9ad6c574c259a10f282177fb5dd4a (diff) | |
download | rneovim-92a83f671b227ace7ded5006619bb943c2d9ecc0.tar.gz rneovim-92a83f671b227ace7ded5006619bb943c2d9ecc0.tar.bz2 rneovim-92a83f671b227ace7ded5006619bb943c2d9ecc0.zip |
Merge pull request #31193 from bfredl/winrt
refactor(windows)!: only support UCRT, even for mingw
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/nvim/main.c | 15 | ||||
-rw-r--r-- | src/nvim/os/nvim.rc | 2 |
3 files changed, 7 insertions, 14 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 344b4bef00..38b54082c3 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -120,8 +120,8 @@ elseif(MINGW) # Use POSIX compatible stdio in Mingw target_compile_definitions(main_lib INTERFACE __USE_MINGW_ANSI_STDIO) - # Enable wmain - target_link_libraries(nvim_bin PRIVATE -municode) + # wrapper for nvim.manifest + target_sources(main_lib INTERFACE ${CMAKE_CURRENT_LIST_DIR}/os/nvim.rc) elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU") target_compile_options(main_lib INTERFACE -Wno-conversion diff --git a/src/nvim/main.c b/src/nvim/main.c index 695bd4c95a..dc4969759d 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -111,6 +111,9 @@ #ifdef MSWIN # include "nvim/os/os_win_console.h" +# ifndef _UCRT +# error UCRT is the only supported C runtime on windows +# endif #endif #if defined(MSWIN) && !defined(MAKE_LIB) @@ -241,22 +244,10 @@ void early_init(mparm_T *paramp) #ifdef MAKE_LIB int nvim_main(int argc, char **argv); // silence -Wmissing-prototypes int nvim_main(int argc, char **argv) -#elif defined(MSWIN) -int wmain(int argc, wchar_t **argv_w) // multibyte args on Windows. #7060 #else int main(int argc, char **argv) #endif { -#if defined(MSWIN) && !defined(MAKE_LIB) - char **argv = xmalloc((size_t)argc * sizeof(char *)); - for (int i = 0; i < argc; i++) { - char *buf = NULL; - utf16_to_utf8(argv_w[i], -1, &buf); - assert(buf); - argv[i] = buf; - } -#endif - argv0 = argv[0]; if (!appname_is_valid()) { diff --git a/src/nvim/os/nvim.rc b/src/nvim/os/nvim.rc new file mode 100644 index 0000000000..e838c93c16 --- /dev/null +++ b/src/nvim/os/nvim.rc @@ -0,0 +1,2 @@ +#include "winuser.h" +2 RT_MANIFEST nvim.manifest |