mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-09 09:12:00 +00:00
Merge topic 'pellesc-default-flags'
12e6c14e69PellesC: Add default -Ze flag to support compilation against Windows APIs9db2cf5429PellesC: Add default compilation and link flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !12000
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -6,3 +6,8 @@ __windows_compiler_pellesc(ASM_POASM)
|
||||
|
||||
set(CMAKE_ASM_POASM_COMPILE_OBJECT
|
||||
"<CMAKE_ASM_POASM_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -Fo<OBJECT> <SOURCE>")
|
||||
|
||||
string(APPEND CMAKE_ASM_POASM_FLAGS_DEBUG_INIT " -Zi")
|
||||
string(APPEND CMAKE_ASM_POASM_FLAGS_RELEASE_INIT "")
|
||||
string(APPEND CMAKE_ASM_POASM_FLAGS_RELWITHDEBINFO_INIT " -Zi")
|
||||
string(APPEND CMAKE_ASM_POASM_FLAGS_MINSIZEREL_INIT "")
|
||||
|
||||
@@ -6,3 +6,12 @@ __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")
|
||||
string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -Os -Ob1 -DNDEBUG=1")
|
||||
|
||||
@@ -6,6 +6,8 @@ set(CMAKE_LIBRARY_PATH_FLAG "-libpath:")
|
||||
set(CMAKE_LINK_DEF_FILE_FLAG "-def:")
|
||||
set(CMAKE_LINK_LIBRARY_FLAG "")
|
||||
|
||||
set(CMAKE_BUILD_TYPE_INIT Debug)
|
||||
|
||||
macro(__windows_compiler_pellesc lang)
|
||||
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_AR> <LINK_FLAGS> -out:<TARGET> <OBJECTS>")
|
||||
|
||||
@@ -27,3 +29,8 @@ macro(__windows_compiler_pellesc lang)
|
||||
endif()
|
||||
enable_language(RC)
|
||||
endmacro()
|
||||
|
||||
foreach (t IN ITEMS EXE SHARED MODULE)
|
||||
string(APPEND CMAKE_${t}_LINKER_FLAGS_DEBUG_INIT " -debug -debugtype:both -dbg")
|
||||
string(APPEND CMAKE_${t}_LINKER_FLAGS_RELWITHDEBINFO_INIT " -debug -debugtype:both -dbg")
|
||||
endforeach ()
|
||||
|
||||
Reference in New Issue
Block a user