# [PATCH] Remove (_)UNICODE def on Windows in CMakeLists.txt

4 messages from 2022-05-24 to 2022-05-25. Participants: Yuyi Wang via GitGitGadget, Johannes Schindelin, Yuyi Wang.
Thread: https://gitlist.dev/t/57917

## Yuyi Wang via GitGitGadget, 2022-05-24 12:57

Subject: [PATCH] Remove (_)UNICODE def on Windows in CMakeLists.txt
Message-ID: <pull.1269.git.git.1653397021384.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1269.git.git.1653397021384.gitgitgadget%40gmail.com

```
From: Yuyi Wang <Strawberry_Str@hotmail.com>

`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.

Signed-off-by: Yuyi Wang <Strawberry_Str@hotmail.com>
---
    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(-)

diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
index 185f56f414f..d52d973ab0d 100644
--- a/contrib/buildsystems/CMakeLists.txt
+++ b/contrib/buildsystems/CMakeLists.txt
@@ -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

```

## Johannes Schindelin, 2022-05-24 18:54

Subject: Re: [PATCH] Remove (_)UNICODE def on Windows in CMakeLists.txt
Message-ID: <nycvar.QRO.7.76.6.2205242046470.352@tvgsbejvaqbjf.bet>
URL: https://gitlist.dev/e/nycvar.QRO.7.76.6.2205242046470.352%40tvgsbejvaqbjf.bet
In-Reply-To: <pull.1269.git.git.1653397021384.gitgitgadget@gmail.com>

```
Hi,

On Tue, 24 May 2022, Yuyi Wang via GitGitGadget wrote:

> From: Yuyi Wang <Strawberry_Str@hotmail.com>
>
> `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.

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:

Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>

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.

>
> Signed-off-by: Yuyi Wang <Strawberry_Str@hotmail.com>
> ---
>     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(-)
>
> diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> index 185f56f414f..d52d973ab0d 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -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
>
>

```

## Yuyi Wang, 2022-05-24 19:09

Subject: Re: [PATCH] Remove (_)UNICODE def on Windows in CMakeLists.txt
Message-ID: <OSYP286MB0262561439C0C7F0265A749FF8D79@OSYP286MB0262.JPNP286.PROD.OUTLOOK.COM>
URL: https://gitlist.dev/e/OSYP286MB0262561439C0C7F0265A749FF8D79%40OSYP286MB0262.JPNP286.PROD.OUTLOOK.COM
In-Reply-To: <nycvar.QRO.7.76.6.2205242046470.352@tvgsbejvaqbjf.bet>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:

> 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.

```

## Johannes Schindelin, 2022-05-25 10:17

Subject: Re: [PATCH] Remove (_)UNICODE def on Windows in CMakeLists.txt
Message-ID: <nycvar.QRO.7.76.6.2205251216510.352@tvgsbejvaqbjf.bet>
URL: https://gitlist.dev/e/nycvar.QRO.7.76.6.2205251216510.352%40tvgsbejvaqbjf.bet
In-Reply-To: <OSYP286MB0262561439C0C7F0265A749FF8D79@OSYP286MB0262.JPNP286.PROD.OUTLOOK.COM>

```
Hi,

On Wed, 25 May 2022, Yuyi Wang wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>
> > 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

```
