Skip to content

Conversation

@dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Nov 14, 2025

Do not simply fail on

set(DOXYGEN "")
if("docs" IN_LIST FEATURES)
  vcpkg_find_acquire_program(DOXYGEN)
endif()

with unexpected

CMake Error at scripts/cmake/vcpkg_extract_archive.cmake:19 (message):
  D:/downloads/tools/doxygen/8120346 was an extraction target, but it already
  exists.
Call Stack (most recent call first):
  scripts/cmake/vcpkg_find_acquire_program.cmake:212 (vcpkg_extract_archive)
  ports/dpdk/portfile.cmake:67 (vcpkg_find_acquire_program)
  scripts/ports.cmake:206 (include)

(#48226)


# Regular variable is NOTFOUNDish or empty value, and it hides a cache variable:
# The cache variable takes effect.
set(GN "THIS IS CACHED GN" CACHE INTERNAL "")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to be a existing path so that if(EXISTS "${PATH}") can be used in an implementation. Using an arbitrary string which is not a valid and existing path should be forbidden.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the direction.
This is is an input value here. Both vfap and find_program short-cut for any trueish value. So the proposed requirement isn't used at the moment. I'm not convinced that it is necessary to establish it in the test now when I can't be sure that some ports don't already expect the current behavior, e.g. due to managing PATH and program variable.

@dg0yt dg0yt changed the title [vcpkg scripts] Make vfap more robust [world rebuild][vcpkg scripts] Make vfap more robust Nov 15, 2025
@dg0yt dg0yt marked this pull request as ready for review November 15, 2025 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants