From 465b3846bffc10bfc29211139225b203f92af9ee Mon Sep 17 00:00:00 2001 From: wangli28 Date: Tue, 17 Mar 2020 09:44:10 +0000 Subject: [PATCH 1/2] [skia] Fix vswhere.exe can't find VS2017 --- ports/skia/CONTROL | 2 +- ports/skia/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/skia/CONTROL b/ports/skia/CONTROL index ed2abe47297d70..f7ccc5ac4222b4 100644 --- a/ports/skia/CONTROL +++ b/ports/skia/CONTROL @@ -1,5 +1,5 @@ Source: skia -Version: 2020-02-15 +Version: 2020-02-15-1 Homepage: https://skia.org Description: Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products. diff --git a/ports/skia/portfile.cmake b/ports/skia/portfile.cmake index 66b140d089e7a2..b50963822a4906 100644 --- a/ports/skia/portfile.cmake +++ b/ports/skia/portfile.cmake @@ -56,7 +56,7 @@ function(find_msvc_path PATH) file(TO_CMAKE_PATH "${PROGRAM_FILES}" PROGRAM_FILES) set(VSWHERE "${PROGRAM_FILES}/Microsoft Visual Studio/Installer/vswhere.exe") execute_process( - COMMAND "${VSWHERE}" -prerelease -legacy -products * -sort -utf8 -property installationPath + COMMAND "${VSWHERE}" -prerelease -legacy -products * -utf8 -property installationPath WORKING_DIRECTORY "${SOURCE_PATH}" OUTPUT_VARIABLE OUTPUT_ OUTPUT_STRIP_TRAILING_WHITESPACE From 333dfa630978d84fca3901a9d61b1e8b463d153b Mon Sep 17 00:00:00 2001 From: wangli28 Date: Wed, 18 Mar 2020 09:35:38 +0000 Subject: [PATCH 2/2] [skia] Use $ENV{VCINSTALLDIR} --- ports/skia/portfile.cmake | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/ports/skia/portfile.cmake b/ports/skia/portfile.cmake index b50963822a4906..c7a5eb26357307 100644 --- a/ports/skia/portfile.cmake +++ b/ports/skia/portfile.cmake @@ -51,22 +51,6 @@ endif() set(OPTIONS_REL "${OPTIONS} is_official_build=true") set(OPTIONS_DBG "${OPTIONS} is_debug=true") -function(find_msvc_path PATH) - vcpkg_get_program_files_32_bit(PROGRAM_FILES) - file(TO_CMAKE_PATH "${PROGRAM_FILES}" PROGRAM_FILES) - set(VSWHERE "${PROGRAM_FILES}/Microsoft Visual Studio/Installer/vswhere.exe") - execute_process( - COMMAND "${VSWHERE}" -prerelease -legacy -products * -utf8 -property installationPath - WORKING_DIRECTORY "${SOURCE_PATH}" - OUTPUT_VARIABLE OUTPUT_ - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REGEX REPLACE "\n|(\r\n)" ";" OUTPUT_ "${OUTPUT_}") - list(GET OUTPUT_ 0 OUTPUT_) - - set(${PATH} "${OUTPUT_}" PARENT_SCOPE) -endfunction() - if(CMAKE_HOST_WIN32) # Load toolchains if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) @@ -95,8 +79,8 @@ if(CMAKE_HOST_WIN32) set(OPTIONS_REL "${OPTIONS_REL} extra_cflags_c=${SKIA_C_FLAGS_REL} \ extra_cflags_cc=${SKIA_CXX_FLAGS_REL}") - find_msvc_path(WIN_VC) - set(WIN_VC "${WIN_VC}\\VC") + set(WIN_VC "$ENV{VCINSTALLDIR}") + string(REPLACE "\\VC\\" "\\VC" WIN_VC "${WIN_VC}") set(OPTIONS_DBG "${OPTIONS_DBG} win_vc=\"${WIN_VC}\"") set(OPTIONS_REL "${OPTIONS_REL} win_vc=\"${WIN_VC}\"")