Added support for Visual Studio 2015 (aka Visual Studio 14).

This commit is contained in:
Alex Szpakowski
2015-08-22 22:57:32 -03:00
parent e959cbd16c
commit 87a0848869
Regular → Executable
+47 -47
View File
@@ -60,59 +60,61 @@ function(disable_warnings ARG_TARGET)
endfunction()
# Look for dynamic runtime DLLs.
if(MSVC11)
set(VS110COMNTOOLS "$ENV{VS110COMNTOOLS}")
if(${VS110COMNTOOLS} STREQUAL "")
message(WARNING "Environment variable VS110COMNTOOLS not defined. Is VS11 properly installed?")
if(MSVC)
if(MSVC14)
set(VSVERSION "140")
elseif(MSVC12)
set(VSVERSION "120")
elseif(MSVC11 OR MSVC10)
message(WARNING "Visual Studio 2013 (VS12) or newer is required!")
else()
get_filename_component(VS110_REDIST_DIR ${VS110COMNTOOLS}/../../VC/redist/${MEGA_ARCH}/Microsoft.VC110.CRT ABSOLUTE)
set(MSVCP110_DLL ${VS110_REDIST_DIR}/msvcp110.dll)
set(MSVCR110_DLL ${VS110_REDIST_DIR}/msvcr110.dll)
if(EXISTS ${MSVCP110_DLL} AND EXISTS ${MSVCR110_DLL})
message(STATUS "Found msvcp110.dll, msvcr110.dll")
set(MEGA_MSVC_DLLS ${MSVCP110_DLL} ${MSVCR110_DLL})
else()
message(WARNING "Could not find msvcp110.dll, msvcr110.dll")
endif()
# Find vcvarsall.bat.
get_filename_component(VS110_VCVARSALL_BAT ${VS110COMNTOOLS}/../../VC/vcvarsall.bat ABSOLUTE)
if(EXISTS ${VS110_VCVARSALL_BAT})
message(STATUS "Found vsvarsall.bat")
set(MEGA_MSVC_VCVARSALL_BAT ${VS110_VCVARSALL_BAT})
if(MEGA_X86)
set(MEGA_MSVC_VCVARSALL_BAT_ARG "x86")
else()
set(MEGA_MSVC_VCVARSALL_BAT_ARG "x86_amd64")
endif()
else()
message(WARNING "Could not find vsvarsall.bat")
endif()
message(WARNING "Cannot determine Visual Studio version!")
endif()
elseif(MSVC12)
set(VS120COMNTOOLS "$ENV{VS120COMNTOOLS}")
if(${VS120COMNTOOLS} STREQUAL "")
message(WARNING "Environment variable VS120COMNTOOLS not defined. Is VS12 properly installed?")
set(VSCOMNTOOLSSTRING "VS${VSVERSION}COMNTOOLS")
set(VSCOMNTOOLS "$ENV{${VSCOMNTOOLSSTRING}}")
if(VSCOMNTOOLS STREQUAL "")
message(WARNING "Environment variable VSCOMNTOOLS not defined. Is Visual Studio properly installed?")
else()
get_filename_component(VS120_REDIST_DIR ${VS120COMNTOOLS}/../../VC/redist/${MEGA_ARCH}/Microsoft.VC120.CRT ABSOLUTE)
set(MSVCP120_DLL ${VS120_REDIST_DIR}/msvcp120.dll)
set(MSVCR120_DLL ${VS120_REDIST_DIR}/msvcr120.dll)
if(EXISTS ${MSVCP120_DLL} AND EXISTS ${MSVCR120_DLL})
message(STATUS "Found msvcp120.dll, msvcr120.dll")
set(MEGA_MSVC_DLLS ${MSVCP120_DLL} ${MSVCR120_DLL})
get_filename_component(VS_REDIST_DIR ${VSCOMNTOOLS}/../../VC/redist/${MEGA_ARCH}/Microsoft.VC${VSVERSION}.CRT ABSOLUTE)
set(MSVCP_DLL ${VS_REDIST_DIR}/msvcp${VSVERSION}.dll)
if(MSVC12)
set(MSVCR_DLL ${VS_REDIST_DIR}/msvcr${VSVERSION}.dll)
else()
message(WARNING "Could not find msvcp120.dll, msvcr120.dll")
set(MSVCR_DLL ${VS_REDIST_DIR}/vcruntime${VSVERSION}.dll)
# TODO: add ucrtbase.dll from Program Files (x86)\Windows Kits\10\Redist\ucrt\ ($(UniversalCRT_LibraryPath_${MEGA_ARCH}))
endif()
if (EXISTS ${MSVCP_DLL} AND EXISTS ${MSVCR_DLL})
message(STATUS "Found Visual C and C++ runtime .dll files")
set(MEGA_MSVC_DLLS ${MSVCP_DLL} ${MSVCR_DLL})
else()
message(WARNING "Could not find Visual C and C++ runtime .dll files")
endif()
# FIXME: Find some way to avoid hard-coding the version and paths here...
if(MSVC14)
get_filename_component(UCRT_DIR "${VSCOMNTOOLS}/../../../Windows Kits/10" ABSOLUTE)
if(EXISTS ${UCRT_DIR})
set(UCRT_DLL ${UCRT_DIR}/Redist/ucrt/DLLs/${MEGA_ARCH}/ucrtbase.dll)
if(EXISTS ${UCRT_DLL})
set(MEGA_MSVC_DLLS ${MEGA_MSVC_DLLS} ${UCRT_DLL})
message(STATUS "Found universal C runtime .dll")
else()
message(STATUS "Could not find universal C runtime .dll")
endif()
else()
message(STATUS "Could not find universal C runtime folder")
endif()
endif()
# Find vcvarsall.bat.
get_filename_component(VS120_VCVARSALL_BAT ${VS120COMNTOOLS}/../../VC/vcvarsall.bat ABSOLUTE)
get_filename_component(VS_VCVARSALL_BAT ${VSCOMNTOOLS}/../../VC/vcvarsall.bat ABSOLUTE)
if(EXISTS ${VS120_VCVARSALL_BAT})
message(STATUS "Found vsvarsall.bat")
set(MEGA_MSVC_VCVARSALL_BAT ${VS120_VCVARSALL_BAT})
if(EXISTS ${VS_VCVARSALL_BAT})
message(STATUS "Found vcvarsall.bat")
set(MEGA_MSVC_VCVARSALL_BAT ${VS_VCVARSALL_BAT})
if(MEGA_X86)
set(MEGA_MSVC_VCVARSALL_BAT_ARG "x86")
@@ -122,12 +124,10 @@ elseif(MSVC12)
else()
message(WARNING "Could not find vsvarsall.bat")
endif()
endif()
endif()
set(MEGA_ZLIB_VER "1.2.8")
set(MEGA_PHYSFS_VER "2.0.3")
set(MEGA_LUA51_VER "5.1.5")