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>
This commit is contained in:
Brad King
2026-05-04 10:47:08 -04:00
co-authored by Serguei E. Leontiev
parent 9db2cf5429
commit 12e6c14e69
2 changed files with 4 additions and 4 deletions
-4
View File
@@ -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"
+4
View File
@@ -7,6 +7,10 @@ __windows_compiler_pellesc(C)
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")