|
|
@@ -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)
|
|
|
+ message(WARNING "Cannot determine Visual Studio version!")
|
|
|
+ endif()
|
|
|
|
|
|
- if(EXISTS ${VS110_VCVARSALL_BAT})
|
|
|
- message(STATUS "Found vsvarsall.bat")
|
|
|
- set(MEGA_MSVC_VCVARSALL_BAT ${VS110_VCVARSALL_BAT})
|
|
|
+ set(VSCOMNTOOLSSTRING "VS${VSVERSION}COMNTOOLS")
|
|
|
+ set(VSCOMNTOOLS "$ENV{${VSCOMNTOOLSSTRING}}")
|
|
|
|
|
|
- if(MEGA_X86)
|
|
|
- set(MEGA_MSVC_VCVARSALL_BAT_ARG "x86")
|
|
|
- else()
|
|
|
- set(MEGA_MSVC_VCVARSALL_BAT_ARG "x86_amd64")
|
|
|
- endif()
|
|
|
+ if(VSCOMNTOOLS STREQUAL "")
|
|
|
+ message(WARNING "Environment variable VSCOMNTOOLS not defined. Is Visual Studio properly installed?")
|
|
|
+ else()
|
|
|
+ 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 vsvarsall.bat")
|
|
|
+ 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()
|
|
|
|
|
|
- endif()
|
|
|
-elseif(MSVC12)
|
|
|
- set(VS120COMNTOOLS "$ENV{VS120COMNTOOLS}")
|
|
|
- if(${VS120COMNTOOLS} STREQUAL "")
|
|
|
- message(WARNING "Environment variable VS120COMNTOOLS not defined. Is VS12 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})
|
|
|
+ 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 msvcp120.dll, msvcr120.dll")
|
|
|
+ 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")
|