diff options
| author | Connor McLaughlin <stenzek@gmail.com> | 2020-01-12 15:34:40 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-12 15:34:40 +1000 |
| commit | 1701363854b4a42cc71ecff23eecde7c042a812e (patch) | |
| tree | 08cf425c4990368d84c5b988f1fb9ff9e8e3941f /Source | |
| parent | c48427657481d87bc276d048c8689de443ba732f (diff) | |
| parent | d8b2be9d061420201ba27165380eb2863d74c3ea (diff) | |
Merge pull request #8547 from stenzek/windows-arm64-qt
DolphinQt: Support compiling on ARM64
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/DolphinQt/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/DolphinQt.vcxproj | 3 | ||||
| -rw-r--r-- | Source/VSProps/QtCompile.props | 8 | ||||
| -rw-r--r-- | Source/dolphin-emu.sln | 8 |
4 files changed, 18 insertions, 7 deletions
diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt index f76bf69770..4596b9ff15 100644 --- a/Source/Core/DolphinQt/CMakeLists.txt +++ b/Source/Core/DolphinQt/CMakeLists.txt @@ -1,5 +1,9 @@ if (NOT Qt5_DIR AND MSVC) -set(Qt5_DIR "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt5.13.1/5.13.1/msvc2017_64/lib/cmake/Qt5") + if(_M_ARM_64) + set(Qt5_DIR "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt5.13.1/5.13.1/msvc2017_64/lib/cmake/Qt5") + else() + set(Qt5_DIR "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt5.13.2/5.13.2/msvc2017_arm64/lib/cmake/Qt5") + endif() endif() find_package(Qt5 5.9 REQUIRED COMPONENTS Gui Widgets) diff --git a/Source/Core/DolphinQt/DolphinQt.vcxproj b/Source/Core/DolphinQt/DolphinQt.vcxproj index 92a3be2edd..a22f267982 100644 --- a/Source/Core/DolphinQt/DolphinQt.vcxproj +++ b/Source/Core/DolphinQt/DolphinQt.vcxproj @@ -54,9 +54,10 @@ </ItemDefinitionGroup> <ItemDefinitionGroup> <Link> - <AdditionalLibraryDirectories>$(ExternalsDir)ffmpeg\lib;$(IntDir)..\discord-rpc\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>avrt.lib;iphlpapi.lib;winmm.lib;setupapi.lib;rpcrt4.lib;comctl32.lib;Shlwapi.lib;discord-rpc.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>$(IntDir)..\discord-rpc\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies Condition="'$(Platform)'=='x64'">opengl32.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(ExternalsDir)ffmpeg\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Link> <ClCompile> <AdditionalIncludeDirectories>$(ProjectDir)VideoInterface;$(ProjectDir)GameList;$(ProjectDir)Debugger;$(ProjectDir)Settings;$(ProjectDir)Config;$(ProjectDir)Config\Mapping;$(ProjectDir)Config\Graphics;$(ProjectDir)Config\ControllerInterface;$(ProjectDir)NetPlay;$(ProjectDir)QtUtils;$(ProjectDir)TAS;$(ProjectDir)FIFO;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> diff --git a/Source/VSProps/QtCompile.props b/Source/VSProps/QtCompile.props index b4c3b80a92..a5e04ad650 100644 --- a/Source/VSProps/QtCompile.props +++ b/Source/VSProps/QtCompile.props @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Label="UserMacros"> - <QTDIRDefault>$(ExternalsDir)Qt\Qt5.13.1\5.13.1\msvc2017_64\</QTDIRDefault> + <QTDIRDefault Condition="'$(Platform)'=='x64'">$(ExternalsDir)Qt\Qt5.13.1\5.13.1\msvc2017_64\</QTDIRDefault> + <QTDIRDefault Condition="'$(Platform)'=='ARM64'">$(ExternalsDir)Qt\Qt5.14.0\5.14.0\msvc2017_arm64\</QTDIRDefault> <QTDIR Condition="Exists('$(QTDIRDefault)') And ('$(QTDIR)'=='' Or !Exists('$(QTDIR)'))">$(QTDIRDefault)</QTDIR> <QTDIR Condition="Exists('$(QTDIR)') And !HasTrailingSlash('$(QTDIR)')">$(QTDIR)\</QTDIR> <QtDirValid>false</QtDirValid> @@ -27,6 +28,7 @@ <AdditionalIncludeDirectories>$(QtIncludeDir)QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(QtIncludeDir)QtGui;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(QtIncludeDir)QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Platform)'=='ARM64'">$(QtIncludeDir)QtANGLE;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <!-- Negate the previously enabled warning (set in Base.props). Not compatible with QtCore\qtmap.h This isn't too bad since we live with the fact that Qt-using projects will have different compiler args already. @@ -88,6 +90,10 @@ <!--Copy the needed dlls--> <ItemGroup> <QtLibNames Include="Qt5Core$(QtLibSuffix);Qt5Gui$(QtLibSuffix);Qt5Widgets$(QtLibSuffix)" /> + + <!-- Include ANGLE for ARM64 since there is no native OpenGL --> + <QtLibNames Condition="'$(Platform)'=='ARM64'" Include="$(QtLibNames);libEGL$(QtLibSuffix);libGLESv2$(QtLibSuffix)" /> + <QtDlls Include="@(QtLibNames -> '$(QtBinDir)%(Identity).dll')" /> <!--Filter plugins to copy based on the observation that all debug versions end in "d"--> <QtAllPlugins Include="$(QtPluginsDir)**\*$(QtLibSuffix).dll" /> diff --git a/Source/dolphin-emu.sln b/Source/dolphin-emu.sln index a79713c95b..75999b3074 100644 --- a/Source/dolphin-emu.sln +++ b/Source/dolphin-emu.sln @@ -108,9 +108,11 @@ Global EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|ARM64.Build.0 = Debug|ARM64 {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|x64.ActiveCfg = Debug|x64 {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|x64.Build.0 = Debug|x64 {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|ARM64.ActiveCfg = Release|ARM64 + {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|ARM64.Build.0 = Release|ARM64 {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|x64.ActiveCfg = Release|x64 {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|x64.Build.0 = Release|x64 {E54CF649-140E-4255-81A5-30A673C1FB36}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -453,12 +455,10 @@ Global {DEA96CF2-F237-4A1A-B32F-C916769EFB50}.Release|ARM64.Build.0 = Release|ARM64 {DEA96CF2-F237-4A1A-B32F-C916769EFB50}.Release|x64.ActiveCfg = Release|x64 {DEA96CF2-F237-4A1A-B32F-C916769EFB50}.Release|x64.Build.0 = Release|x64 - {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|x64.ActiveCfg = Debug|x64 - {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|x64.ActiveCfg = Release|x64 {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|ARM64.Build.0 = Debug|ARM64 + {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|x64.ActiveCfg = Debug|x64 {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|ARM64.ActiveCfg = Release|ARM64 - {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|ARM64.Build.0 = Release|ARM64 + {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|x64.ActiveCfg = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE |
