On Jul 13, 2014, at 4:07 PM, Mark Brethen wrote:
> On Jul 13, 2014, at 3:28 PM, Jeremy Lavergne wrote:
>
>> On Jul 13, 2014, at 16:18, Mark Brethen wrote:
>>
>>> In need to reinplace the CMakeLists file in each subdirectory, replacing
>>> 'Mod/(subdirectory)' with 'lib/${name}/Mod/(subdirectory). How do you write
>>> a tcl loop to accomplish this? (Avoids creating a multitude of patch files.)
>>
>> I’d use fs-traverse, filtering to just the specific files you’re after.
>
> Will this traverse the subdirectories?
>
> fs-traverse file ${worksrcpath}/src/Mod {
> if [string match {/CMakeLists.txt$} ${file}] {
> reinplace "s| Mod/| lib/${name}/Mod/|g" ${file}
> }
> }
Yes, the purpose of the `fs-traverse` procedure is to traverse subdirectories.
It's MacPorts' answer to the shell's `find` command.
Instead of "[string match {/CMakeLists.txt$} ${file}]", how about "{[file tail
${file}] == "CMakeLists.txt"}"?
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev