Skip to content

[vcpkg-make] Add a NO_CONFIGURE option#50141

Draft
JavierMatosD wants to merge 2 commits intomicrosoft:masterfrom
JavierMatosD:make-skip-configure
Draft

[vcpkg-make] Add a NO_CONFIGURE option#50141
JavierMatosD wants to merge 2 commits intomicrosoft:masterfrom
JavierMatosD:make-skip-configure

Conversation

@JavierMatosD
Copy link
Contributor

Experimenting with NO_CONFIGURE option for vcpkg-make port. If upstream doesn't supply a configure script than user have to add an empty stub. Motivation -> https://github.com/microsoft/vcpkg/pull/49542/changes#diff-acd6c2d36d562deab8fa57e5842b1423c3fa533140245ece6360247d4c8e3f0a

@dg0yt
Copy link
Contributor

dg0yt commented Feb 23, 2026

This only satisfies the "no configure" case.
But we know that there are "different configure" cases, e.g. openssl.
CMake's ExternalProject has CONFIGURE_COMMAND which is a flexible way to specify alternative commands. (But admittedly it might get tricky with command options.)

@Neumann-A
Copy link
Contributor

It should be possible to use vcpkg_make_install without vcpkg_make_configure. I have the feeling it is only used for the copying of the sources?

I mean if you want to go hardcoe you could introduce CONFIGURE_RULE and use similar syntax as cmake's compiler rules to allow injecting custom stuff.

@JavierMatosD JavierMatosD marked this pull request as draft February 23, 2026 21:09
set(cm_FLAGS AR AS CC C CCAS CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJXX R RC UPC Y)

list(TRANSFORM cm_FLAGS APPEND "FLAGS")
vcpkg_backup_env_variables(VARS
Copy link
Member

Choose a reason for hiding this comment

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

It seems like almost all of this is unused given that it seems to be setting up an environment for calling configure?

Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

I am opposed to a function Xxx_configure having a parameter NO_CONFIGURE which suggests that the function does nothing. (This is one of the worst sins of vcpkg_configure_make which is one of the reasons we introduced vcpkg_make_Xxx in the first place!)

Either:

  1. The functionality that people actually need should be extracted as a separate function not named Xxx_configure and people who want this should call that, perhaps vcpkg_make_prepare, or
  2. vcpkg_make_build et al. should be fixed to work if vcpkg_make_configure is not called first.

(I'm guessing (1) is appropriate but I wouldn't require that)

@BillyONeal
Copy link
Member

I stopped the build because (1) this is almost a world rebuild, (2) the lab is behind at the moment, and (3) I don't think this should merge as currently written.

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.

4 participants