[msvc2015] Add support for copying the vc runtime.
authorlazydodo <github@lazydodo.com>
Sat, 5 Nov 2016 19:58:32 +0000 (13:58 -0600)
committerlazydodo <github@lazydodo.com>
Sat, 5 Nov 2016 19:58:50 +0000 (13:58 -0600)
There's more dll's hanging out in the ucrt folder, but  I just grabbed the ones blender requested (not sure if that's a wise idea, but it seems to work)

Reviewers: sergey, juicyfruit

Reviewed By: juicyfruit

Differential Revision: https://developer.blender.org/D2335

source/creator/CMakeLists.txt

index f65688e13049daef435cbef897e6d85f20dffcb9..187df26a375ad50a4900c82b870ea2ebcd79a8af 100644 (file)
@@ -1153,13 +1153,12 @@ if(WIN32 AND NOT WITH_PYTHON_MODULE)
                COMPONENT Blender
                DESTINATION "."
        )
-
+       if(CMAKE_CL_64)
+               set(_WIN_PLATFORM x64)
+       else()
+               set(_WIN_PLATFORM x86)
+       endif()
        if(MSVC12_REDIST_DIR)
-               if(CMAKE_CL_64)
-                       set(_WIN_PLATFORM x64)
-               else()
-                       set(_WIN_PLATFORM x86)
-               endif()
                install(
                        FILES
                                ${MSVC12_REDIST_DIR}/${_WIN_PLATFORM}/Microsoft.VC120.CRT/msvcp120.dll
@@ -1173,4 +1172,52 @@ if(WIN32 AND NOT WITH_PYTHON_MODULE)
                        )
                endif()
        endif()
+       
+       if(MSVC14_REDIST_DIR)
+               set(KITSDIRx86 "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/10/")
+               set(KITSDIR "$ENV{ProgramFiles}/Windows Kits/10/")
+               if(IS_DIRECTORY ${KITSDIR})
+                       set(KITSPATH "${KITSDIR}/Redist/ucrt/DLLs/${_WIN_PLATFORM}")
+               else()
+                       if(IS_DIRECTORY ${KITSDIRx86})
+                               set(KITSPATH "${KITSDIRx86}/Redist/ucrt/DLLs/${_WIN_PLATFORM}")
+                       else()
+                               message(FATAL_ERROR "Windows 10 SDK directory not found")
+                       endif()
+               endif()
+               
+               install(
+                       FILES
+                               ${KITSPATH}/api-ms-win-core-file-l1-2-0.dll
+                               ${KITSPATH}/api-ms-win-core-file-l2-1-0.dll
+                               ${KITSPATH}/api-ms-win-core-localization-l1-2-0.dll
+                               ${KITSPATH}/api-ms-win-core-processthreads-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-core-processthreads-l1-1-1.dll
+                               ${KITSPATH}/api-ms-win-core-synch-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-core-synch-l1-2-0.dll
+                               ${KITSPATH}/api-ms-win-core-timezone-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-conio-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-convert-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-environment-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-filesystem-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-heap-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-locale-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-math-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-process-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-runtime-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-stdio-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-string-l1-1-0.dll
+                               ${KITSPATH}/api-ms-win-crt-time-l1-1-0.dll
+                               ${KITSPATH}/ucrtbase.dll
+                               ${MSVC14_REDIST_DIR}/${_WIN_PLATFORM}/Microsoft.VC140.CRT/vcruntime140.dll
+                       DESTINATION "."
+               )
+               if(WITH_OPENMP)
+                       install(
+                               FILES ${MSVC14_REDIST_DIR}/${_WIN_PLATFORM}/Microsoft.VC140.OpenMP/vcomp140.dll
+                               DESTINATION "."
+                       )
+               endif()
+               Message("KITSPATH = ${KITSPATH}")
+       endif()
 endif()