Is your feature request related to a problem? Please describe.
Many ports have optional dependencies on packages that are either provided by vcpkg or a system package manager. This is the case if upstream uses find_package() without REQUIRED and reacts differently if the package is found. Dependencies are either unexpectedly 'picked up' or not found [this is especially relevant for ports that use the unofficial:: namespace]. This leads to unreproducible builds or - even worse - to build failures.
In orther to mitigate this, we have to explicitly control dependencies via CMAKE_DISABLE_FIND_PACKAGE_ and CMAKE_REQUIRE_FIND_PACKAGE_. Unfortunately, we almost never notice such behavior because the package is either not available in our CI or always installed before the port that depends on it.
Proposed solution
Add a post build check that searches for Could NOT find <package name> (missing ... in config-<triplet>-out.log.
Is your feature request related to a problem? Please describe.
Many ports have optional dependencies on packages that are either provided by vcpkg or a system package manager. This is the case if upstream uses
find_package()withoutREQUIREDand reacts differently if the package is found. Dependencies are either unexpectedly 'picked up' or not found [this is especially relevant for ports that use theunofficial::namespace]. This leads to unreproducible builds or - even worse - to build failures.In orther to mitigate this, we have to explicitly control dependencies via
CMAKE_DISABLE_FIND_PACKAGE_andCMAKE_REQUIRE_FIND_PACKAGE_. Unfortunately, we almost never notice such behavior because the package is either not available in our CI or always installed before the port that depends on it.Proposed solution
Add a post build check that searches for
Could NOT find <package name> (missing ...inconfig-<triplet>-out.log.