From c9c5d140b84685a03dc59b930cebb802b4c14892 Mon Sep 17 00:00:00 2001 From: Danila Malyutin Date: Sat, 13 May 2023 23:58:17 +0400 Subject: [PATCH 1/2] Use TARGET_FILE_DIR generator expression Use $ where appropriate instead of trying to guess where the binary will end up. --- CMakeModules/CopyYuzuFFmpegDeps.cmake | 2 +- CMakeModules/CopyYuzuQt5Deps.cmake | 2 +- CMakeModules/CopyYuzuSDLDeps.cmake | 2 +- src/yuzu/CMakeLists.txt | 6 +----- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/CMakeModules/CopyYuzuFFmpegDeps.cmake b/CMakeModules/CopyYuzuFFmpegDeps.cmake index c6231737e..7aaa073ee 100644 --- a/CMakeModules/CopyYuzuFFmpegDeps.cmake +++ b/CMakeModules/CopyYuzuFFmpegDeps.cmake @@ -3,7 +3,7 @@ function(copy_yuzu_FFmpeg_deps target_dir) include(WindowsCopyFiles) - set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$/") + set(DLL_DEST "$/") file(READ "${FFmpeg_PATH}/requirements.txt" FFmpeg_REQUIRED_DLLS) string(STRIP "${FFmpeg_REQUIRED_DLLS}" FFmpeg_REQUIRED_DLLS) windows_copy_files(${target_dir} ${FFmpeg_DLL_DIR} ${DLL_DEST} ${FFmpeg_REQUIRED_DLLS}) diff --git a/CMakeModules/CopyYuzuQt5Deps.cmake b/CMakeModules/CopyYuzuQt5Deps.cmake index ab56de444..b3a65c347 100644 --- a/CMakeModules/CopyYuzuQt5Deps.cmake +++ b/CMakeModules/CopyYuzuQt5Deps.cmake @@ -4,7 +4,7 @@ function(copy_yuzu_Qt5_deps target_dir) include(WindowsCopyFiles) if (MSVC) - set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$/") + set(DLL_DEST "$/") set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") else() set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/") diff --git a/CMakeModules/CopyYuzuSDLDeps.cmake b/CMakeModules/CopyYuzuSDLDeps.cmake index 7ffdd8a1d..464eed5e9 100644 --- a/CMakeModules/CopyYuzuSDLDeps.cmake +++ b/CMakeModules/CopyYuzuSDLDeps.cmake @@ -3,6 +3,6 @@ function(copy_yuzu_SDL_deps target_dir) include(WindowsCopyFiles) - set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$/") + set(DLL_DEST "$/") windows_copy_files(${target_dir} ${SDL2_DLL_DIR} ${DLL_DEST} SDL2.dll) endfunction(copy_yuzu_SDL_deps) diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 2d7b9ab65..84d9ca796 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -378,11 +378,7 @@ if(UNIX AND NOT APPLE) endif() if (WIN32 AND QT_VERSION VERSION_GREATER_EQUAL 6) - if (MSVC AND NOT ${CMAKE_GENERATOR} STREQUAL "Ninja") - set(YUZU_EXE_DIR "${CMAKE_BINARY_DIR}/bin/$") - else() - set(YUZU_EXE_DIR "${CMAKE_BINARY_DIR}/bin") - endif() + set(YUZU_EXE_DIR "$") add_custom_command(TARGET yuzu POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} "${YUZU_EXE_DIR}/yuzu.exe" --dir "${YUZU_EXE_DIR}" --libdir "${YUZU_EXE_DIR}" --plugindir "${YUZU_EXE_DIR}/plugins" --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler --no-translations --verbose 0) endif() From 7325fb054dda17fb56f4485806af3fa06a16c9a5 Mon Sep 17 00:00:00 2001 From: Danila Malyutin Date: Sun, 14 May 2023 01:23:07 +0300 Subject: [PATCH 2/2] Fixup upload.ps1 for GHA No extra folders are created with ninja generator after previous CMake fixes. --- .ci/scripts/windows/upload.ps1 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 index 21abcd752..492763420 100644 --- a/.ci/scripts/windows/upload.ps1 +++ b/.ci/scripts/windows/upload.ps1 @@ -26,7 +26,11 @@ $env:BUILD_ZIP = $MSVC_BUILD_ZIP $env:BUILD_SYMBOLS = $MSVC_BUILD_PDB $env:BUILD_UPDATE = $MSVC_SEVENZIP -$BUILD_DIR = ".\build\bin\Release" +if (Test-Path -Path ".\build\bin\Release") { + $BUILD_DIR = ".\build\bin\Release" +} else { + $BUILD_DIR = ".\build\bin\" +} # Cleanup unneeded data in submodules git submodule foreach git clean -fxd