[MSVC] Preliminary VS2017 support.
authorlazydodo <github@lazydodo.com>
Thu, 17 Nov 2016 03:13:58 +0000 (20:13 -0700)
committerlazydodo <github@lazydodo.com>
Thu, 17 Nov 2016 03:13:58 +0000 (20:13 -0700)
build_files/cmake/platform/platform_win32_msvc.cmake
make.bat
source/creator/CMakeLists.txt

index 5efda52b2c58d3ce8a403fd5bab4095161d36f20..6ca0568b5fd067a1d685bd3e57dd782a9263dbba 100644 (file)
@@ -129,8 +129,10 @@ if(NOT DEFINED LIBDIR)
                message(STATUS "32 bit compiler detected.")
                set(LIBDIR_BASE "windows")
        endif()
-
-       if(MSVC_VERSION EQUAL 1900)
+       if(MSVC_VERSION EQUAL 1910)
+               message(STATUS "Visual Studio 2017 detected.")
+               set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
+       elseif(MSVC_VERSION EQUAL 1900)
                message(STATUS "Visual Studio 2015 detected.")
                set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
        else()
index 74148e5599d4bc36f12eedc26c8351c9d21ac23f..f3ec646dc8f6ecfd5a44c1da540325158e3f82f6 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -61,6 +61,9 @@ if NOT "%1" == "" (
                set BUILD_ARCH=x86
        )       else if "%1" == "x64" (
                set BUILD_ARCH=x64
+       )       else if "%1" == "2017" (
+       set BUILD_VS_VER=15
+       set BUILD_VS_YEAR=2017
        )       else if "%1" == "2015" (
        set BUILD_VS_VER=14
        set BUILD_VS_YEAR=2015
@@ -140,7 +143,7 @@ if "%target%"=="Release" (
 )
 
 :DetectMSVC
-REM Detect MSVC Installation
+REM Detect MSVC Installation for 2013-2015
 if DEFINED VisualStudioVersion goto msvc_detect_finally
 set VALUE_NAME=ProductDir
 REM Check 64 bits
@@ -153,7 +156,18 @@ for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAM
 if DEFINED MSVC_VC_DIR goto msvc_detect_finally
 :msvc_detect_finally
 if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat"
+if DEFINED MSVC_VC_DIR goto sanity_checks
 
+rem MSVC Build environment 2017 and up. 
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SXS\VS7" /v %BUILD_VS_VER%.0 2^>nul`) DO set MSVC_VS_DIR=%%C
+if DEFINED MSVC_VS_DIR goto msvc_detect_finally_2017
+REM Check 32 bits
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\sxs\vs7" /v %BUILD_VS_VER%.0 2^>nul`) DO set MSVC_VS_DIR=%%C
+if DEFINED MSVC_VS_DIR goto msvc_detect_finally_2017
+:msvc_detect_finally_2017
+if DEFINED MSVC_VS_DIR call "%MSVC_VS_DIR%\Common7\Tools\VsDevCmd.bat"
+
+:sanity_checks
 REM Sanity Checks
 where /Q msbuild
 if %ERRORLEVEL% NEQ 0 (
index 10af0d5489eaae85498f21cdcd4e9f2a2a7bc2d6..aa0a213cf64aad8688ee2aa9b4947c74548baaed 100644 (file)
@@ -714,7 +714,7 @@ elseif(WIN32)
 
                        if(WITH_PYTHON_INSTALL_NUMPY)
                                set(PYTHON_NUMPY_VERSION 1.9)
-                               if(MSVC_VERSION EQUAL 1900)
+                               if((MSVC_VERSION EQUAL 1900) OR (MSVC_VERSION EQUAL 1910))
                                        set(PYTHON_NUMPY_VERSION 1.11)
                                endif()
                                add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages