[CMake] Possible 'brief' output options for UnixMakefileGenerator

j s j.s4403 at gmail.com
Mon Dec 20 02:21:53 EST 2010


How about?

make | grep -v '^Scanning' | sed -e 's/^.*\///'

Juan

On Sun, Dec 19, 2010 at 11:49 PM, Michael Wild <themiwi at gmail.com> wrote:

> On 12/20/2010 01:01 AM, Campbell Barton wrote:
> > Hi, I'm STILL trying to have CMake makefiles replace Blender's hand
> > crafted makefiles.
> >
> > Now the main sticking point with 2 other developers is they don't like
> > CMakes output, as its overly verbose.
> >
> > I realize CMake doesn't need to bend to the whim of all users but
> > wondering if we could have something like  RULE_BRIEF_OUTPUT
> >
> > Rather then printing progress and full path for all files it could
> > skip percentage and use a relative path for each C file.
> >
> > I can try submitting a patch but would first like to know if this
> > would be acceptable.
> >
> > how it looks now...
> > --- snip
> > Scanning dependencies of target bf_editor_animation
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_channels_defines.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_channels_edit.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_deps.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_filter.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_ipo_utils.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/anim_markers.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/drivers.c.o
> > [  0%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/fmodifier_ui.c.o
> > [  1%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/keyframes_draw.c.o
> > [  1%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/keyframes_edit.c.o
> > [  1%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/keyframes_general.c.o
> > [  1%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/keyframing.c.o
> > [  1%] Building C object
> >
> source/blender/editors/animation/CMakeFiles/bf_editor_animation.dir/keyingsets.c.o
> > Linking C static library ../../../../lib/libbf_editor_animation.a
> > [  1%] Built target bf_editor_animation
> > Scanning dependencies of target bf_editor_armature
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/armature_ops.c.o
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/editarmature.c.o
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/editarmature_generate.c.o
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/editarmature_retarget.c.o
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/editarmature_sketch.c.o
> > [  1%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/poseSlide.c.o
> > [  2%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/poseUtils.c.o
> > [  2%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/poselib.c.o
> > [  2%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/poseobject.c.o
> > [  2%] Building C object
> >
> source/blender/editors/armature/CMakeFiles/bf_editor_armature.dir/reeb.c.o
> > Linking C static library ../../../../lib/libbf_editor_armature.a
> > [  2%] Built target bf_editor_armature
> > Scanning dependencies of target bf_editor_curve
> > [  2%] Building C object
> > source/blender/editors/curve/CMakeFiles/bf_editor_curve.dir/curve_ops.c.o
> > [  2%] Building C object
> > source/blender/editors/curve/CMakeFiles/bf_editor_curve.dir/editcurve.c.o
> > [  2%] Building C object
> > source/blender/editors/curve/CMakeFiles/bf_editor_curve.dir/editfont.c.o
> > Linking C static library ../../../../lib/libbf_editor_curve.a
> > [  2%] Built target bf_editor_curve
> > [  5%] Built target bf_editor_datafiles
> > ---
> >
> > What it could look like...
> > --- snip
> > Entering 'source/blender/editors/animation'
> >  anim_channels_defines.c
> >  anim_channels_edit.c
> >  anim_deps.c
> >  anim_filter.c
> >  anim_ipo_utils.c
> >  anim_markers.c
> >  drivers.c
> >  fmodifier_ui.c
> >  keyframes_draw.c
> >  keyframes_edit.c
> >  keyframes_general.c
> >  keyframing.c
> >  keyingsets.c
> > Linking C static library ../../../../lib/libbf_editor_animation.a
> > [  1%] Built target bf_editor_animation
> > Entering 'source/blender/editors/armature'
> >  armature_ops.c
> >  editarmature.c
> >  editarmature_generate.c
> >  editarmature_retarget.c
> >  editarmature_sketch.c
> >  poseSlide.c
> >  poseUtils.c
> >  poselib.c
> >  poseobject.c
> >  reeb.c
> > Linking C static library ../../../../lib/libbf_editor_armature.a
> > [  2%] Built target bf_editor_armature
> > Entering 'source/blender/editors/curve'
> >  curve_ops.c
> >  editcurve.c
> >  editfont.c
> > Linking C static library ../../../../lib/libbf_editor_curve.a
> > [  2%] Built target bf_editor_curve
> > [  5%] Built target bf_editor_datafiles
> > ---
> >
>
> IMHO, I think the abbreviated output like you show it is pretty much
> useless in parallel builds as it gets all jumbled up. No telling to
> which target a certain output line belongs. I'd prefer
>
> Entering source/blender/editors/animation
> Scanning dependencies of target bf_editor_animation
>  CMakeFiles/bf_editor_animation.dir/anim_channels_defines.c.o
>  CMakeFiles/bf_editor_animation.dir/anim_channels_edit.c.o
>  CMakeFiles/bf_editor_animation.dir/anim_deps.c.o
>  CMakeFiles/bf_editor_animation.dir/anim_filter.c.o
>  CMakeFiles/bf_editor_animation.dir/anim_ipo_utils.c.o
>  CMakeFiles/bf_editor_animation.dir/anim_markers.c.o
>  CMakeFiles/bf_editor_animation.dir/drivers.c.o
>  CMakeFiles/bf_editor_animation.dir/fmodifier_ui.c.o
>  CMakeFiles/bf_editor_animation.dir/keyframes_draw.c.o
>  CMakeFiles/bf_editor_animation.dir/keyframes_edit.c.o
>  CMakeFiles/bf_editor_animation.dir/keyframes_general.c.o
>  CMakeFiles/bf_editor_animation.dir/keyframing.c.o
>  CMakeFiles/bf_editor_animation.dir/keyingsets.c.o
> Linking C static library ../../../../lib/libbf_editor_animation.a
> [  1%] Built target bf_editor_animation
> Entering source/blender/editors/armature
> Scanning dependencies of target bf_editor_armature
>  CMakeFiles/bf_editor_armature.dir/armature_ops.c.o
>  CMakeFiles/bf_editor_armature.dir/editarmature.c.o
>  CMakeFiles/bf_editor_armature.dir/editarmature_generate.c.o
>  CMakeFiles/bf_editor_armature.dir/editarmature_retarget.c.o
>  CMakeFiles/bf_editor_armature.dir/editarmature_sketch.c.o
>  CMakeFiles/bf_editor_armature.dir/poseSlide.c.o
>  CMakeFiles/bf_editor_armature.dir/poseUtils.c.o
>  CMakeFiles/bf_editor_armature.dir/poselib.c.o
>  CMakeFiles/bf_editor_armature.dir/poseobject.c.o
>  CMakeFiles/bf_editor_armature.dir/reeb.c.o
> Linking C static library ../../../../lib/libbf_editor_armature.a
> [  2%] Built target bf_editor_armature Scanning dependencies of target
> bf_editor_curve
> Entering source/blender/editors/curve
>  CMakeFiles/bf_editor_curve.dir/curve_ops.c.o
>  CMakeFiles/bf_editor_curve.dir/editcurve.c.o
>  CMakeFiles/bf_editor_curve.dir/editfont.c.o
> Linking C static library ../../../../lib/libbf_editor_curve.a
> [  2%] Built target bf_editor_curve
> [  5%] Built target bf_editor_datafiles
>
> I.e., the output object-file names are relative to the
> CMAKE_CURRENT_BINARY_DIR. This way you still can tell to which target a
> output line belongs, although in parallel builds you still lose the
> directory information.
>
> But honestly, I think that CMake is by no means too verbose. Your
> proposal wouldn't change the number of lines displayed anyway, and for
> large libraries with many source files it makes sense to have the
> percentage there. Also, full paths are unambiguous.
>
>
> My 2c
>
> Michael
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101220/b4090a38/attachment-0001.htm>


More information about the CMake mailing list