@@ -181,17 +181,17 @@ set(SHADER_SOURCES
181181
182182# These source files are identical in both DX11 and DX12 version.
183183if (NOT BUILD_MIXED_DX11)
184- set (LIBRARY_HEADERS ${ LIBRARY_HEADERS}
184+ list ( APPEND LIBRARY_HEADERS
185185 Inc/SimpleMath.h
186186 Inc/SimpleMath.inl)
187187
188- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
188+ list ( APPEND LIBRARY_SOURCES
189189 Src/BinaryReader.cpp
190190 Src/Geometry.cpp
191191 Src/SimpleMath.cpp)
192192endif ()
193193
194- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
194+ list ( APPEND LIBRARY_SOURCES
195195 Src/AlignedNew.h
196196 Src/Bezier.h
197197 Src/BinaryReader.h
@@ -205,7 +205,7 @@ set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
205205 Src/vbo.h
206206 Src/TeapotData.inc)
207207
208- set (SHADER_SOURCES ${ SHADER_SOURCES}
208+ list ( APPEND SHADER_SOURCES
209209 Src/Shaders/Common.fxh
210210 Src/Shaders/Lighting.fxh
211211 Src/Shaders/PBRCommon.fxh
@@ -216,30 +216,30 @@ set(SHADER_SOURCES ${SHADER_SOURCES}
216216
217217# Xbox-specific extensions
218218if (DEFINED XBOX_CONSOLE_TARGET)
219- set (LIBRARY_HEADERS ${ LIBRARY_HEADERS}
219+ list ( APPEND LIBRARY_HEADERS
220220 Inc/XboxDDSTextureLoader.h)
221221
222- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
222+ list ( APPEND LIBRARY_SOURCES
223223 Src/XboxDDSTextureLoader.cpp)
224224endif ()
225225
226226if (BUILD_XINPUT OR BUILD_WGI OR BUILD_GAMEINPUT)
227- set (LIBRARY_HEADERS ${ LIBRARY_HEADERS}
227+ list ( APPEND LIBRARY_HEADERS
228228 Inc/GamePad.h
229229 Inc/Keyboard.h
230230 Inc/Mouse.h)
231231
232- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
232+ list ( APPEND LIBRARY_SOURCES
233233 Src/GamePad.cpp
234234 Src/Keyboard.cpp
235235 Src/Mouse.cpp)
236236endif ()
237237
238238if (BUILD_XAUDIO_WIN10 OR BUILD_XAUDIO_REDIST)
239- set (LIBRARY_HEADERS ${ LIBRARY_HEADERS}
239+ list ( APPEND LIBRARY_HEADERS
240240 Inc/Audio.h)
241241
242- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
242+ list ( APPEND LIBRARY_SOURCES
243243 Audio/AudioEngine.cpp
244244 Audio/DynamicSoundEffectInstance.cpp
245245 Audio/SoundCommon.cpp
@@ -264,7 +264,7 @@ else()
264264 file (TO_CMAKE_PATH ${COMPILED_SHADERS} COMPILED_SHADERS )
265265endif ()
266266
267- set (LIBRARY_SOURCES ${ LIBRARY_SOURCES}
267+ list ( APPEND LIBRARY_SOURCES
268268 ${COMPILED_SHADERS} /SpriteEffect_SpriteVertexShader.inc)
269269
270270if (BUILD_SCARLETT_SHADERS)
@@ -299,13 +299,17 @@ if(NOT USE_PREBUILT_SHADERS)
299299 HINTS "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_SYSTEM_VERSION} /${DIRECTX_HOST_ARCH} "
300300 "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_SYSTEM_VERSION} .0/${DIRECTX_HOST_ARCH} "
301301 "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /${DIRECTX_HOST_ARCH} " )
302- message (STATUS "Using DirectXShaderCompiler found in ${DIRECTX_DXC_TOOL} " )
302+ if (DIRECTX_DXC_TOOL)
303+ message (STATUS "Using DirectXShaderCompiler found in ${DIRECTX_DXC_TOOL} " )
304+ endif ()
303305 else ()
304306 find_program (DIRECTX_FXC_TOOL FXC.EXE
305307 HINTS "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_SYSTEM_VERSION} /${DIRECTX_HOST_ARCH} "
306308 "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_SYSTEM_VERSION} .0/${DIRECTX_HOST_ARCH} "
307309 "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /${DIRECTX_HOST_ARCH} " )
308- message (STATUS "Using LegacyShaderCompiler found in ${DIRECTX_FXC_TOOL} " )
310+ if (DIRECTX_FXC_TOOL)
311+ message (STATUS "Using LegacyShaderCompiler found in ${DIRECTX_FXC_TOOL} " )
312+ endif ()
309313 endif ()
310314 add_custom_command (
311315 OUTPUT "${COMPILED_SHADERS} /SpriteEffect_SpriteVertexShader.inc"
@@ -359,7 +363,8 @@ source_group(Inc REGULAR_EXPRESSION Inc/*.*)
359363source_group (Src REGULAR_EXPRESSION Src/*.* )
360364
361365target_include_directories (${PROJECT_NAME} PUBLIC
362- $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} /Inc >
366+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} /Inc >)
367+ target_include_directories (${PROJECT_NAME} SYSTEM INTERFACE
363368 $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} /directxtk12 >)
364369
365370target_compile_features (${PROJECT_NAME} PUBLIC cxx_std_11 )
@@ -382,13 +387,17 @@ endif()
382387
383388if (directxmath_FOUND)
384389 message (STATUS "Using DirectXMath package" )
385- target_link_libraries (${PROJECT_NAME} PRIVATE Microsoft::DirectXMath )
390+ if (NOT MINGW)
391+ target_link_libraries (${PROJECT_NAME} PRIVATE Microsoft::DirectXMath )
392+ endif ()
386393endif ()
387394
388395if (directx-headers_FOUND)
389396 message (STATUS "Using DirectX-Headers package" )
390- target_link_libraries (${PROJECT_NAME} PRIVATE Microsoft::DirectX-Headers )
391- target_compile_definitions (${PROJECT_NAME} PRIVATE USING_DIRECTX_HEADERS )
397+ if (NOT MINGW)
398+ target_link_libraries (${PROJECT_NAME} PRIVATE Microsoft::DirectX-Headers )
399+ target_compile_definitions (${PROJECT_NAME} PRIVATE USING_DIRECTX_HEADERS )
400+ endif ()
392401endif ()
393402
394403if (BUILD_XAUDIO_REDIST AND (NOT BUILD_XAUDIO_WIN10))
@@ -455,10 +464,9 @@ install(FILES
455464 DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} /${PACKAGE_NAME} )
456465
457466# Create pkg-config file
458- include (build /JoinPaths.cmake )
459467# from: https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
460- join_paths ( DIRECTXTK12_INCLUDEDIR_FOR_PKG_CONFIG "\$ {prefix}" "${CMAKE_INSTALL_INCLUDEDIR} " )
461- join_paths ( DIRECTXTK12_LIBDIR_FOR_PKG_CONFIG "\$ {prefix}" "${CMAKE_INSTALL_LIBDIR} " )
468+ cmake_path ( APPEND DIRECTXTK12_INCLUDEDIR_FOR_PKG_CONFIG "\$ {prefix}" "${CMAKE_INSTALL_INCLUDEDIR} " )
469+ cmake_path ( APPEND DIRECTXTK12_LIBDIR_FOR_PKG_CONFIG "\$ {prefix}" "${CMAKE_INSTALL_LIBDIR} " )
462470
463471set (DIRECTXTK12_DEP_L "" )
464472if (directxmath_FOUND)
@@ -506,8 +514,6 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
506514 if (BUILD_SHARED_LIBS )
507515 target_compile_options (${PROJECT_NAME} PRIVATE "-Wno-attributes" )
508516 endif ()
509- elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel" )
510- set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 )
511517elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
512518 if (BUILD_SHARED_LIBS )
513519 target_compile_options (${PROJECT_NAME} PRIVATE /wd4251 /wd4275 )
@@ -530,8 +536,8 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
530536 target_compile_options (${PROJECT_NAME} PRIVATE "/Qspectre" )
531537 endif ()
532538
533-
534539 if (BUILD_FUZZING AND (NOT WINDOWS_STORE ))
540+ # Prevent fuzzing builds (which is otherwise configured as a Release mode) from disabling assertions
535541 string (REPLACE "/DNDEBUG" "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} )
536542 string (REPLACE "/DNDEBUG" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} )
537543
@@ -560,8 +566,6 @@ if(WIN32)
560566 endif ()
561567endif ()
562568
563- set_property (DIRECTORY PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME} )
564-
565569#--- Test suite
566570if (WIN32 AND (NOT WINDOWS_STORE ) AND (NOT (DEFINED XBOX_CONSOLE_TARGET)))
567571 include (CTest )
0 commit comments