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

[csolution] intdir: solution level intermediate directory is needed for multi-context CMakelists #1243

Closed
brondani opened this issue Dec 7, 2023 · 6 comments
Assignees
Labels
cmake-backend Issues that will be solved by the new CMake-backend discussion Indicates an issue being in discussion enhancement New feature or request

Comments

@brondani
Copy link
Collaborator

brondani commented Dec 7, 2023

In the multi-context scenario a solution level intermediate directory is needed.
By default it could be the top level tmp directory already defined in the intdir specification.
How intdir should be evaluated when it is customized, in particular concerning context specific access sequences?
Should we change or restrict the rules concerning its customization?

@brondani brondani added enhancement New feature or request cmake-backend Issues that will be solved by the new CMake-backend labels Dec 7, 2023
@jkrech jkrech added the discussion Indicates an issue being in discussion label Dec 12, 2023
@ReinhardKeil
Copy link
Collaborator

It this really required? I would suggest to clarify the behavior of access sequences. It could be:

$cmse-lib(Myproject)$ is only permitted when --context-set is used. When applying the Rules for Context-Set this would give only one valid context that translates to a full specified context.

Without --context-set for such access sequences a fully qualified context must be specified. Would this work?

@ReinhardKeil
Copy link
Collaborator

The direct CMake flow:

  • requires a top-level intdir
  • does not allow to specify intdir at cproject.yml level.

A potential solution is to only allow to specify intdir at the level of csolution.yml.

@ReinhardKeil
Copy link
Collaborator

Current situation

output-dirs: is only allowed at *.csolution.yml level. Only the option to use Access Sequences for intdir: needs to be removed from the documentation.

Is this correct?

@brondani
Copy link
Collaborator Author

output-dirs: is only allowed at *.csolution.yml level. Only the option to use Access Sequences for intdir: needs to be removed from the documentation.

Is this correct?

Your understanding is correct, however it is not only a matter of documentation. Removing the Access Sequences evaluation would be an incompatible breaking change. This is certainly a possible solution but it requires a major version increment.

@ReinhardKeil
Copy link
Collaborator

ReinhardKeil commented Jun 18, 2024

In case of Access sequences in intdir:, the proposal is to just issue an warning.

Note: that this restriction is caused by the fact that the native CMake dependency check does not allow this level of control. Personally, I'm not aware of a usecase where the user needs fine control of the temp directory layout.

@brondani
Copy link
Collaborator Author

Solved by #1607.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake-backend Issues that will be solved by the new CMake-backend discussion Indicates an issue being in discussion enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants