vcpkg builds every port twice (release + debug) in manifest mode and the VCPKG_BUILD_TYPE environment variable is ignored there; pin the build type in overlay triplets instead (tooling/vcpkg-triplets/release, one per supported triplet). The release configuration is what both workflows consume: FFMPEG_DIR drives the release layout (lib/pkgconfig) and the C ABI is identical for the debug binary CI tests. Verified locally in debian:12: a release-only overlay builds zlib/libpng/openssl/pkgconf/ libsndfile with zero debug trees. Debug-only is not an option: ports like zlib patch files in the release layout and fail when only the debug configuration is built.
15 lines
619 B
CMake
15 lines
619 B
CMake
# Oak's build-type overlay triplet for x64-linux (see the note in
|
|
# ../README.md): the settings mirror vcpkg's builtin x64-linux.cmake and
|
|
# only the build type is pinned. Pass this directory with
|
|
# `--overlay-triplets tooling/vcpkg-triplets/release`.
|
|
set(VCPKG_TARGET_ARCHITECTURE x64)
|
|
set(VCPKG_CRT_LINKAGE dynamic)
|
|
set(VCPKG_LIBRARY_LINKAGE static)
|
|
|
|
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|
|
|
|
# Build only the release configuration. vcpkg otherwise builds every port
|
|
# twice (release + debug) and our build scripts/vcpkg caches only ever use
|
|
# the release layout (FFMPEG_DIR's lib/pkgconfig).
|
|
set(VCPKG_BUILD_TYPE release)
|