Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

non-legacy communication mode changed the working directory for invoking cmake #2569

Closed
leifwalsh opened this issue May 25, 2022 · 3 comments · Fixed by #2601
Closed

non-legacy communication mode changed the working directory for invoking cmake #2569

leifwalsh opened this issue May 25, 2022 · 3 comments · Fixed by #2601
Labels
bug a bug in the product Feature: configure
Milestone

Comments

@leifwalsh
Copy link

leifwalsh commented May 25, 2022

Brief Issue Summary

The recently introduced new communication modes have broken a workflow for us that used to work with the legacy mode.

We have a direnv-like development environment configuration tool that provides commands you can put on your PATH which will select the appropriate version of the tool to run depending on the current working directory in which they're invoked. For example, when working within a specific repository, I might have repository-local config that makes the cmake command run a specific version of cmake from a specific path that repository is known to work with. Similarly, I might have configuration to make cc resolve to a specific version of gcc or clang.

These repositories used to work with cmake-tools in VS Code because the driver would execute the cmake command inside the repository directory (in a multi-folder workspace, within the folder I'm trying to build):

. It seems that the newer communication modes don't run the tools in any particular directory (
const res = await this.executeCommand(cmake, args, outputConsumer, { environment: env }).result;
), so our configuration tool cannot determine the context in which they're operating.

Would it be possible to make the newer drivers run these tools inside the folders they're trying to build please? Alternatively, if you could provide a setting that lets us control the working directory in which commands are run, we could use that too.

CMake Tools Diagnostics

No response

Debug Log

No response

Additional Information

No response

@elahehrashedi
Copy link
Contributor

Are you asking us to set the cwd for cmakeFileApiDriver?

@elahehrashedi elahehrashedi added the more info needed More info is needed from the community for us to properly triage and investigate. label May 25, 2022
@leifwalsh
Copy link
Author

I think so, yes. I don't actually know what the difference is between the file api driver and the server driver, but that seems like the right fix as best I can read it.

@leifwalsh
Copy link
Author

Any update here?

@github-actions github-actions bot locked and limited conversation to collaborators Aug 1, 2022
@bobbrow bobbrow added this to the 1.12 milestone Aug 26, 2022
@bobbrow bobbrow added bug a bug in the product and removed more info needed More info is needed from the community for us to properly triage and investigate. labels Aug 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug a bug in the product Feature: configure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants