Skip to content

Commit 0b8ad16

Browse files
azhirnovTheMostDiligent
authored andcommitted
D3D12: use cmake FetchContent to download WinPixEventRuntime
1 parent b911419 commit 0b8ad16

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

BuildTools/Scripts/github_actions/configure_cmake.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ if [ "$1" = "win10" ]; then
1212
fi
1313

1414
if [ "$1" = "win10-dev" ]; then
15-
cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -A $4 -DCMAKE_BUILD_TYPE=$3 -DDILIGENT_BUILD_TESTS=ON -DDILIGENT_NO_FORMAT_VALIDATION=ON -DCMAKE_INSTALL_PREFIX=install -DDILIGENT_DEVELOPMENT=ON ..
15+
cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -A $4 -DCMAKE_BUILD_TYPE=$3 -DDILIGENT_BUILD_TESTS=ON -DDILIGENT_NO_FORMAT_VALIDATION=ON -DDILIGENT_LOAD_PIX_EVENT_RUNTIME=ON -DCMAKE_INSTALL_PREFIX=install -DDILIGENT_DEVELOPMENT=ON ..
1616
fi
1717

1818
if [ "$1" = "win8" ]; then
1919
cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -A $4 -DCMAKE_BUILD_TYPE=$3 -DDILIGENT_BUILD_TESTS=ON -DDILIGENT_NO_FORMAT_VALIDATION=ON -DCMAKE_INSTALL_PREFIX=install -DCMAKE_SYSTEM_VERSION=8.1 ..
2020
fi
2121

2222
if [ "$1" = "uwp" ]; then
23-
cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -A $4 -DCMAKE_BUILD_TYPE=$3 -DDILIGENT_NO_FORMAT_VALIDATION=ON -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_INSTALL_PREFIX=install ..
23+
cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -A $4 -DCMAKE_BUILD_TYPE=$3 -DDILIGENT_NO_FORMAT_VALIDATION=ON -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 -DDILIGENT_LOAD_PIX_EVENT_RUNTIME=ON -DCMAKE_INSTALL_PREFIX=install ..
2424
fi
2525

2626
if [ "$1" = "macos" ]; then

Graphics/GraphicsEngineD3D12/CMakeLists.txt

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required (VERSION 3.10)
1+
cmake_minimum_required (VERSION 3.11)
22

33
project(Diligent-GraphicsEngineD3D12 CXX)
44

@@ -212,9 +212,23 @@ source_group("shaders" FILES
212212
shaders/GenerateMips/GenerateMipsCS.hlsli
213213
)
214214

215-
# User can download WinPixEventRuntime from https://www.nuget.org/packages/WinPixEventRuntime
216-
set(DILIGENT_PIX_EVENT_RUNTIME_PATH "" CACHE PATH "Path to WinPixEventRuntime to enable Direct3D12 debug utils")
217-
if(EXISTS "${DILIGENT_PIX_EVENT_RUNTIME_PATH}")
215+
option(DILIGENT_LOAD_PIX_EVENT_RUNTIME OFF "Download WinPixEventRuntime to enable Direct3D12 debug utils")
216+
if(${DILIGENT_LOAD_PIX_EVENT_RUNTIME})
217+
include(FetchContent)
218+
set(DILIGENT_PIX_EVENT_RUNTIME_PATH "${CMAKE_BINARY_DIR}/WinPixEventRuntime")
219+
FetchContent_Declare(
220+
WinPixEventRuntime
221+
URL "https://www.nuget.org/api/v2/package/WinPixEventRuntime"
222+
DOWNLOAD_DIR ${DILIGENT_PIX_EVENT_RUNTIME_PATH}
223+
LOG_DOWNLOAD 1
224+
SOURCE_DIR ${DILIGENT_PIX_EVENT_RUNTIME_PATH}
225+
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR}/WinPixEventRuntime/winpixeventruntime.*.nupkg"
226+
LOG_CONFIGURE 1
227+
)
228+
FetchContent_GetProperties(WinPixEventRuntime)
229+
if(NOT WinPixEventRuntime_POPULATED)
230+
FetchContent_Populate(WinPixEventRuntime)
231+
endif()
218232
if(EXISTS "${DILIGENT_PIX_EVENT_RUNTIME_PATH}/include/WinPixEventRuntime/pix3.h")
219233
if(PLATFORM_WIN32 AND ${CMAKE_SIZEOF_VOID_P} EQUAL 8)
220234
set(DILIGENT_PIX_EVENT_RUNTIME_DLL_PATH ${DILIGENT_PIX_EVENT_RUNTIME_PATH}/bin/x64/WinPixEventRuntime.dll)
@@ -241,9 +255,6 @@ if(EXISTS "${DILIGENT_PIX_EVENT_RUNTIME_PATH}")
241255
message(STATUS "'${DILIGENT_PIX_EVENT_RUNTIME_LIB_PATH}' is not valid. Pix events will be disabled")
242256
endif()
243257
endif()
244-
else()
245-
message(STATUS "Path to WinPixEventRuntime '${DILIGENT_PIX_EVENT_RUNTIME_PATH} is not valid, can't find 'pix3.h'")
246-
set(DILIGENT_PIX_EVENT_RUNTIME_PATH_VALID OFF)
247258
endif()
248259
endif()
249260

0 commit comments

Comments
 (0)