Update build-windows-msvc.yml

pin vcpkg submodule to baseline

changed for caching local results

Update CMakeLists.txt

Update CMakeLists.txt

Update build-windows-msvc.yml

Update build-windows-msvc.yml
This commit is contained in:
marauder2k7 2026-05-17 21:01:16 +01:00
parent 37ead792ea
commit 506ef184fe
5 changed files with 33 additions and 47 deletions

View file

@ -31,15 +31,14 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Print env
run: |
echo github.event.action: ${{ github.event.action }}
echo github.event_name: ${{ github.event_name }}
- name: Run GIT Init
run: git init
- name: Setup MSVC problem matcher
uses: ammaraskar/msvc-problem-matcher@master

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "Tools/vcpkg"]
path = Tools/vcpkg
url = https://github.com/microsoft/vcpkg.git

View file

@ -17,6 +17,33 @@ endif()
include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_macros.cmake")
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(CMAKE_TOOLCHAIN_FILE
"${CMAKE_SOURCE_DIR}/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake"
CACHE STRING "vcpkg toolchain")
endif()
# Read-only by default — regular users just get cache hits
set(ENV{VCPKG_BINARY_SOURCES}
"clear;files,${CMAKE_CURRENT_LIST_DIR}/Tools/vcpkg-binaries,read")
set(ENV{VCPKG_ASSET_SOURCES}
"clear;x-azurl,file://${CMAKE_CURRENT_LIST_DIR}/Tools/vcpkg-assets,,read")
# Maintainer override — cmake -DTORQUE_POPULATE_VCPKG_CACHE=ON
if(TORQUE_POPULATE_VCPKG_CACHE)
message(STATUS "[vcpkg] Cache mode: READWRITE (populating cache)")
set(ENV{VCPKG_BINARY_SOURCES}
"clear;files,${CMAKE_CURRENT_LIST_DIR}/Tools/vcpkg-binaries,readwrite")
set(ENV{VCPKG_ASSET_SOURCES}
"clear;x-azurl,file://${CMAKE_CURRENT_LIST_DIR}/Tools/vcpkg-assets,,readwrite")
else()
message(STATUS "[vcpkg] Cache mode: READ (using committed cache)")
endif()
set(ENV{VCPKG_KEEP_ENV_VARS} "VCPKG_BINARY_SOURCES;VCPKG_ASSET_SOURCES")
include("${CMAKE_SOURCE_DIR}/Tools/CMake/torque_configs.cmake")
# Ensure multi-core compilation is enabled for everything

View file

@ -1,47 +1,4 @@
################# Initialize Common Variables ###################
if(NOT DEFINED ENV{VCPKG_ROOT})
set(VCPKG_ROOT "${CMAKE_BINARY_DIR}/vcpkg" CACHE PATH "VCPKG Root")
if(NOT EXISTS "${VCPKG_ROOT}")
message(STATUS "Bootstrapping vcpkg...")
if (GIT_IN_USE)
execute_process(
COMMAND git clone https://github.com/microsoft/vcpkg.git "${VCPKG_ROOT}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
else()
set(VCPKG_MANIFEST_MODE OFF CACHE BOOL "Disable vcpkg manifest mode" FORCE)
set(VCPKG_ZIP_FILE "${CMAKE_BINARY_DIR}/vcpkg.zip")
set(VCPKG_EXTRACT_DEST "${CMAKE_BINARY_DIR}/vcpkg-extracted-temp")
# Use file(DOWNLOAD) to fetch the source archive
if(NOT EXISTS "${VCPKG_ZIP_FILE}")
message(STATUS "Downloading vcpkg source archive...")
file(DOWNLOAD "https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip" "${VCPKG_ZIP_FILE}"
SHOW_PROGRESS)
message(STATUS "Downloading vcpkg source archive... done")
endif()
# Use file(ARCHIVE_EXTRACT) to unzip the source
if(NOT EXISTS "${VCPKG_EXTRACT_DEST}")
message(STATUS "Extracting vcpkg archive...")
file(ARCHIVE_EXTRACT INPUT "${VCPKG_ZIP_FILE}" DESTINATION "${VCPKG_EXTRACT_DEST}" )
# Move the extracted content (which is in a directory like vcpkg-master)
# to the desired VCPKG_ROOT path defined in your original script.
file(GLOB VCPKG_SOURCE_DIR_TMP "${VCPKG_EXTRACT_DEST}/vcpkg-*")
file(RENAME "${VCPKG_SOURCE_DIR_TMP}" "${VCPKG_ROOT}")
message(STATUS "Extracting vcpkg archive... done")
endif()
endif()
if(WIN32)
execute_process(COMMAND "${VCPKG_ROOT}/bootstrap-vcpkg.bat")
else()
execute_process(COMMAND "${VCPKG_ROOT}/bootstrap-vcpkg.sh")
endif()
endif()
else()
file(TO_CMAKE_PATH $ENV{VCPKG_ROOT} VCPKG_ROOT)
endif()
set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file")
if(WIN32)
if(GIT_CI_BUILD)
set(VCPKG_TARGET_TRIPLET "x64-windows-mixed-release" CACHE STRING "")
@ -71,7 +28,6 @@ endif()
set(VCPKG_OVERLAY_TRIPLETS "${CMAKE_SOURCE_DIR}/Tools/CMake/vcpkg/triplets" CACHE STRING "")
set(VCPKG_OVERLAY_PORTS "${CMAKE_SOURCE_DIR}/Tools/CMake/vcpkg/ports" CACHE STRING "")
set(VCPKG_INSTALL_OPTIONS "--clean-after-build" CACHE STRING "")
set(ENV{VCPKG_LIB_SOURCE_ROOT} "${CMAKE_SOURCE_DIR}/Engine/lib")
set(ENV{VCPKG_KEEP_ENV_VARS} "VCPKG_LIB_SOURCE_ROOT")
# All include directories to search. Modules should append to this when they want includes to point

1
Tools/vcpkg Submodule

@ -0,0 +1 @@
Subproject commit 74e6536215718009aae747d86d84b78376bf9e09