Skip to content

Commit f6fede3

Browse files
authored
CMake updates (#561)
1 parent 6cc310e commit f6fede3

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

CMakeLists.txt

-6
Original file line numberDiff line numberDiff line change
@@ -544,12 +544,6 @@ foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
544544
target_link_options(${t} PRIVATE ${LINKER_SWITCHES})
545545
endforeach()
546546

547-
if(MINGW)
548-
foreach(t IN LISTS TOOL_EXES)
549-
target_link_options(${t} PRIVATE -municode)
550-
endforeach()
551-
endif()
552-
553547
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")
554548
set(WarningsLib -Wall -Wpedantic -Wextra)
555549

build/CompilerAndLinker.cmake

+22-4
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,20 @@ if(WIN32)
5050
list(APPEND COMPILER_DEFINES _UNICODE UNICODE)
5151
endif()
5252

53+
if(MINGW)
54+
list(APPEND LINKER_SWITCHES -municode)
55+
endif()
56+
5357
#--- General MSVC-like SDL options
5458
if(MSVC)
5559
list(APPEND COMPILER_SWITCHES "$<$<NOT:$<CONFIG:DEBUG>>:/guard:cf>")
5660
list(APPEND LINKER_SWITCHES /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO)
5761

62+
if(WINDOWS_STORE)
63+
list(APPEND COMPILER_SWITCHES /bigobj)
64+
list(APPEND LINKER_SWITCHES /APPCONTAINER /MANIFEST:NO)
65+
endif()
66+
5867
if((${DIRECTX_ARCH} STREQUAL "x86")
5968
OR ((CMAKE_SIZEOF_VOID_P EQUAL 4) AND (NOT (${DIRECTX_ARCH} MATCHES "^arm"))))
6069
list(APPEND LINKER_SWITCHES /SAFESEH)
@@ -95,11 +104,19 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")
95104
if(MSVC AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0))
96105
list(APPEND COMPILER_SWITCHES /ZH:SHA_256)
97106
endif()
107+
108+
if(WINDOWS_STORE)
109+
list(APPEND COMPILER_DEFINES _SILENCE_CLANG_COROUTINE_MESSAGE)
110+
endif()
98111
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
99112
list(APPEND COMPILER_SWITCHES /Zc:__cplusplus /Zc:inline /fp:fast /Qdiag-disable:161)
100113
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
101114
list(APPEND COMPILER_SWITCHES /sdl /Zc:inline /fp:fast)
102115

116+
if(WINDOWS_STORE)
117+
list(APPEND COMPILER_SWITCHES /await)
118+
endif()
119+
103120
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
104121
message(STATUS "Building using Whole Program Optimization")
105122
list(APPEND COMPILER_SWITCHES $<$<NOT:$<CONFIG:Debug>>:/Gy /Gw>)
@@ -149,16 +166,17 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
149166
list(APPEND COMPILER_SWITCHES /Zc:lambda)
150167
endif()
151168

152-
if((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.29)
153-
AND (NOT VCPKG_TOOLCHAIN))
154-
list(APPEND COMPILER_SWITCHES /external:W4)
155-
endif()
169+
# GDKX scenarios can't use external:W4
156170

157171
if((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.31)
158172
AND (XBOX_CONSOLE_TARGET STREQUAL "durango"))
159173
list(APPEND COMPILER_SWITCHES /Zc:static_assert-)
160174
endif()
161175

176+
if(WINDOWS_STORE AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.32))
177+
list(APPEND COMPILER_SWITCHES "/wd5246")
178+
endif()
179+
162180
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
163181
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
164182
list(APPEND COMPILER_SWITCHES $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)

0 commit comments

Comments
 (0)