@@ -73,6 +73,7 @@ if((DEFINED XBOX_CONSOLE_TARGET) AND (NOT (XBOX_CONSOLE_TARGET STREQUAL "durango
73
73
endif ()
74
74
75
75
include (GNUInstallDirs)
76
+ include (build /CompilerAndLinker.cmake)
76
77
77
78
#--- Library
78
79
set (LIBRARY_HEADERS
@@ -142,16 +143,17 @@ elseif((BUILD_XBOX_EXTS_XBOXONE OR BUILD_XBOX_EXTS_SCARLETT) AND WIN32)
142
143
Auxiliary/DirectXTexXboxTile.cpp)
143
144
endif ()
144
145
145
- set (SHADER_SOURCES
146
- DirectXTex/Shaders/BC6HEncode.hlsl
147
- DirectXTex/Shaders/BC7Encode.hlsl)
148
146
149
- if (BUILD_DX11 AND WIN32 )
150
- list (APPEND LIBRARY_SOURCES
151
- DirectXTex/BCDirectCompute.h
152
- DirectXTex/BCDirectCompute.cpp
153
- DirectXTex/DirectXTexCompressGPU.cpp
154
- DirectXTex/DirectXTexD3D11.cpp)
147
+ if (BUILD_DX11 AND WIN32 AND (NOT (XBOX_CONSOLE_TARGET STREQUAL "durango" )))
148
+ set (SHADER_SOURCES
149
+ DirectXTex/Shaders/BC6HEncode.hlsl
150
+ DirectXTex/Shaders/BC7Encode.hlsl)
151
+
152
+ list (APPEND LIBRARY_SOURCES
153
+ DirectXTex/BCDirectCompute.h
154
+ DirectXTex/BCDirectCompute.cpp
155
+ DirectXTex/DirectXTexCompressGPU.cpp
156
+ DirectXTex/DirectXTexD3D11.cpp)
155
157
endif ()
156
158
157
159
if (BUILD_DX12)
@@ -183,7 +185,7 @@ if(ENABLE_LIBPNG_SUPPORT)
183
185
list (APPEND LIBRARY_SOURCES Auxiliary/DirectXTexPNG.cpp)
184
186
endif ()
185
187
186
- if (BUILD_DX11 AND WIN32 )
188
+ if (BUILD_DX11 AND WIN32 AND ( NOT (XBOX_CONSOLE_TARGET STREQUAL "durango" )) )
187
189
if (NOT COMPILED_SHADERS)
188
190
if (USE_PREBUILT_SHADERS)
189
191
message (FATAL_ERROR "ERROR: Using prebuilt shaders requires the COMPILED_SHADERS variable is set" )
@@ -197,12 +199,16 @@ if(BUILD_DX11 AND WIN32)
197
199
list (APPEND LIBRARY_SOURCES ${COMPILED_SHADERS} /BC6HEncode_EncodeBlockCS.inc)
198
200
199
201
if (NOT USE_PREBUILT_SHADERS)
202
+ find_program (DIRECTX_FXC_TOOL FXC.EXE
203
+ HINTS "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_SYSTEM_VERSION} /${DIRECTX_HOST_ARCH} "
204
+ "C:/Program Files (x86)/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /${DIRECTX_HOST_ARCH} " )
205
+ message (STATUS "Using LegacyShaderCompiler found in ${DIRECTX_FXC_TOOL} " )
200
206
add_custom_command (
201
207
OUTPUT "${COMPILED_SHADERS} /BC6HEncode_EncodeBlockCS.inc"
202
208
MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR} /DirectXTex/Shaders/CompileShaders.cmd"
203
209
DEPENDS ${SHADER_SOURCES}
204
210
COMMENT "Generating HLSL shaders..."
205
- COMMAND ${CMAKE_COMMAND} -E env CompileShadersOutput="${COMPILED_SHADERS} " CompileShaders.cmd > "${COMPILED_SHADERS} /compileshaders.log"
211
+ COMMAND ${CMAKE_COMMAND} -E env CompileShadersOutput="${COMPILED_SHADERS} " $<$< BOOL : ${DIRECTX_FXC_TOOL} >:LegacyShaderCompiler= ${DIRECTX_FXC_TOOL} > CompileShaders.cmd > "${COMPILED_SHADERS} /compileshaders.log"
206
212
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR} /DirectXTex/Shaders"
207
213
USES_TERMINAL )
208
214
endif ()
@@ -319,6 +325,7 @@ if(directx-headers_FOUND)
319
325
message (STATUS "Using DirectX-Headers package" )
320
326
target_link_libraries (${PROJECT_NAME} PUBLIC Microsoft::DirectX-Headers)
321
327
target_compile_definitions (${PROJECT_NAME} PUBLIC USING_DIRECTX_HEADERS)
328
+ target_compile_options (${PROJECT_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC ,Intel>:/wd4062> $<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-switch-enum>)
322
329
endif ()
323
330
324
331
#--- Package
@@ -520,8 +527,6 @@ if(MSVC)
520
527
endif ()
521
528
endif ()
522
529
523
- include (build /CompilerAndLinker.cmake)
524
-
525
530
foreach (t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME} )
526
531
target_compile_definitions (${t} PRIVATE ${COMPILER_DEFINES} )
527
532
target_compile_options (${t} PRIVATE ${COMPILER_SWITCHES} )
0 commit comments