From 277c03aca0bfbb036eab7006deeb78c88887d8e7 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Fri, 17 Apr 2020 01:56:11 +1000 Subject: [PATCH] Add auto-generated Git version to window titles --- duckstation.sln | 18 + src/CMakeLists.txt | 1 + src/duckstation-qt/CMakeLists.txt | 2 +- src/duckstation-qt/duckstation-qt.vcxproj | 3 + src/duckstation-qt/mainwindow.cpp | 10 +- src/duckstation-sdl/CMakeLists.txt | 2 +- src/duckstation-sdl/duckstation-sdl.vcxproj | 5 +- src/duckstation-sdl/sdl_host_interface.cpp | 10 +- src/frontend-common/CMakeLists.txt | 2 +- src/frontend-common/common_host_interface.cpp | 3 +- src/scmversion/.gitignore | 1 + src/scmversion/CMakeLists.txt | 11 + src/scmversion/gen_scmversion.bat | 23 + src/scmversion/gen_scmversion.sh | 25 + src/scmversion/scmversion.h | 5 + src/scmversion/scmversion.vcxproj | 516 ++++++++++++++++++ src/scmversion/scmversion.vcxproj.filters | 13 + 17 files changed, 642 insertions(+), 8 deletions(-) create mode 100644 src/scmversion/.gitignore create mode 100644 src/scmversion/CMakeLists.txt create mode 100644 src/scmversion/gen_scmversion.bat create mode 100755 src/scmversion/gen_scmversion.sh create mode 100644 src/scmversion/scmversion.h create mode 100644 src/scmversion/scmversion.vcxproj create mode 100644 src/scmversion/scmversion.vcxproj.filters diff --git a/duckstation.sln b/duckstation.sln index 79be65e9e..ff49bc430 100644 --- a/duckstation.sln +++ b/duckstation.sln @@ -47,6 +47,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "googletest", "dep\googletes EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common-tests", "src\common-tests\common-tests.vcxproj", "{EA2B9C7A-B8CC-42F9-879B-191A98680C10}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scmversion", "src\scmversion\scmversion.vcxproj", "{075CED82-6A20-46DF-94C7-9624AC9DDBEB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -395,6 +397,22 @@ Global {EA2B9C7A-B8CC-42F9-879B-191A98680C10}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64 {EA2B9C7A-B8CC-42F9-879B-191A98680C10}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32 {EA2B9C7A-B8CC-42F9-879B-191A98680C10}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Debug|x64.ActiveCfg = Debug|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Debug|x64.Build.0 = Debug|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Debug|x86.ActiveCfg = Debug|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Debug|x86.Build.0 = Debug|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.DebugFast|x64.ActiveCfg = DebugFast|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.DebugFast|x64.Build.0 = DebugFast|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.DebugFast|x86.ActiveCfg = DebugFast|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.DebugFast|x86.Build.0 = DebugFast|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Release|x64.ActiveCfg = Release|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Release|x64.Build.0 = Release|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Release|x86.ActiveCfg = Release|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.Release|x86.Build.0 = Release|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.ReleaseLTCG|x64.ActiveCfg = ReleaseLTCG|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32 + {075CED82-6A20-46DF-94C7-9624AC9DDBEB}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 89181315f..9811a7b81 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,7 @@ add_subdirectory(common) add_subdirectory(common-tests) add_subdirectory(core) add_subdirectory(frontend-common) +add_subdirectory(scmversion) if(BUILD_SDL_FRONTEND) add_subdirectory(duckstation-sdl) diff --git a/src/duckstation-qt/CMakeLists.txt b/src/duckstation-qt/CMakeLists.txt index 12b6a0bfa..2c1c8e842 100644 --- a/src/duckstation-qt/CMakeLists.txt +++ b/src/duckstation-qt/CMakeLists.txt @@ -48,7 +48,7 @@ add_executable(duckstation-qt settingsdialog.ui ) -target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network) +target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip scmversion Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network) if(WIN32) target_sources(duckstation-qt PRIVATE diff --git a/src/duckstation-qt/duckstation-qt.vcxproj b/src/duckstation-qt/duckstation-qt.vcxproj index d4404eb79..1175129e7 100644 --- a/src/duckstation-qt/duckstation-qt.vcxproj +++ b/src/duckstation-qt/duckstation-qt.vcxproj @@ -95,6 +95,9 @@ {6245dec8-d2da-47ee-a373-cbd6fcf3ece6} + + {075ced82-6a20-46df-94c7-9624ac9ddbeb} + diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index 0dc20e8e4..8e07f022e 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -8,6 +8,7 @@ #include "qtdisplaywidget.h" #include "qthostinterface.h" #include "qtsettingsinterface.h" +#include "scmversion/scmversion.h" #include "settingsdialog.h" #include "settingwidgetbinder.h" #include @@ -24,6 +25,11 @@ static constexpr char DISC_IMAGE_FILTER[] = "All File Types (*.bin *.img *.cue *.chd *.exe *.psexe);;Single-Track Raw Images (*.bin *.img);;Cue Sheets " "(*.cue);;MAME CHD Images (*.chd);;PlayStation Executables (*.exe *.psexe);;Portable Sound Format Files (*.psf)"; +ALWAYS_INLINE static QString getWindowTitle() +{ + return QStringLiteral("DuckStation %1 (%2)").arg(g_scm_tag_str).arg(g_scm_branch_str); +} + MainWindow::MainWindow(QtHostInterface* host_interface) : QMainWindow(nullptr), m_host_interface(host_interface) { m_host_interface->setMainWindow(this); @@ -209,7 +215,7 @@ void MainWindow::onRunningGameChanged(const QString& filename, const QString& ga { m_host_interface->populateSaveStateMenus(game_code.toStdString().c_str(), m_ui.menuLoadState, m_ui.menuSaveState); if (game_title.isEmpty()) - setWindowTitle(tr("DuckStation")); + setWindowTitle(getWindowTitle()); else setWindowTitle(game_title); @@ -368,6 +374,8 @@ void MainWindow::onGameListContextMenuRequested(const QPoint& point, const GameL void MainWindow::setupAdditionalUi() { + setWindowTitle(getWindowTitle()); + m_game_list_widget = new GameListWidget(m_ui.mainContainer); m_game_list_widget->initialize(m_host_interface); m_ui.mainContainer->insertWidget(0, m_game_list_widget); diff --git a/src/duckstation-sdl/CMakeLists.txt b/src/duckstation-sdl/CMakeLists.txt index b25b4a4b6..8d7120851 100644 --- a/src/duckstation-sdl/CMakeLists.txt +++ b/src/duckstation-sdl/CMakeLists.txt @@ -10,7 +10,7 @@ add_executable(duckstation-sdl ) target_include_directories(duckstation-sdl PRIVATE ${SDL2_INCLUDE_DIRS}) -target_link_libraries(duckstation-sdl PRIVATE core common imgui nativefiledialog glad frontend-common ${SDL2_LIBRARIES}) +target_link_libraries(duckstation-sdl PRIVATE core common imgui nativefiledialog glad frontend-common scmversion ${SDL2_LIBRARIES}) if(WIN32) target_sources(duckstation-sdl PRIVATE diff --git a/src/duckstation-sdl/duckstation-sdl.vcxproj b/src/duckstation-sdl/duckstation-sdl.vcxproj index 300527d76..f0fd4e9c2 100644 --- a/src/duckstation-sdl/duckstation-sdl.vcxproj +++ b/src/duckstation-sdl/duckstation-sdl.vcxproj @@ -50,6 +50,9 @@ {6245dec8-d2da-47ee-a373-cbd6fcf3ece6} + + {075ced82-6a20-46df-94c7-9624ac9ddbeb} + @@ -395,4 +398,4 @@ - + \ No newline at end of file diff --git a/src/duckstation-sdl/sdl_host_interface.cpp b/src/duckstation-sdl/sdl_host_interface.cpp index a37d482b3..c0d205a61 100644 --- a/src/duckstation-sdl/sdl_host_interface.cpp +++ b/src/duckstation-sdl/sdl_host_interface.cpp @@ -16,6 +16,7 @@ #include "imgui_impl_sdl.h" #include "opengl_host_display.h" #include "sdl_key_names.h" +#include "scmversion/scmversion.h" #include #include #include @@ -39,6 +40,11 @@ const char* SDLHostInterface::GetFrontendName() const return "DuckStation SDL/ImGui Frontend"; } +ALWAYS_INLINE static TinyString GetWindowTitle() +{ + return TinyString::FromFormat("DuckStation %s (%s)", g_scm_tag_str, g_scm_branch_str); +} + float SDLHostInterface::GetDPIScaleFactor(SDL_Window* window) { #ifdef __APPLE__ @@ -91,7 +97,7 @@ bool SDLHostInterface::CreateSDLWindow() } #endif - m_window = SDL_CreateWindow("DuckStation", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, window_width, + m_window = SDL_CreateWindow(GetWindowTitle(), SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, window_width, window_height, window_flags); if (!m_window) return false; @@ -272,7 +278,7 @@ void SDLHostInterface::OnRunningGameChanged() if (m_system && !m_system->GetRunningTitle().empty()) SDL_SetWindowTitle(m_window, m_system->GetRunningTitle().c_str()); else - SDL_SetWindowTitle(m_window, "DuckStation"); + SDL_SetWindowTitle(m_window, GetWindowTitle()); } void SDLHostInterface::RequestExit() diff --git a/src/frontend-common/CMakeLists.txt b/src/frontend-common/CMakeLists.txt index 63c901df5..8ae1a95a8 100644 --- a/src/frontend-common/CMakeLists.txt +++ b/src/frontend-common/CMakeLists.txt @@ -25,5 +25,5 @@ if(SDL2_FOUND) target_link_libraries(frontend-common PRIVATE ${SDL2_LIBRARIES}) endif() -target_link_libraries(frontend-common PUBLIC core common imgui simpleini) +target_link_libraries(frontend-common PUBLIC core common imgui simpleini scmversion) diff --git a/src/frontend-common/common_host_interface.cpp b/src/frontend-common/common_host_interface.cpp index 886400ff1..0b3a8b632 100644 --- a/src/frontend-common/common_host_interface.cpp +++ b/src/frontend-common/common_host_interface.cpp @@ -9,6 +9,7 @@ #include "core/game_list.h" #include "core/gpu.h" #include "core/system.h" +#include "scmversion/scmversion.h" #ifdef WITH_SDL2 #include "sdl_audio_stream.h" #include "sdl_controller_interface.h" @@ -98,7 +99,7 @@ void CommonHostInterface::PowerOffSystem() static void PrintCommandLineVersion(const char* frontend_name) { - std::fprintf(stderr, "%s Version \n", frontend_name); + std::fprintf(stderr, "%s Version %s (%s)\n", frontend_name, g_scm_tag_str, g_scm_branch_str); std::fprintf(stderr, "https://github.com/stenzek/duckstation\n"); std::fprintf(stderr, "\n"); } diff --git a/src/scmversion/.gitignore b/src/scmversion/.gitignore new file mode 100644 index 000000000..e28644b2f --- /dev/null +++ b/src/scmversion/.gitignore @@ -0,0 +1 @@ +scmversion.cpp diff --git a/src/scmversion/CMakeLists.txt b/src/scmversion/CMakeLists.txt new file mode 100644 index 000000000..1d4121ea5 --- /dev/null +++ b/src/scmversion/CMakeLists.txt @@ -0,0 +1,11 @@ +if(WIN32) + add_custom_command(OUTPUT scmversion.cpp COMMAND "cmd /k gen_scmversion.bat" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") +else() + add_custom_command(OUTPUT scmversion.cpp COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/gen_scmversion.sh") +endif() + +add_library(scmversion + scmversion.cpp + scmversion.h +) + diff --git a/src/scmversion/gen_scmversion.bat b/src/scmversion/gen_scmversion.bat new file mode 100644 index 000000000..616d49b79 --- /dev/null +++ b/src/scmversion/gen_scmversion.bat @@ -0,0 +1,23 @@ +@echo off + +SET VERSIONFILE="scmversion.cpp" +FOR /F "tokens=* USEBACKQ" %%g IN (`git rev-parse --abbrev-ref HEAD`) do (SET "BRANCH=%%g") +FOR /F "tokens=* USEBACKQ" %%g IN (`git describe --tags --dirty`) do (SET "TAG=%%g") + +SET SIGNATURELINE=// %BRANCH% %TAG% +SET /P EXISTINGLINE=< %VERSIONFILE% + +IF "%EXISTINGLINE%"=="%SIGNATURELINE%" ( + ECHO Signature matches, skipping writing %VERSIONFILE% + EXIT +) + +ECHO Updating %VERSIONFILE%... + +(ECHO %SIGNATURELINE% +ECHO const char* g_scm_branch_str = "%BRANCH%"; +ECHO const char* g_scm_tag_str = "%TAG%"; +)>%VERSIONFILE% + +EXIT + diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh new file mode 100755 index 000000000..6c93b8462 --- /dev/null +++ b/src/scmversion/gen_scmversion.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +VERSION_FILE="scmversion.cpp" +BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n') +TAG=$(git describe --tags --dirty | tr -d '\r\n') + +SIGNATURE_LINE="// ${BRANCH} ${TAG}" + +if [ -f $VERSION_FILE ]; then + EXISTING_LINE=$(head -n1 $VERSION_FILE | tr -d '\n') + if [ "$EXISTING_LINE" = "$SIGNATURE_LINE" ]; then + echo "Signature matches, skipping writing ${VERSION_FILE}" + exit 0 + fi +fi + +echo "Writing ${VERSION_FILE}..." + +cat > $VERSION_FILE << EOF +${SIGNATURE_LINE} +const char* g_scm_branch_str = "${BRANCH}"; +const char* g_scm_tag_str = "${TAG}"; + +EOF + diff --git a/src/scmversion/scmversion.h b/src/scmversion/scmversion.h new file mode 100644 index 000000000..b615da4b3 --- /dev/null +++ b/src/scmversion/scmversion.h @@ -0,0 +1,5 @@ +#pragma once + +extern const char* g_scm_branch_str; +extern const char* g_scm_tag_str; + diff --git a/src/scmversion/scmversion.vcxproj b/src/scmversion/scmversion.vcxproj new file mode 100644 index 000000000..69a74a1c4 --- /dev/null +++ b/src/scmversion/scmversion.vcxproj @@ -0,0 +1,516 @@ + + + + + DebugFast + Win32 + + + DebugFast + x64 + + + Debug + Win32 + + + Debug + x64 + + + ReleaseLTCG + Win32 + + + ReleaseLTCG + x64 + + + Release + Win32 + + + Release + x64 + + + + + {72f9423c-91ee-4487-aac6-555ed6f61aa1} + + + {43540154-9e1e-409c-834f-b84be5621388} + + + {425d6c99-d1c8-43c2-b8ac-4d7b1d941017} + + + {6a4208ed-e3dc-41e1-81cd-f61025fc285a} + + + + + + + + + + + + + + {075CED82-6A20-46DF-94C7-9624AC9DDBEB} + Win32Proj + scmversion + 10.0 + true + + + + StaticLibrary + true + NotSet + v142 + + + StaticLibrary + true + NotSet + v142 + + + StaticLibrary + true + NotSet + v142 + + + StaticLibrary + true + NotSet + v142 + + + StaticLibrary + false + true + NotSet + v142 + false + + + StaticLibrary + false + true + NotSet + v142 + false + + + StaticLibrary + false + true + NotSet + v142 + false + + + StaticLibrary + false + true + NotSet + v142 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + true + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + true + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + true + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + false + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + false + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + false + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + false + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + $(SolutionDir)build\$(ProjectName)-$(Platform)-$(Configuration)\ + PreBuildEvent + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + ProgramDatabase + true + stdcpp17 + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + + + Level3 + Disabled + _ITERATOR_DEBUG_LEVEL=1;WIN32;_DEBUGFAST;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + ProgramDatabase + Default + false + true + stdcpp17 + OnlyExplicitInline + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + ProgramDatabase + true + stdcpp17 + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + + + Level3 + Disabled + _ITERATOR_DEBUG_LEVEL=1;WIN32;_DEBUGFAST;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + ProgramDatabase + Default + false + true + stdcpp17 + OnlyExplicitInline + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + stdcpp17 + false + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + true + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + stdcpp17 + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + true + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + stdcpp17 + false + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + true + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + stdcpp17 + true + $(IntDir)/%(RelativeDir)/ + + + Console + true + true + true + SDL2.lib;%(AdditionalDependencies) + $(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories) + + + + d3dcompiler.lib;%(AdditionalDependencies) + + + + + cmd /k "$(ProjectDir)gen_scmversion.bat" + + + Checking whether scmversion.cpp needs updating... + + + $(ProjectDir)scmversion.cpp + + + + + + + \ No newline at end of file diff --git a/src/scmversion/scmversion.vcxproj.filters b/src/scmversion/scmversion.vcxproj.filters new file mode 100644 index 000000000..782f726b9 --- /dev/null +++ b/src/scmversion/scmversion.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file