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