mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-03 04:40:49 -06:00
vcpkg only reads VCPKG_BUILD_TYPE from the triplet file, so the -DVCPKG_BUILD_TYPE=release passed to the top-level CMake call never had any effect and every port was built in both debug and release. On a cold cache that is roughly half of an 85 minute vcpkg step. Add release-only overlay triplets for x64-windows and x64-linux and select them from the workflow matrix. They are separate triplets rather than an override of the stock ones so local developer builds keep their debug dependencies. VCPKG_HOST_TRIPLET is set alongside the target triplet, otherwise the 12 host-tool ports (openssl and protobuf among them) would be built a second time under the stock triplet. The triplet is part of the vcpkg cache key since it changes every binary's ABI hash.
17 lines
627 B
CMake
17 lines
627 B
CMake
# Release-only variant of vcpkg's x64-linux triplet, used by CI.
|
|
# See x64-windows-release.cmake for the rationale; the only differences here
|
|
# are the library linkage and target system.
|
|
|
|
set(VCPKG_TARGET_ARCHITECTURE x64)
|
|
set(VCPKG_CRT_LINKAGE dynamic)
|
|
set(VCPKG_LIBRARY_LINKAGE static)
|
|
|
|
set(VCPKG_BUILD_TYPE release)
|
|
|
|
# CMake 4.x removed compatibility with cmake_minimum_required(VERSION < 3.5).
|
|
# See x64-osx.cmake for the full rationale. Must be kept in sync with the
|
|
# x64-linux triplet this one shadows.
|
|
list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_POLICY_VERSION_MINIMUM=3.5")
|
|
|
|
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|