Do you have a simple sample script (Without parts) to demonstrate glob not working as you describe? Seems like if that wasn't working you might've brought it to our attention? ;)
Also simple (non parts) script to demonstrate how you were trying to do this with sconscript and repository? On Mon, Jan 28, 2019 at 2:00 PM Jason Kenny <dragon...@live.com> wrote: > No, > > > > I was trying to see if I could achieve this via Repository(), however I > discovered it failed because Glob() does not seem to work correctly with > the Repostory() and VariantDir() logic when I recurse search file Files ( > As I do with Pattern() api in Parts… it goes in to a death loop of variant > directory recursion on itself ☹ ). So instead I am looking having Parts > detect that a “vcs” object was used and if the checkout directory and the > .part file directory are different then pass the checkout directory via > src_dir to the SConscript() call. > > > > I should note that the _SConscript code still needs a fix to handle more > than one Repository(). It looks like that a loop has to be added. However > this seems like a non-trival change. > > > > Jason > > > > *From:* Scons-dev <scons-dev-boun...@scons.org> *On Behalf Of *Bill Deegan > *Sent:* Monday, January 28, 2019 1:03 PM > *To:* SCons developer list <scons-dev@scons.org> > *Subject:* Re: [Scons-dev] proposed change to _SConscript > > > > are you using Repository to achieve this? > > > > On Mon, Jan 28, 2019 at 11:01 AM Jason Kenny <dragon...@live.com> wrote: > > Hi, > > > > I would like to make a proposal to for a small change to _SConscript > function. > > > > The change is related to code around line 260. ie this section of code: > > > > try: > > fs.chdir(ldir, change_os_dir=sconscript_chdir) > > except OSError: > > # There was no local directory, so we should be > > # able to chdir to the Repository directory. > > # Note that we do this directly, not through > > # fs.chdir(), because we still need to > > # interpret the stuff within the SConscript file > > # relative to where we are logically. > > fs.chdir(ldir, change_os_dir=0) > > > os.chdir(actual.dir.get_abspath()) > > > > > > I would like to change the os.chdir(actual.dir.get_abspath()) to > os.chdir(ldir.srcnode().abspath) > > > > I believe this code is more correct and solve an issue I would like to > correct when calling scons on "out of source" builds. > > > > What this changes as documented, should be nothing. What it changes/fixes > is use of the src_dir keyword in the SConscript() call ( which was > documented a long time ago). > > > > What this fixes for me is the ability define a build file that is not in a > source tree, as if it was in the source tree. In the case Parts I can > define a Parts that would checkout or used some code checked out via > another means as if the build file was part of the source tree. The value > of this is: > > > > 1) may not have the ability to add new builds files to an existing project > > 2) may want to show how a new build system ( as Scons) would add value to > an existing setup, without having to get build files checked in. > > 3) want to build an external project as if the build file was part of the > project. > > 4) other logic related to the above... > > > > This is basically like an CMake external project for me in Parts as I can > tell Parts to checkout some code and build it via having a Part file that > can build it directly or via having it call the native build system via > Command() or some custom builder. > > > > This line change would allow for build file to pretend that it exists in > the source location. It would also allow me to define three basic concepts > in Parts: > > > > 1) build/Variant directory ( where we do the build actions) > > 2) build file/part_dir directory ( ie the directory in which the build > file exists) > > 3) Source/src_dir directory ( ie where the source exists) > > > > most of this time the src_dir==part_dir except of out of source cases. > > > > I wanted to ask about this to make sure there is nothing I might be > missing that would cause concerns > > > > If this is fine I would like to make a patch for this for Scons ( vs me > monkey patching it in Parts) > > > > Jason > > > > _______________________________________________ > Scons-dev mailing list > Scons-dev@scons.org > https://pairlist2.pair.net/mailman/listinfo/scons-dev > <https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C6b0a5875d5084ea75e3408d68554274d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636842993811578067&sdata=N1Vvh3n2Vd81F2qLBEIfMgts4VuScR57a8K4zU9Fp8k%3D&reserved=0> > > _______________________________________________ > Scons-dev mailing list > Scons-dev@scons.org > https://pairlist2.pair.net/mailman/listinfo/scons-dev >
_______________________________________________ Scons-dev mailing list Scons-dev@scons.org https://pairlist2.pair.net/mailman/listinfo/scons-dev