diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index 3ed09fb9..89aca044 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -16,8 +16,6 @@ jobs: - uses: microsoft/setup-msbuild@v1.0.2 - name: Integrate vcpkg run: vcpkg integrate install - - name: Build vcpkg libraries - run: vcpkg install freetype glfw3 capstone[arm,arm64,x86] --triplet x64-windows-static - name: Profiler GUI Debug run: msbuild .\profiler\build\win32\Tracy.vcxproj /property:Configuration=Debug /property:Platform=x64 - name: Profiler GUI Release diff --git a/.gitignore b/.gitignore index c930fe63..40921279 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ profiler/build/win32/Tracy.aps # include the vcpkg install script but not the files it produces vcpkg/* !vcpkg/install_vcpkg_dependencies.bat +/vcpkg_installed .deps/ .dirstamp .vscode/ diff --git a/capture/build/win32/capture.vcxproj b/capture/build/win32/capture.vcxproj index 569b3214..7da266f7 100644 --- a/capture/build/win32/capture.vcxproj +++ b/capture/build/win32/capture.vcxproj @@ -44,6 +44,9 @@ + + true + Level3 @@ -54,12 +57,11 @@ TRACY_NO_STATISTICS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\debug\lib @@ -74,14 +76,13 @@ TRACY_NO_STATISTICS;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone true true - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\lib diff --git a/csvexport/build/win32/csvexport.vcxproj b/csvexport/build/win32/csvexport.vcxproj index f5457414..349c5101 100644 --- a/csvexport/build/win32/csvexport.vcxproj +++ b/csvexport/build/win32/csvexport.vcxproj @@ -44,6 +44,9 @@ + + true + Level3 @@ -54,12 +57,11 @@ _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\debug\lib @@ -74,14 +76,13 @@ NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone true true - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\lib diff --git a/import-chrome/build/win32/import-chrome.vcxproj b/import-chrome/build/win32/import-chrome.vcxproj index 8a7758ab..62719133 100644 --- a/import-chrome/build/win32/import-chrome.vcxproj +++ b/import-chrome/build/win32/import-chrome.vcxproj @@ -44,6 +44,9 @@ + + true + Level3 @@ -54,12 +57,11 @@ TRACY_NO_STATISTICS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\debug\lib @@ -74,14 +76,13 @@ TRACY_NO_STATISTICS;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone true true - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\lib diff --git a/manual/tracy.tex b/manual/tracy.tex index 705dc906..95f8ec43 100644 --- a/manual/tracy.tex +++ b/manual/tracy.tex @@ -748,11 +748,13 @@ There are two ways you can run \texttt{vcpkg} to install the dependencies for Tr vcpkg\install_vcpkg_dependencies.bat \end{lstlisting} This writes files only to the \texttt{vcpkg\textbackslash{}vcpkg} directory and makes no other changes on your machine. -\item System-wide installation -- install \texttt{vcpkg} by following the instructions on its website, and then execute the following commands: +\item System-wide installation with Manifest mode -- install \texttt{vcpkg} by following the instructions on its website, make sure that the environment variable \texttt{VCPKG\_ROOT} is set to the path where you have clone the repository, and then execute the following command: \begin{lstlisting}[language=sh] vcpkg integrate install -vcpkg install --triplet x64-windows-static freetype glfw3 capstone[arm,arm64,x86] \end{lstlisting} +After this step, you can use any Visual Studio project files to build as usual. +Dependencies will be installed automatically based on vcpkg manifest listing (the \texttt{vcpkg.json} file at repository root). +For more information about vcpkg manifest mode in Visual Studio, you can read more details at the following address: \url{https://vcpkg.io/en/docs/users/manifests.html#msbuild-integration}. \end{itemize} \paragraph{Unix} diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj index ceeaee4d..99a896ac 100644 --- a/profiler/build/win32/Tracy.vcxproj +++ b/profiler/build/win32/Tracy.vcxproj @@ -51,13 +51,16 @@ static MultiThreadedDLL + + true + Level3 Disabled true _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;IMGUI_ENABLE_FREETYPE;%(PreprocessorDefinitions) - ..\..\..\imgui;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;%(AdditionalIncludeDirectories) + ..\..\..\imgui;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone;%(AdditionalIncludeDirectories) true false true @@ -67,9 +70,8 @@ Fast - brotlicommon-static.lib;brotlidec-static.lib;ws2_32.lib;freetyped.lib;glfw3.lib;libpng16d.lib;zlibd.lib;bz2d.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Windows - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\debug\lib true @@ -83,7 +85,7 @@ true true NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;IMGUI_ENABLE_FREETYPE;%(PreprocessorDefinitions) - ..\..\..\imgui;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;%(AdditionalIncludeDirectories) + ..\..\..\imgui;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone;%(AdditionalIncludeDirectories) true true AdvancedVectorExtensions2 @@ -94,9 +96,8 @@ true true - brotlicommon-static.lib;brotlidec-static.lib;ws2_32.lib;freetype.lib;glfw3.lib;libpng16.lib;zlib.lib;bz2.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Windows - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\lib true diff --git a/update/build/win32/update.vcxproj b/update/build/win32/update.vcxproj index 0091ba47..dbe88685 100644 --- a/update/build/win32/update.vcxproj +++ b/update/build/win32/update.vcxproj @@ -44,6 +44,9 @@ + + true + Level3 @@ -54,12 +57,11 @@ TRACY_NO_STATISTICS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\debug\lib @@ -74,14 +76,13 @@ TRACY_NO_STATISTICS;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions) AdvancedVectorExtensions2 stdcpplatest - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include;..\..\..\vcpkg\vcpkg\installed\x64-windows-static\include\capstone;$(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone + $(VcpkgRoot)\installed\$(VcpkgTriplet)\include\capstone;..\..\..\vcpkg_installed\$(VcpkgTriplet)\$(VcpkgTriplet)\include\capstone true true - ws2_32.lib;capstone.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) Console - ..\..\..\vcpkg\vcpkg\installed\x64-windows-static\lib diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 00000000..1218c585 --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", + "name": "tracy", + "version-semver": "0.8.0", + "description": "C++ frame profiler", + "homepage": "https://github.com/wolfpld/tracy", + "dependencies": [ + { "name": "capstone", "features":[ "arm", "arm64", "x86" ] }, + "freetype", + "glfw3" + ] +}