PellesC: Add default -Ze flag to support compilation against Windows APIs

The Pelles C compiler requires MS extensions to support `__declspec`
and other constructs needed to use Windows APIs.  Unfortunately the
flag also disables standard definitions, so restore them.

Issue: #21536
Co-authored-by: Serguei E. Leontiev <leo@sai.msu.ru>
diff --git a/.gitlab/ci/env_windows_pellesc13.01.ps1 b/.gitlab/ci/env_windows_pellesc13.01.ps1
index 4a8b1ca..84a38ac 100644
--- a/.gitlab/ci/env_windows_pellesc13.01.ps1
+++ b/.gitlab/ci/env_windows_pellesc13.01.ps1
@@ -1,6 +1,2 @@
 . .gitlab/ci/ninja-env.ps1
 . .gitlab/ci/pellesc-env.ps1
-
-# FIXME(#21536): Avoid requiring the end user to enable
-# Pelles C's Microsoft extensions to use Windows APIs.
-$env:CFLAGS = "-Ze"
diff --git a/Modules/Platform/Windows-PellesC-C.cmake b/Modules/Platform/Windows-PellesC-C.cmake
index a22251c..f5a3dad 100644
--- a/Modules/Platform/Windows-PellesC-C.cmake
+++ b/Modules/Platform/Windows-PellesC-C.cmake
@@ -7,6 +7,10 @@
 set(CMAKE_C_COMPILE_OBJECT
   "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -Fo<OBJECT> -c <SOURCE>")
 
+# Enable Pelles C's Microsoft extensions to use Windows APIs.
+# The flag also disables standard definitions, so add them.
+string(APPEND CMAKE_C_FLAGS_INIT " -Ze -D__STDC__=1 -D__STDC_VERSION__=__POCC_STDC_VERSION__")
+
 string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -Zi -Ob0")
 string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -Ot -Ob2 -DNDEBUG=1")
 string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -Zi -Ot -Ob1 -DNDEBUG=1")