MSVC: Move MSVC year detection to DetectMachine.cmake.
This commit is contained in:
@@ -30,6 +30,25 @@ IF(WIN32)
|
||||
ELSE(WIN64)
|
||||
SET(IS_X86 TRUE)
|
||||
ENDIF(WIN64)
|
||||
|
||||
if(MSVC)
|
||||
SET(MSVC_VER ${CMAKE_CXX_COMPILER_VERSION})
|
||||
|
||||
IF(MSVC_VER VERSION_GREATER 19.20 OR MSVC_VER VERSION_EQUAL 19.20)
|
||||
SET(LMMS_MSVC_GENERATOR "Visual Studio 16 2019")
|
||||
SET(LMMS_MSVC_YEAR 2019) # Qt only provides binaries for MSVC 2017, but 2019 is binary compatible
|
||||
ELSEIF(MSVC_VER VERSION_GREATER 19.10 OR MSVC_VER VERSION_EQUAL 19.10)
|
||||
SET(LMMS_MSVC_GENERATOR "Visual Studio 15 2017")
|
||||
SET(LMMS_MSVC_YEAR 2017)
|
||||
ELSEIF(MSVC_VER VERSION_GREATER 19.0 OR MSVC_VER VERSION_EQUAL 19.0)
|
||||
SET(LMMS_MSVC_GENERATOR "Visual Studio 14 2015")
|
||||
SET(LMMS_MSVC_YEAR 2015)
|
||||
ELSE()
|
||||
MESSAGE(SEND_WARNING "Can't detect MSVC version: ${MSVC_VER}")
|
||||
ENDIF()
|
||||
|
||||
unset(MSVC_VER)
|
||||
endif()
|
||||
ELSE(WIN32)
|
||||
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine ${CMAKE_C_FLAGS}" OUTPUT_VARIABLE Machine )
|
||||
MESSAGE("Machine: ${Machine}")
|
||||
|
||||
@@ -17,27 +17,15 @@ ENDMACRO()
|
||||
IF(LMMS_BUILD_WIN32 AND NOT LMMS_BUILD_WIN64)
|
||||
ADD_SUBDIRECTORY(RemoteVstPlugin)
|
||||
ELSEIF(LMMS_BUILD_WIN64 AND MSVC)
|
||||
SET(MSVC_VER ${CMAKE_CXX_COMPILER_VERSION})
|
||||
|
||||
IF(NOT CMAKE_GENERATOR_32)
|
||||
IF(MSVC_VER VERSION_GREATER 19.20 OR MSVC_VER VERSION_EQUAL 19.20)
|
||||
SET(CMAKE_GENERATOR_32 "Visual Studio 16 2019")
|
||||
SET(MSVC_YEAR 2017) # Qt only provides binaries for MSVC 2017, but 2019 is binary compatible
|
||||
ELSEIF(MSVC_VER VERSION_GREATER 19.10 OR MSVC_VER VERSION_EQUAL 19.10)
|
||||
SET(CMAKE_GENERATOR_32 "Visual Studio 15 2017")
|
||||
SET(MSVC_YEAR 2017)
|
||||
ELSEIF(MSVC_VER VERSION_GREATER 19.0 OR MSVC_VER VERSION_EQUAL 19.0)
|
||||
SET(CMAKE_GENERATOR_32 "Visual Studio 14 2015")
|
||||
SET(MSVC_YEAR 2015)
|
||||
ELSE()
|
||||
MESSAGE(SEND_WARNING "Can't build RemoteVstPlugin32, unknown MSVC version ${MSVC_VER} and no CMAKE_GENERATOR_32 set")
|
||||
RETURN()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(NOT QT_32_PREFIX)
|
||||
SET(LMMS_MSVC_YEAR_FOR_QT ${LMMS_MSVC_YEAR})
|
||||
|
||||
if(LMMS_MSVC_YEAR_FOR_QT EQUAL 2019)
|
||||
SET(LMMS_MSVC_YEAR_FOR_QT 2017) # Qt only provides binaries for MSVC 2017, but 2019 is binary compatible
|
||||
endif()
|
||||
|
||||
GET_FILENAME_COMPONENT(QT_BIN_DIR ${QT_QMAKE_EXECUTABLE} DIRECTORY)
|
||||
SET(QT_32_PREFIX "${QT_BIN_DIR}/../../msvc${MSVC_YEAR}")
|
||||
SET(QT_32_PREFIX "${QT_BIN_DIR}/../../msvc${LMMS_MSVC_YEAR_FOR_QT}")
|
||||
ENDIF()
|
||||
|
||||
#TODO: qt5 installed using vcpkg: I don't know how to detect if the user built the x86 version of qt5 from here. At least not cleanly.
|
||||
@@ -48,7 +36,7 @@ ELSEIF(LMMS_BUILD_WIN64 AND MSVC)
|
||||
|
||||
ExternalProject_Add(RemoteVstPlugin32
|
||||
"${EXTERNALPROJECT_ARGS}"
|
||||
CMAKE_GENERATOR "${CMAKE_GENERATOR_32}"
|
||||
CMAKE_GENERATOR "${LMMS_MSVC_GENERATOR}"
|
||||
CMAKE_GENERATOR_PLATFORM Win32
|
||||
#CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}"
|
||||
CMAKE_ARGS
|
||||
|
||||
Reference in New Issue
Block a user