Skip to contentSkip to conversation

Remove (_)UNICODE def on Windows in CMakeLists.txt

PATCH In review Yuyi Wang via GitGitGadget 3 participants 4 messages May 24, 2022 – May 25, 2022

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove (_)UNICODE def on Windows in CMakeLists.txt

From: Yuyi Wang <[email protected]>

UNICODE and _UNICODE are not required when building git on Windows. Actually, they should not be predefined at all.

There're 2 evidences that (_)UNICODE is supposed to be nonexist:

compat/win32/trace2_win32_process_info.c:83: It uses jw_array_string which accepts pe32.szExeFile as const char*.

t/helper/test-drop-caches.c:16: Calling to GetCurrentDirectory with Buffer as char*.

The autotools build system never defines UNICODE and _UNICODE and builds on Windows well.

---
Remove (_)UNICODE def on Windows in CMakeLists.txt

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1269%2FBerrysoft%2Fcmake%2Fwincompat-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1269/Berrysoft/cmake/wincompat-v1
Pull-Request: https://github.com/git/git/pull/1269

 contrib/buildsystems/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
contrib/buildsystems/CMakeLists.txt +1 -1
index 185f56f414f..d52d973ab0d 100644
@@ -260,7 +260,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
 				_CONSOLE DETECT_MSYS_TTY STRIP_EXTENSION=".exe"  NO_SYMLINK_HEAD UNRELIABLE_FSTAT
 				NOGDI OBJECT_CREATION_MODE=1 __USE_MINGW_ANSI_STDIO=0
 				USE_NED_ALLOCATOR OVERRIDE_STRDUP MMAP_PREVENTS_DELETE USE_WIN32_MMAP
-				UNICODE _UNICODE HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
+				HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
 	list(APPEND compat_SOURCES
 		compat/mingw.c
 		compat/winansi.c

base-commit: 7a3eb286977746bc09a5de7682df0e5a7085e17c

Signature · 1 line
gitgitgadget
Acked-by on v1 1/1
#1 lore raw

Hi,

Quoted 7 lines · Yuyi Wang via GitGitGadget

From: Yuyi Wang <[email protected]>

UNICODE and _UNICODE are not required when building git on Windows. Actually, they should not be predefined at all.

There're 2 evidences that (_)UNICODE is supposed to be nonexist:

Quoted 8 lines

compat/win32/trace2_win32_process_info.c:83: It uses jw_array_string which accepts pe32.szExeFile as const char*.

t/helper/test-drop-caches.c:16: Calling to GetCurrentDirectory with Buffer as char*.

The autotools build system never defines UNICODE and _UNICODE and builds on Windows well.

It _is_ true that we make a point of using the *W() suffix explicitly to ensure that we use the Unicode variants of the Win32 API functions.

And it is also true that we do not explicitly define UNICODE in config.mak.uname.

Therefore this patch is:

Ciao,
Dscho

P.S.: Please note that the Git mailing list silently drops all mails from @hotmail.com addresses, as far as I remember. Therefore, if you reply, it may never reach the list.

Quoted 31 lines

---
Remove (_)UNICODE def on Windows in CMakeLists.txt

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1269%2FBerrysoft%2Fcmake%2Fwincompat-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1269/Berrysoft/cmake/wincompat-v1
Pull-Request: https://github.com/git/git/pull/1269

 contrib/buildsystems/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
contrib/buildsystems/CMakeLists.txt +1 -1
index 185f56f414f..d52d973ab0d 100644
@@ -260,7 +260,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
 				_CONSOLE DETECT_MSYS_TTY STRIP_EXTENSION=".exe"  NO_SYMLINK_HEAD UNRELIABLE_FSTAT
 				NOGDI OBJECT_CREATION_MODE=1 __USE_MINGW_ANSI_STDIO=0
 				USE_NED_ALLOCATOR OVERRIDE_STRDUP MMAP_PREVENTS_DELETE USE_WIN32_MMAP
-				UNICODE _UNICODE HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
+				HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
 	list(APPEND compat_SOURCES
 		compat/mingw.c
 		compat/winansi.c

base-commit: 7a3eb286977746bc09a5de7682df0e5a7085e17c --
gitgitgadget

#2 lore raw
Quoted 3 lines · Johannes Schindelin

P.S.: Please note that the Git mailing list silently drops all mails from @hotmail.com addresses, as far as I remember. Therefore, if you reply, it may never reach the list.

Thanks for your remind! However, it seems that my reply reaches the list successfully with hotmail address.

#3 lore raw

Hi,

Quoted 8 lines · Yuyi Wang
Quoted 3 lines · Johannes Schindelin

P.S.: Please note that the Git mailing list silently drops all mails from @hotmail.com addresses, as far as I remember. Therefore, if you reply, it may never reach the list.

Thanks for your remind! However, it seems that my reply reaches the list successfully with hotmail address.

Oh, that's good news! I am glad that this was fixed.

Thanks,
Dscho