From 1edf52043945bb174fe19c1edb8843bb20d81687 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Wed, 26 Jan 2022 17:56:38 -0700 Subject: Windows: Retire MSVC 2017 support The lower bar for building blender is now MSVC 2019 16.9.16. --- build_files/cmake/platform/platform_win32.cmake | 10 ++++------ build_files/windows/autodetect_msvc.cmd | 3 --- build_files/windows/check_libraries.cmd | 1 - build_files/windows/configure_msbuild.cmd | 6 ------ build_files/windows/configure_ninja.cmd | 12 +++--------- build_files/windows/detect_msvc2017.cmd | 3 --- build_files/windows/parse_arguments.cmd | 8 -------- build_files/windows/show_help.cmd | 6 +++--- build_files/windows/svn_fix.cmd | 1 - 9 files changed, 10 insertions(+), 40 deletions(-) delete mode 100644 build_files/windows/detect_msvc2017.cmd diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 0439e2fa5c2..9f565e44d8f 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -55,6 +55,10 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang") message(WARNING "stripped pdb not supported with clang, disabling..") set(WITH_WINDOWS_STRIPPED_PDB OFF) endif() +else() + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.28.29921) # MSVC 2019 16.9.16 + message(FATAL_ERROR "Compiler is unsupported, MSVC 2019 16.9.16 or newer is required for building blender.") + endif() endif() if(NOT WITH_PYTHON_MODULE) @@ -265,12 +269,6 @@ if(NOT DEFINED LIBDIR) elseif(MSVC_VERSION GREATER 1919) message(STATUS "Visual Studio 2019 detected.") set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15) - elseif(MSVC_VERSION GREATER 1909) - message(STATUS "Visual Studio 2017 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15) - elseif(MSVC_VERSION EQUAL 1900) - message(STATUS "Visual Studio 2015 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15) endif() else() message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") diff --git a/build_files/windows/autodetect_msvc.cmd b/build_files/windows/autodetect_msvc.cmd index a4ab8929040..fd0c19764e9 100644 --- a/build_files/windows/autodetect_msvc.cmd +++ b/build_files/windows/autodetect_msvc.cmd @@ -3,9 +3,6 @@ echo No explicit msvc version requested, autodetecting version. call "%~dp0\detect_msvc2019.cmd" if %ERRORLEVEL% EQU 0 goto DetectionComplete -call "%~dp0\detect_msvc2017.cmd" -if %ERRORLEVEL% EQU 0 goto DetectionComplete - call "%~dp0\detect_msvc2022.cmd" if %ERRORLEVEL% EQU 0 goto DetectionComplete diff --git a/build_files/windows/check_libraries.cmd b/build_files/windows/check_libraries.cmd index c495ee6eee9..e8c04fb3258 100644 --- a/build_files/windows/check_libraries.cmd +++ b/build_files/windows/check_libraries.cmd @@ -1,4 +1,3 @@ -if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc15 if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15 if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15 diff --git a/build_files/windows/configure_msbuild.cmd b/build_files/windows/configure_msbuild.cmd index a9267e8cfbb..9fbdef25641 100644 --- a/build_files/windows/configure_msbuild.cmd +++ b/build_files/windows/configure_msbuild.cmd @@ -19,12 +19,6 @@ if "%WITH_PYDEBUG%"=="1" ( set PYDEBUG_CMAKE_ARGS=-DWINDOWS_PYTHON_DEBUG=On ) -if "%BUILD_VS_YEAR%"=="2017" ( - set BUILD_GENERATOR_POST=%WINDOWS_ARCH% -) else ( - set BUILD_PLATFORM_SELECT=-A %MSBUILD_PLATFORM% -) - set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%BUILD_GENERATOR_POST%" %BUILD_PLATFORM_SELECT% %TESTS_CMAKE_ARGS% %CLANG_CMAKE_ARGS% %ASAN_CMAKE_ARGS% %PYDEBUG_CMAKE_ARGS% if NOT EXIST %BUILD_DIR%\nul ( diff --git a/build_files/windows/configure_ninja.cmd b/build_files/windows/configure_ninja.cmd index 90085feb2bd..684673b7611 100644 --- a/build_files/windows/configure_ninja.cmd +++ b/build_files/windows/configure_ninja.cmd @@ -37,15 +37,9 @@ set LLVM_DIR= :DetectionComplete set CC=%LLVM_DIR%\bin\clang-cl set CXX=%LLVM_DIR%\bin\clang-cl - if "%BUILD_VS_YEAR%" == "2019" ( - rem build and tested against 2019 16.2 - set CFLAGS=-m64 -fmsc-version=1922 - set CXXFLAGS=-m64 -fmsc-version=1922 - ) else ( - rem build and tested against 2017 15.7 - set CFLAGS=-m64 -fmsc-version=1914 - set CXXFLAGS=-m64 -fmsc-version=1914 - ) + rem build and tested against 2019 16.2 + set CFLAGS=-m64 -fmsc-version=1922 + set CXXFLAGS=-m64 -fmsc-version=1922 ) if "%WITH_ASAN%"=="1" ( diff --git a/build_files/windows/detect_msvc2017.cmd b/build_files/windows/detect_msvc2017.cmd deleted file mode 100644 index 5f760275f78..00000000000 --- a/build_files/windows/detect_msvc2017.cmd +++ /dev/null @@ -1,3 +0,0 @@ -set BUILD_VS_VER=15 -set BUILD_VS_YEAR=2017 -call "%~dp0\detect_msvc_vswhere.cmd" diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd index dcef46c2c9a..eaf4a85f7ac 100644 --- a/build_files/windows/parse_arguments.cmd +++ b/build_files/windows/parse_arguments.cmd @@ -50,14 +50,6 @@ if NOT "%1" == "" ( goto ERR ) else if "%1" == "x64" ( set BUILD_ARCH=x64 - ) else if "%1" == "2017" ( - set BUILD_VS_YEAR=2017 - ) else if "%1" == "2017pre" ( - set BUILD_VS_YEAR=2017 - set VSWHERE_ARGS=-prerelease - ) else if "%1" == "2017b" ( - set BUILD_VS_YEAR=2017 - set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools ) else if "%1" == "2019" ( set BUILD_VS_YEAR=2019 ) else if "%1" == "2019pre" ( diff --git a/build_files/windows/show_help.cmd b/build_files/windows/show_help.cmd index d914ecab2b8..00d5bd7a9a8 100644 --- a/build_files/windows/show_help.cmd +++ b/build_files/windows/show_help.cmd @@ -24,12 +24,12 @@ echo - nobuildinfo ^(disable buildinfo^) echo - debug ^(Build an unoptimized debuggable build^) echo - packagename [newname] ^(override default cpack package name^) echo - builddir [newdir] ^(override default build folder^) -echo - 2017 ^(build with visual studio 2017^) -echo - 2017pre ^(build with visual studio 2017 pre-release^) -echo - 2017b ^(build with visual studio 2017 Build Tools^) echo - 2019 ^(build with visual studio 2019^) echo - 2019pre ^(build with visual studio 2019 pre-release^) echo - 2019b ^(build with visual studio 2019 Build Tools^) +echo - 2022 ^(build with visual studio 2022^) +echo - 2022pre ^(build with visual studio 2022 pre-release^) +echo - 2022b ^(build with visual studio 2022 Build Tools^) echo. echo Documentation Targets ^(Not associated with building^) diff --git a/build_files/windows/svn_fix.cmd b/build_files/windows/svn_fix.cmd index a9dcdf36847..9ab48de10f1 100644 --- a/build_files/windows/svn_fix.cmd +++ b/build_files/windows/svn_fix.cmd @@ -1,4 +1,3 @@ -if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc15 if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15 if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15 -- cgit v1.2.3