Files
renderdoc/renderdoc/driver/vulkan/renderdoc_vulkan.vcxproj
T
baldurk 58050e89ef Remove hardcoded version numbers from vulkan layer json, set in build
* In CMake this is easy as we're already passing it through sed, but
  in msbuild it's a little more complex as we need to write a little
  in-line C# code to read out the version number and replace the
* We also update the JSON generation for layer registration on linux.
2017-04-28 18:36:55 +01:00

212 lines
9.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Development|Win32">
<Configuration>Development</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Development|x64">
<Configuration>Development</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{88C5DAC6-30A0-4CFD-AF51-540A977D1F3F}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>renderdoc_vulkan</RootNamespace>
<ProjectName>vulkan</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<ExecutablePath>$(ExecutablePath)</ExecutablePath>
<IncludePath>$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
<LibraryPath>$(LibraryPath)</LibraryPath>
<ExcludePath>$(ExcludePath)</ExcludePath>
<TargetName>driver_$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\obj\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<PreprocessorDefinitions>VK_USE_PLATFORM_WIN32_KHR;RENDERDOC_EXPORTS;RENDERDOC_PLATFORM_WIN32;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DisableSpecificWarnings>4100</DisableSpecificWarnings>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>precompiled.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>precompiled.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Development'">
<ClCompile>
<Optimization>Disabled</Optimization>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="precompiled.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="vk_apple.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vk_counters.cpp" />
<ClCompile Include="vk_dispatchtables.cpp" />
<ClCompile Include="vk_initstate.cpp" />
<ClCompile Include="vk_memory.cpp" />
<ClCompile Include="vk_state.cpp" />
<ClCompile Include="vk_layer.cpp" />
<ClCompile Include="vk_layer_android.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vk_common.cpp" />
<ClCompile Include="vk_core.cpp" />
<ClCompile Include="vk_debug.cpp" />
<ClCompile Include="vk_info.cpp" />
<ClCompile Include="vk_manager.cpp" />
<ClCompile Include="vk_replay.cpp" />
<ClCompile Include="vk_win32.cpp" />
<ClCompile Include="vk_posix.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vk_linux.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vk_android.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vk_resources.cpp" />
<ClCompile Include="wrappers\vk_cmd_funcs.cpp" />
<ClCompile Include="wrappers\vk_dynamic_funcs.cpp" />
<ClCompile Include="wrappers\vk_descriptor_funcs.cpp" />
<ClCompile Include="wrappers\vk_device_funcs.cpp" />
<ClCompile Include="wrappers\vk_draw_funcs.cpp" />
<ClCompile Include="wrappers\vk_get_funcs.cpp" />
<ClCompile Include="wrappers\vk_misc_funcs.cpp" />
<ClCompile Include="wrappers\vk_queue_funcs.cpp" />
<ClCompile Include="wrappers\vk_resource_funcs.cpp" />
<ClCompile Include="wrappers\vk_shader_funcs.cpp" />
<ClCompile Include="wrappers\vk_sync_funcs.cpp" />
<ClCompile Include="wrappers\vk_wsi_funcs.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="official\vk_layer.h" />
<ClInclude Include="official\vk_platform.h" />
<ClInclude Include="official\vulkan.h" />
<ClInclude Include="precompiled.h" />
<ClInclude Include="vk_common.h" />
<ClInclude Include="vk_core.h" />
<ClInclude Include="vk_debug.h" />
<ClInclude Include="vk_dispatchtables.h" />
<ClInclude Include="vk_hookset_defs.h" />
<ClInclude Include="vk_info.h" />
<ClInclude Include="vk_manager.h" />
<ClInclude Include="vk_replay.h" />
<ClInclude Include="vk_resources.h" />
<ClInclude Include="vk_state.h" />
</ItemGroup>
<ItemGroup>
<None Include="renderdoc.json" />
</ItemGroup>
<Target Name="_jsonProcess" BeforeTargets="PrepareForBuild">
<!-- Read the version.h -->
<PropertyGroup>
<VersionFile>$([System.IO.File]::ReadAllText('$(SolutionDir)renderdoc/api/replay/version.h').Trim())</VersionFile>
</PropertyGroup>
<!-- Extract the major and minor lines -->
<PropertyGroup>
<!-- Find the start of the line -->
<MajorVersionStart>$(VersionFile.IndexOf('#define RENDERDOC_VERSION_MAJOR'))</MajorVersionStart>
<!-- Take the rest of the file and split it by newline to get an array of lines,
Take the first line and split it by space
Take the third item. This is #define MAJOR foo
0 1 2
-->
<MajorVersion>$(VersionFile.Substring($(MajorVersionStart)).Split('
')[0].Split(' ')[2])</MajorVersion>
<MinorVersionStart>$(VersionFile.IndexOf('#define RENDERDOC_VERSION_MINOR'))</MinorVersionStart>
<MinorVersion>$(VersionFile.Substring($(MinorVersionStart)).Split('
')[0].Split(' ')[2])</MinorVersion>
</PropertyGroup>
<Message Text="Processing layer JSON file for RenderDoc $(MajorVersion).$(MinorVersion)" Importance="High"/>
<!-- Read the template json, replace the major/minor versions -->
<PropertyGroup>
<JSONContents>$([System.IO.File]::ReadAllText('$(ProjectDir)renderdoc.json').Replace('[MAJOR]', '$(MajorVersion)').Replace('[MINOR]', '$(MinorVersion)'))</JSONContents>
</PropertyGroup>
<!-- Write it out to the output directory -->
<WriteLinesToFile File="$(OutDir)renderdoc.json" Lines="$(JSONContents)" Overwrite="true"/>
</Target>
<ItemGroup>
<ProjectReference Include="..\shaders\spirv\renderdoc_spirv.vcxproj">
<Project>{0aae0ad1-371b-4a36-9ed1-80e10e960605}</Project>
<Private>false</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>