Don't have a build of a case modify files in the source directory -- only in the build directories?
- Dominant language
- C
- Stars
- 7
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
I'm asking this because of what I saw in #31 which has some potential problems from my perspective. But, this is a question that I'm not sure the answer to, so want developers here to weigh in. This also might be something that would need to go into cime rather than here, I'm not sure.
What I noticed in #31 is that for machines where the autoconf version is even slightly out of alignment (on Izumi it's 1.16.1 vs. 1.16.5) from the aclocal and configure files storied from autoconf in the distribution -- it'll overwrite those files when doing the build.
So after successfully building a case on Izumi, my libraries/mpi-serial submodule under CTSM will look like this from a "git status":
```
git status
HEAD detached at 39416b7
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: Makefile.in
modified: aclocal.m4
modified: configure
modified: tests/Makefile.in
Untracked files:
(use "git add ..." to include in what will be committed)
autom4te.cache/
```
THE LIST OF CONCERNS I HAVE WITH THIS:
- It's modifying source files something that feels wrong to do
- Some users could only have readonly access to the source tree for a whole set of reasons
- It encodes specifics of the build into the source directory -- possibly including case specific things
- If you build two cases simultaneously on the same machine -- what will happen? I suspect at least one will fail
- Could you build multiple cases at the same time with different compilers?
- It did cause problems with for example #31 and I wonder if there will be other problems that happen later as well
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.