3rdparty/winpixeventruntime: Fix build with ARM64 clang-cl

This commit is contained in:
Stenzek 2024-03-21 19:55:17 +10:00 committed by Connor McLaughlin
parent 3c69d5cf70
commit 04d7d1a1db
4 changed files with 21 additions and 10 deletions

View File

@ -1,5 +1,13 @@
add_library(WinPixEventRuntime::WinPixEventRuntime UNKNOWN IMPORTED GLOBAL) add_library(WinPixEventRuntime::WinPixEventRuntime UNKNOWN IMPORTED GLOBAL)
set_target_properties(WinPixEventRuntime::WinPixEventRuntime PROPERTIES
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64")
set_target_properties(WinPixEventRuntime::WinPixEventRuntime PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/libarm64/WinPixEventRuntime.lib"
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
)
else()
set_target_properties(WinPixEventRuntime::WinPixEventRuntime PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/lib/WinPixEventRuntime.lib" IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/lib/WinPixEventRuntime.lib"
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include" INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
) )
endif()

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros"> <PropertyGroup Label="UserMacros">
<BinaryOutputDir>$(SolutionDir)bin\</BinaryOutputDir> <BinaryOutputDir Condition="'$(Platform)'=='x64'">$(SolutionDir)bin\</BinaryOutputDir>
<BinaryOutputDir Condition="'$(Platform)'=='ARM64'">$(SolutionDir)bin-arm64\</BinaryOutputDir>
<WinPixEventRuntimeDir>$(SolutionDir)3rdparty\winpixeventruntime\</WinPixEventRuntimeDir> <WinPixEventRuntimeDir>$(SolutionDir)3rdparty\winpixeventruntime\</WinPixEventRuntimeDir>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup> <ItemDefinitionGroup>
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>$(WinPixEventRuntimeDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(WinPixEventRuntimeDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link Condition="'$(Platform)'=='x64'"> <Link>
<AdditionalLibraryDirectories>$(WinPixEventRuntimeDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(WinPixEventRuntimeDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='ARM64'">$(WinPixEventRuntimeDir)libarm64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>WinPixEventRuntime.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>WinPixEventRuntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<Lib Condition="'$(Platform)'=='x64'"> <Lib>
<AdditionalLibraryDirectories>$(WinPixEventRuntimeDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(WinPixEventRuntimeDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='ARM64'">$(WinPixEventRuntimeDir)libarm64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>WinPixEventRuntime.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>WinPixEventRuntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib> </Lib>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@ -21,10 +24,10 @@
<!--Copy the needed dlls--> <!--Copy the needed dlls-->
<ItemGroup> <ItemGroup>
<WinPixEventRuntimeDlls Condition="'$(Platform)'=='x64'" Include="$(WinPixEventRuntimeDir)bin\WinPixEventRuntime.dll" /> <WinPixEventRuntimeDlls Condition="'$(Platform)'=='x64'" Include="$(WinPixEventRuntimeDir)bin\WinPixEventRuntime.dll" />
<WinPixEventRuntimeDlls Condition="'$(Platform)'=='ARM64'" Include="$(WinPixEventRuntimeDir)binarm64\WinPixEventRuntime.dll" />
</ItemGroup> </ItemGroup>
<Target Name="WinPixEventRuntimeCopyBinaries" <Target Name="WinPixEventRuntimeCopyBinaries"
AfterTargets="Build" AfterTargets="Build"
Condition="'$(Platform)'=='x64'"
Inputs="@(WinPixEventRuntimeDlls)" Inputs="@(WinPixEventRuntimeDlls)"
Outputs="@(WinPixEventRuntimeDlls -> '$(BinaryOutputDir)%(RecursiveDir)%(Filename)%(Extension)')"> Outputs="@(WinPixEventRuntimeDlls -> '$(BinaryOutputDir)%(RecursiveDir)%(Filename)%(Extension)')">
<Message Text="Copying WinPixEventRuntime .dlls" Importance="High" /> <Message Text="Copying WinPixEventRuntime .dlls" Importance="High" />

Binary file not shown.

Binary file not shown.