Skip to content
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
4b98150
[Invalid] Testing vcpkg without installed MSVC
Neumann-A Nov 12, 2024
5e74626
use lessmsi
Neumann-A Nov 12, 2024
13f4af9
update to 17.12. calc some versions
Neumann-A Nov 13, 2024
c668ae1
Fix details
Neumann-A Nov 14, 2024
59df484
include net 4.8.x
Neumann-A Nov 14, 2024
1a274d0
commit download generator
Neumann-A Nov 15, 2024
68f934f
Fix MSBuild
Neumann-A Nov 15, 2024
054908a
Fix Fortran stuff
Neumann-A Nov 16, 2024
5df3d96
Fix stuff detecting libm.lib from the intel compiler
Neumann-A Nov 17, 2024
e6e9900
update cmake to 3.31.0
Neumann-A Nov 21, 2024
b4bc90f
adjust cmake generator instance
Neumann-A Nov 21, 2024
0a72041
Only set GENERATOR_INSTANCE if supprted by generator
Neumann-A Nov 22, 2024
c023f86
fix single config build
Neumann-A Nov 23, 2024
24c76d9
fix include order
Neumann-A Nov 23, 2024
74f5fc5
Fix msbuild builds
Neumann-A Nov 27, 2024
c759757
fix easyhook
Neumann-A Nov 29, 2024
6a8088e
fix ffnvcodec
Neumann-A Nov 29, 2024
2ec7776
fix xqilla
Neumann-A Nov 29, 2024
6e78d24
Merge branch 'windows-triplet-without-installed-msvc' of https://gith…
Neumann-A Nov 29, 2024
c3ceef3
fix arpack-ng missing fortran
Neumann-A Nov 29, 2024
ee45443
fix usd
Neumann-A Nov 29, 2024
18e5c19
increase ninja version
Neumann-A Nov 29, 2024
db6afdf
adjust components
Neumann-A Nov 29, 2024
bd42c64
duilib fix single config
Neumann-A Nov 29, 2024
9fac459
fix marble
Neumann-A Nov 29, 2024
b6b62f9
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Nov 30, 2024
574cd1a
fix stuff
Neumann-A Nov 30, 2024
335598e
more fixers
Neumann-A Nov 30, 2024
c47e8d5
fix stuff
Neumann-A Dec 1, 2024
ab745ae
print sdk version
Neumann-A Dec 1, 2024
c5d6b80
fix crashpad
Neumann-A Dec 1, 2024
4ea0520
set policy 0149 to new in toolchain
Neumann-A Dec 1, 2024
a632a24
update to 17.12.3
Neumann-A Dec 4, 2024
b4dd862
install vcvars64.bat
Neumann-A Dec 9, 2024
d813402
Fix vcvars stuff
Neumann-A Dec 9, 2024
572c8d4
fix kf5texteditor
Neumann-A Dec 10, 2024
448a4ad
Try fixing stuff but it probably won't work
Neumann-A Dec 11, 2024
206cb47
Try setting CMAKE_WINDOWS_KITS_10_DIR
Neumann-A Dec 11, 2024
68ce61e
do not build qtwebengine opencv4 llvm
Neumann-A Dec 11, 2024
dbaad07
set policy outside the toolchain
Neumann-A Dec 12, 2024
7627178
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Dec 12, 2024
89c261e
Merge branch 'windows-triplet-without-installed-msvc' of https://gith…
Neumann-A Dec 12, 2024
23b5965
fix abs path
Neumann-A Dec 12, 2024
12bb0dc
fix pdcurses
Neumann-A Dec 12, 2024
ad2ab67
more fixes
Neumann-A Dec 12, 2024
312720c
fix a few failures
Neumann-A Dec 14, 2024
866e7d5
fix g2o
Neumann-A Dec 14, 2024
eeb2cf9
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Dec 14, 2024
4091ec1
fix openmvg
Neumann-A Dec 14, 2024
130bebb
abs path fix
Neumann-A Dec 14, 2024
24952b2
fix patch
Neumann-A Dec 15, 2024
e6db172
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Dec 23, 2024
93ac702
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Jan 4, 2025
8a33676
Adjust to different vs installation approach, add llvm
Neumann-A Jan 4, 2025
8c3343e
Adjust paths and port names
Neumann-A Jan 5, 2025
26f048a
cleanup
Neumann-A Jan 6, 2025
9c8db0b
Fix clang-cl python
Neumann-A Jan 6, 2025
3fd9721
Fix more ports
Neumann-A Jan 8, 2025
f001738
fix a bit
Neumann-A Jan 12, 2025
f93dc7f
update and fix protobuf
Neumann-A Jan 15, 2025
55d1b68
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Jan 15, 2025
6362d9e
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Jan 16, 2025
878f0eb
Fix a lot of details
Neumann-A Jan 27, 2025
0da4b8d
allow LOCALAPPDATA
Neumann-A Jan 30, 2025
fef1d94
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 3, 2025
7d5791f
Adjust a few paths and allow appdata in env
Neumann-A Feb 3, 2025
bca2d84
remove DEBUG and observe environment variables being unset
Neumann-A Feb 6, 2025
83e9ebb
allow userprofile
Neumann-A Feb 6, 2025
a434931
retrigger CI
Neumann-A Feb 6, 2025
417e631
cannot strip whitespace
Neumann-A Feb 6, 2025
2ad6f3a
allow more
Neumann-A Feb 6, 2025
52395d5
dont unset
Neumann-A Feb 6, 2025
cfc6e8d
more whitelisting
Neumann-A Feb 6, 2025
14361d2
retry with host triplet also being allowed
Neumann-A Feb 6, 2025
737c447
adjust environemnt cleanup to be in a common folder
Neumann-A Feb 6, 2025
f2cbeb7
Adjust fortran stuff
Neumann-A Feb 6, 2025
1dbe2bc
fix rename command
Neumann-A Feb 6, 2025
e57997c
fix missing }
Neumann-A Feb 7, 2025
085a26d
fix stuff
Neumann-A Feb 8, 2025
5924b1e
Fix stuff accidentally broken
Neumann-A Feb 8, 2025
790b1ee
Fix stuff
Neumann-A Feb 9, 2025
a1d484d
more fixes
Neumann-A Feb 10, 2025
e1c9f9c
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 10, 2025
a8a3d1b
adjust toolchain a little more
Neumann-A Feb 10, 2025
2a23024
fix more details
Neumann-A Feb 12, 2025
3f95781
fix cmake not being available and re-enable opencv4 and llvm
Neumann-A Feb 12, 2025
642ac9b
fix a few ports
Neumann-A Feb 12, 2025
c2d9947
use msvc for easyhook
Neumann-A Feb 12, 2025
215fcd1
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 13, 2025
9ada8ee
fix abs path opencv4
Neumann-A Feb 13, 2025
a662320
adjust some ports
Neumann-A Feb 13, 2025
031d2bb
more fixes
Neumann-A Feb 13, 2025
7889c59
fix tesseract
Neumann-A Feb 14, 2025
3f97665
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 14, 2025
08acd23
switch nspr and 3fd to msvc
Neumann-A Feb 14, 2025
9f4b8c6
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 16, 2025
6bca07d
use rc for hwloc
Neumann-A Feb 16, 2025
be01b46
fix cspice
Neumann-A Feb 16, 2025
7e74201
switching a few ports to msvc
Neumann-A Feb 16, 2025
b75a63a
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 19, 2025
4634564
fix more stuff
Neumann-A Feb 19, 2025
47da960
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 19, 2025
ffdf37e
more adjustments
Neumann-A Feb 22, 2025
12025d2
more fixes
Neumann-A Feb 23, 2025
1faee64
adjust ci
Neumann-A Feb 23, 2025
50dea5e
fix missing space in vcpkg-make
Neumann-A Feb 23, 2025
85e40da
more adjustments
Neumann-A Feb 24, 2025
416682e
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 24, 2025
c7d0a39
more adjustments
Neumann-A Feb 24, 2025
cbca88c
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 25, 2025
cefe1e1
fix curl
Neumann-A Feb 25, 2025
77897d8
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 25, 2025
4a758da
Fix azure ports
Neumann-A Feb 25, 2025
6ca9734
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Feb 26, 2025
9efb544
remove host path from config
Neumann-A Feb 26, 2025
2449ee1
update compiler
Neumann-A Mar 8, 2025
0ee0a46
Merge remote-tracking branch 'upstream/master' into windows-triplet-w…
Neumann-A Mar 8, 2025
d2acd0f
adjust download dir
Neumann-A Mar 9, 2025
087268b
remove wx
Neumann-A Mar 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ __pycache__/
/packages/
/scripts/buildsystems/tmp/
#ignore custom triplets
/triplets/*

#add vcpkg-designed triplets back in
!/triplets/arm-uwp.cmake
!/triplets/arm64-windows.cmake
Expand Down
342 changes: 342 additions & 0 deletions ports/msvc/download_msbuild.cmake

Large diffs are not rendered by default.

6,306 changes: 6,306 additions & 0 deletions ports/msvc/download_sdk.cmake

Large diffs are not rendered by default.

1,068 changes: 1,068 additions & 0 deletions ports/msvc/download_toolkit.cmake

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions ports/msvc/extract-vsix.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
param (
[Parameter(Mandatory=$true)]
[string]$VsixFile,
[Parameter(Mandatory=$true)]
[string]$ExtractTo = "install"
)

Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::OpenRead(${VsixFile}).Entries |
Where-Object { $_.FullName -like 'Contents/*' } |
ForEach-Object {
$relativePath = $_.FullName.Substring(9) # Remove 'Contents/'
$outputPath = Join-Path -Path ${ExtractTo} -ChildPath $relativePath
$parentPath = [System.IO.Path]::GetDirectoryName($outputPath)
if(-not (Test-Path -Path $parentPath)) {
New-Item -Path $parentPath -ItemType Directory -Force
}
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, $outputPath, $true) # Extract entry to the install folder
}
14 changes: 14 additions & 0 deletions ports/msvc/msbuild-config.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
include(CMakeFindDependencyMacro)

find_dependency(VCToolKit)
find_dependency(WinSDK)

set(${CMAKE_FIND_PACKAGE_NAME}_PACKAGE_ROOT "${CMAKE_CURRENT_LIST_DIR}/../..")

list(APPEND CMAKE_PROGRAM_PATH "${${CMAKE_FIND_PACKAGE_NAME}_PACKAGE_ROOT}/MSBuild/Current/Bin")

find_program(MSBUILD_EXECUTABLE NAMES MSBuild PATHS "${${CMAKE_FIND_PACKAGE_NAME}_PACKAGE_ROOT}/MSBuild/Current/Bin" REQUIRED NO_DEFAULT_PATH NO_CACHE)

set(msbuild_FOUND TRUE)
set(MSBUILD_FOUND TRUE)
set(MSBuild_FOUND TRUE)
Empty file added ports/msvc/msvc-config.cmake
Empty file.
100 changes: 100 additions & 0 deletions ports/msvc/msvc-env.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
include_guard(GLOBAL)

if(NOT DEFINED ENV{VCPKG_TOOLCHAIN_ENV_ALREADY_SET})
set(MSVC_DIR "${CMAKE_CURRENT_LIST_DIR}/../../")
set(VS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../VS")
set(SDK_DIR "${CMAKE_CURRENT_LIST_DIR}/../../WinSDK")

set(WinSDK_VERSION "10.0.26100.0")
set(VCToolkit_VERSION "14.41.34120")
set(VCToolkit_REDIST_VERSION "14.40.33807")

set(LIB
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/ATLMFC/lib/x64"
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/lib/x64"
#"${SDK_DIR}/Windows Kits/NETFXSDK/4.8/lib/um/x64"
"${SDK_DIR}/Windows Kits/10/lib/${WinSDK_VERSION}/ucrt/x64"
"${SDK_DIR}/Windows Kits/10/lib/${WinSDK_VERSION}/um/x64"
)
cmake_path(CONVERT "${LIB}" TO_NATIVE_PATH_LIST LIB NORMALIZE)
set(ENV{LIB} "${LIB}")
set(LIBPATH
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/ATLMFC/lib/x64"
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/lib/x64"
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/lib/x86/store/references"
"${SDK_DIR}/Windows Kits/10/UnionMetadata/${WinSDK_VERSION}"
"${SDK_DIR}/Windows Kits/10/References/${WinSDK_VERSION}"
#C:/Windows/Microsoft.NET/Framework64/v4.0.30319
)
cmake_path(CONVERT "${LIBPATH}" TO_NATIVE_PATH_LIST LIBPATH NORMALIZE)
set(ENV{LIBPATH} "${LIBPATH}")
set(INCLUDE
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/include"
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/ATLMFC/include"
"${VS_DIR}/VC/Auxiliary/VS/include"
"${SDK_DIR}/Windows Kits/10/include/${WinSDK_VERSION}/ucrt"
"${SDK_DIR}/Windows Kits/10/include/${WinSDK_VERSION}/um"
"${SDK_DIR}/Windows Kits/10/include/${WinSDK_VERSION}/shared"
"${SDK_DIR}/Windows Kits/10/include/${WinSDK_VERSION}/winrt"
"${SDK_DIR}/Windows Kits/10/include/${WinSDK_VERSION}/cppwinrt"
#"${SDK_DIR}/Windows Kits/NETFXSDK/4.8/include/um"
)
cmake_path(CONVERT "${INCLUDE}" TO_NATIVE_PATH_LIST INCLUDE NORMALIZE)
set(ENV{INCLUDE} "${INCLUDE}")
set(EXTERNAL_INCLUDE ${INCLUDE})
cmake_path(CONVERT "${EXTERNAL_INCLUDE}" TO_NATIVE_PATH_LIST EXTERNAL_INCLUDE NORMALIZE)

set(ENV{EXTERNAL_INCLUDE} "${EXTERNAL_INCLUDE}")
set(ENV{DevEnvDir} "${VS_DIR}/Common7/IDE/")
set(ENV{ExtensionSdkDir} "${SDK_DIR}/Windows Kits/10/ExtensionSDKs")
set(ENV{UniversalCRTSdkDir} "${SDK_DIR}/Windows Kits/10/")
set(ENV{UCRTVersion} "${WinSDK_VERSION}")
set(ENV{VCIDEInstallDir} "${VS_DIR}/Common7/IDE/VC/")
set(ENV{VCINSTALLDIR} "${VS_DIR}/VC/")
set(ENV{VCToolsInstallDir} "${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/")
set(ENV{VCToolsRedistDir} "${VS_DIR}/VC/Redist/MSVC/${VCToolkit_REDIST_VERSION}/")
set(ENV{VCToolsVersion} "${VCToolkit_VERSION}")
set(ENV{VisualStudioVersion} "17.0")
set(ENV{VS170COMNTOOLS} "${VS_DIR}/Common7/Tools/")
set(ENV{VSINSTALLDIR} "${VS_DIR}/")
set(WindowsLibPath
"${SDK_DIR}/Windows Kits/10/UnionMetadata/${WinSDK_VERSION}"
"${SDK_DIR}/Windows Kits/10/References/${WinSDK_VERSION}"
)
cmake_path(CONVERT "${WindowsLibPath}" TO_NATIVE_PATH_LIST WindowsLibPath NORMALIZE)
set(ENV{WindowsLibPath} "${WindowsLibPath}")
set(ENV{WindowsSdkBinPath} "${SDK_DIR}/Windows Kits/10/bin/")
set(ENV{WindowsSdkDir} "${SDK_DIR}/Windows Kits/10/")
set(ENV{WindowsSDKLibVersion} "${WinSDK_VERSION}/")
set(ENV{WindowsSdkVerBinPath} "${SDK_DIR}/Windows Kits/10/bin/${WinSDK_VERSION}/")
set(ENV{WindowsSDKVersion} "${WinSDK_VERSION}/")
Comment thread
Neumann-A marked this conversation as resolved.
Outdated
#set(WindowsSDK_ExecutablePath_x64 "${SDK_DIR}/Windows/v10.0A/bin/NETFX 4.8 Tools/x64/")
#set(WindowsSDK_ExecutablePath_x86 "${SDK_DIR}/Windows/v10.0A/bin/NETFX 4.8 Tools/")

set(ADD_TO_PATH
"${VS_DIR}/VC/Tools/MSVC/${VCToolkit_VERSION}/bin/HostX64/x64"
#${VS_DIR}/Common7/IDE/VC/VCPackages
#${VS_DIR}/Common7/IDE/CommonExtensions/Microsoft/TestWindow
#${VS_DIR}/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer
"${VS_DIR}/MSBuild/Current/bin/Roslyn"
#C:/Program Files (x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools/x64/
#C:/Program Files (x86)/HTML Help Workshop
#${VS_DIR}/Common7/IDE/CommonExtensions/Microsoft/FSharp/Tools
#${VS_DIR}/Team Tools/DiagnosticsHub/Collector
"${SDK_DIR}/Windows Kits/10/bin/${WinSDK_VERSION}/x64"
"${SDK_DIR}/Windows Kits/10/bin/x64"
"${VS_DIR}/MSBuild/Current/Bin/"
#C:/Windows/Microsoft.NET/Framework64/v4.0.30319
#${VS_DIR}/Common7/IDE/
#${VS_DIR}/Common7/Tools/
)
cmake_path(CONVERT "$ENV{PATH}" TO_CMAKE_PATH_LIST path)
list(PREPEND path ${ADD_TO_PATH})

cmake_path(CONVERT "${path}" TO_NATIVE_PATH_LIST path NORMALIZE)
set(ENV{PATH} "${path}")

set(ENV{VCPKG_TOOLCHAIN_ENV_ALREADY_SET} "1")
endif()

set(MSVC_FOUND TRUE)
29 changes: 29 additions & 0 deletions ports/msvc/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
#set(VCPKG_POLICY_SKIP_COPYRIGHT_CHECK enabled)
Comment thread
Neumann-A marked this conversation as resolved.
Outdated

find_program(pwsh_exe NAMES pwsh powershell)

set(WinSDK_VERSION "10.0.26100.0")
set(VCToolkit_VERSION "14.41.34120")
set(VCToolkit_REDIST_VERSION "14.40.33807")

include("${CMAKE_CURRENT_LIST_DIR}/portfile_winsdk.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/portfile_toolkit.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/portfile_msbuild.cmake")

if(NOT VCPKG_CRT_LINKAGE STREQUAL "static")
file(COPY "${CURRENT_PACKAGES_DIR}/VS/VC/Redist/MSVC/${VCToolkit_REDIST_VERSION}/x64/Microsoft.VC143.CRT/" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/VS/VC/Redist/MSVC/${VCToolkit_REDIST_VERSION}/x64/Microsoft.VC143.MFC/" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/WinSDK/Windows Kits/10/Redist/${WinSDK_VERSION}/ucrt/DLLs/x64/" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")

if(NOT VCPKG_BUILD_TYPE)
file(COPY "${CURRENT_PACKAGES_DIR}/VS/VC/Redist/MSVC/${VCToolkit_REDIST_VERSION}/debug_nonredist/x64/Microsoft.VC143.DebugCRT/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/VS/VC/Redist/MSVC/${VCToolkit_REDIST_VERSION}/debug_nonredist/x64/Microsoft.VC143.DebugMFC/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/WinSDK/Windows Kits/10/bin/${WinSDK_VERSION}/x64/ucrt" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/WinSDK/Windows Kits/10/Redist/${WinSDK_VERSION}/ucrt/DLLs/x64/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" PATTERN "ucrtbase.dll" EXCLUDE)
endif()
endif()

configure_file("${CMAKE_CURRENT_LIST_DIR}/msvc-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" @ONLY)
configure_file("${CMAKE_CURRENT_LIST_DIR}/msvc-env.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/msvc-env.cmake" @ONLY)
66 changes: 66 additions & 0 deletions ports/msvc/portfile_msbuild.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
block()
set(MSBuild_FILES "")
include("${CMAKE_CURRENT_LIST_DIR}/download_msbuild.cmake")
set(prefix MSBuild)

foreach(item IN LISTS ${prefix}_FILES)
vcpkg_download_distfile(
downloaded_file
URLS "${${prefix}_${item}_URL}"
FILENAME "VS-${VERSION}/MSBuild/${${prefix}_${item}_FILENAME}"
SHA512 "${${prefix}_${item}_SHA512}"
)

list(APPEND vsix_installers "${downloaded_file}")
endforeach()

set(counter 0)
foreach(item IN LISTS vsix_installers)
vcpkg_execute_required_process(
COMMAND "${pwsh_exe}" -ExecutionPolicy Bypass -File "${CMAKE_CURRENT_LIST_DIR}/extract-vsix.ps1" "-VsixFile" "${item}" "-ExtractTo" "${CURRENT_PACKAGES_DIR}/VS"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}"
LOGNAME "extract_msbuild_${counter}.log"
)
endforeach()

set(msbuild_base "${CURRENT_PACKAGES_DIR}/VS/MSBuild/Microsoft/VC/v170/")
set(winsdk_props "${msbuild_base}/Microsoft.Cpp.WindowsSDK.props")
set(vc_common_props "${msbuild_base}/Microsoft.Cpp.Common.props")
file(READ "${winsdk_props}" winsdk_props_content)
string(REPLACE
[[<_LatestWindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion($(SDKIdentifier), $(SDKVersion)))</_LatestWindowsTargetPlatformVersion>]]
"<_LatestWindowsTargetPlatformVersion>${WinSDK_VERSION}</_LatestWindowsTargetPlatformVersion>"
winsdk_props_content
"${winsdk_props_content}"
)
string(REPLACE
[[<WindowsSdkDir_10 Condition=\"'$(WindowsSdkDir_10)' == ''\">$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v10.0@InstallationFolder)</WindowsSdkDir_10>]]
Comment thread
Neumann-A marked this conversation as resolved.
Outdated
""
winsdk_props_content
"${winsdk_props_content}"
)
string(REPLACE
[[<WindowsSdkDir_10 Condition=\"'$(WindowsSdkDir_10)' == ''\">$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v10.0@InstallationFolder)</WindowsSdkDir_10>]]
Comment thread
Neumann-A marked this conversation as resolved.
Outdated
"<WindowsSdkDir_10 Condition=\"'$(WindowsSdkDir_10)' == ''\">$(MSBuildThisFileDirectory)\\..\\..\\..\\..\\..\\WinSDK\\Windows Kits\\10\\</WindowsSdkDir_10>"
winsdk_props_content
"${winsdk_props_content}"
)
string(REPLACE
[[<UniversalCRTSdkDir_10 Condition=\"'$(UniversalCRTSdkDir_10)' == ''\">$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows Kits\\Installed Roots@KitsRoot10)</UniversalCRTSdkDir_10>]]
Comment thread
Neumann-A marked this conversation as resolved.
Outdated
""
winsdk_props_content
"${winsdk_props_content}"
)
string(REPLACE
[[<UniversalCRTSdkDir_10 Condition=\"'$(UniversalCRTSdkDir_10)' == ''\">$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots@KitsRoot10)</UniversalCRTSdkDir_10>]]
Comment thread
Neumann-A marked this conversation as resolved.
Outdated
"<UniversalCRTSdkDir_10 Condition=\"'$(UniversalCRTSdkDir_10)' == ''\">$(MSBuildThisFileDirectory)\\..\\..\\..\\..\\..\\WinSDK\\Windows Kits\\10\\</UniversalCRTSdkDir_10>"
winsdk_props_content
"${winsdk_props_content}"
)
file(WRITE "${winsdk_props}" "${winsdk_props_content}")

vcpkg_replace_string("${vc_common_props}"
[[<VSInstallDir>$(VsInstallRoot)\</VSInstallDir>]]
"<VSInstallDir>$(MSBuildThisFileDirectory)\\..\\..\\..\\..\\</VSInstallDir>"
)
Comment thread
Neumann-A marked this conversation as resolved.
endblock()
29 changes: 29 additions & 0 deletions ports/msvc/portfile_toolkit.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
block()
set(VCToolkit_FILES "")
include("${CMAKE_CURRENT_LIST_DIR}/download_toolkit.cmake")
set(prefix VCToolkit)

foreach(item IN LISTS VCToolkit_FILES)
vcpkg_download_distfile(
downloaded_file
URLS "${${prefix}_${item}_URL}"
FILENAME "VS-${VERSION}/VS/${${prefix}_${item}_FILENAME}"
SHA512 "${${prefix}_${item}_SHA512}"
)

list(APPEND vsix_installers "${downloaded_file}")
endforeach()

set(counter 0)
foreach(item IN LISTS vsix_installers)
math(EXPR counter "${counter} + 1")
message(STATUS "Extracting '${item}'")
vcpkg_execute_required_process(
COMMAND "${pwsh_exe}" -ExecutionPolicy Bypass -File "${CMAKE_CURRENT_LIST_DIR}/extract-vsix.ps1" "-VsixFile" "${item}" "-ExtractTo" "${CURRENT_PACKAGES_DIR}/VS"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}"
LOGNAME "extract_msbuild_${counter}.log"
)
endforeach()
endblock()

#D:\vcpkg_folders\no_msvc\packages\msvc_x64-windows-release\VS\VC\Tools\MSVC\14.41.34120
Loading