mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
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:
co-authored by
Serguei E. Leontiev
parent
9db2cf5429
commit
12e6c14e69
@@ -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"
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user