diff --git a/physx/buildtools/cmake_generate_projects.py b/physx/buildtools/cmake_generate_projects.py index ebd304962..6259d3e79 100644 --- a/physx/buildtools/cmake_generate_projects.py +++ b/physx/buildtools/cmake_generate_projects.py @@ -138,6 +138,10 @@ def getCMakeSwitches(self): print('VS16CL:' + os.environ['VS160CLPATH']) outString = outString + ' -DCUDA_HOST_COMPILER=' + \ os.environ['VS160CLPATH'] + if self.compiler == 'vc17': + print('VS17CL:' + os.environ['VS170CLPATH']) + outString = outString + ' -DCUDA_HOST_COMPILER=' + \ + os.environ['VS170CLPATH'] return outString @@ -157,6 +161,8 @@ def getPlatformCMakeParams(self): outString = outString + '-G \"Visual Studio 15 2017\"' elif self.compiler == 'vc16': outString = outString + '-G \"Visual Studio 16 2019\"' + elif self.compiler == 'vc17': + outString = outString + '-G \"Visual Studio 17 2022\"' elif self.compiler == 'xcode': outString = outString + '-G Xcode' elif self.targetPlatform == 'android': @@ -232,6 +238,14 @@ def getPlatformCMakeParams(self): outString = outString + ' -T v142' outString = outString + ' -DCMAKE_VS160PATH=' + \ os.environ['VS160PATH'] + elif self.compiler == 'vc17': + # TODO: Toolchain file need to be created + outString = outString + ' -DCMAKE_TOOLCHAIN_FILE=' + \ + os.environ['PM_CMakeModules_PATH'] + \ + '/xboxone/XboxOneToolchainVC17.txt' + outString = outString + ' -T v143' + outString = outString + ' -DCMAKE_VS170PATH=' + \ + os.environ['VS170PATH'] outString = outString + ' -DCMAKE_GENERATOR_PLATFORM=Durango' outString = outString + ' -DSUPPRESS_SUFFIX=ON' return outString @@ -252,6 +266,14 @@ def getPlatformCMakeParams(self): outString = outString + ' -T v142' outString = outString + ' -DCMAKE_VS160PATH=' + \ os.environ['VS160PATH'] + if self.compiler == 'vc17': + # TODO: Toolchain file need to be created + outString = outString + ' -DCMAKE_TOOLCHAIN_FILE=' + \ + os.environ['PM_CMakeModules_PATH'] + \ + '/xboxseriesx/XboxSeriesXToolchainVC17.txt' + outString = outString + ' -T v143' + outString = outString + ' -DCMAKE_VS170PATH=' + \ + os.environ['VS160PATH'] outString = outString + ' -DCMAKE_GENERATOR_PLATFORM=Gaming.Xbox.Scarlett.x64' outString = outString + ' -DSUPPRESS_SUFFIX=ON' return outString diff --git a/physx/buildtools/presets/public/vc17win64.xml b/physx/buildtools/presets/public/vc17win64.xml new file mode 100644 index 000000000..c315b9b0d --- /dev/null +++ b/physx/buildtools/presets/public/vc17win64.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/physx/generate_projects.bat b/physx/generate_projects.bat index fe7a63943..0cc66825b 100644 --- a/physx/generate_projects.bat +++ b/physx/generate_projects.bat @@ -62,6 +62,11 @@ for /f "usebackq tokens=*" %%i in (`"%PM_vswhere_PATH%\VsWhere.exe -version [16 set VS160PATH="%%i" ) +for /f "usebackq tokens=*" %%i in (`"%PM_vswhere_PATH%\VsWhere.exe -version [17.0,18.0) -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath"`) do ( + set Install2022Dir=%%i + set VS170PATH="%%i" +) + if exist "%Install2017Dir%\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt" ( pushd "%Install2017Dir%\VC\Auxiliary\Build\" set /p Version=