[cmake-developers] [CMake 0014428]: Enabling Verbose NMAKE Builds

Mantis Bug Tracker mantis at public.kitware.com
Fri Sep 20 14:37:18 EDT 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=14428 
====================================================================== 
Reported By:                Rob Stewart
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14428
Category:                   CMake
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-09-20 14:37 EDT
Last Modified:              2013-09-20 14:37 EDT
====================================================================== 
Summary:                    Enabling Verbose NMAKE Builds
Description: 
The current recommendation for verbose NMAKE builds, described at
http://www.cmake.org/Wiki/CMake_FAQ#Is_there_an_option_to_produce_more_.27verbose.27_compiling.3F,
is unsatisfactory.  While I would prefer a better option, the following
variation of what appears in Windows.cmake would be much better:

<pre>
...
set(CMAKE_START_TEMP_FILE "")                                        # +
set(CMAKE_END_TEMP_FILE "")                                          # +

# for borland make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
if(CMAKE_GENERATOR MATCHES "Borland" AND NOT CMAKE_VERBOSE_MAKEFILE) # +
  set(CMAKE_START_TEMP_FILE "@&&|\n")
  set(CMAKE_END_TEMP_FILE "\n|")
endif()

# for nmake make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
if(CMAKE_GENERATOR MATCHES "NMake" AND NOT CMAKE_VERBOSE_MAKEFILE)   # +
  set(CMAKE_START_TEMP_FILE "@<<\n")
  set(CMAKE_END_TEMP_FILE "\n<<")
endif()

include(Platform/WindowsPaths)
</pre>

That variation uses CMAKE_VERBOSE_MAKEFILE to control whether to use batch
files.

A better solution, I suspect, is to add conditional lines to the makefiles,
controlled by CMAKE_VERBOSE_MAKEFILE, that cat -- sorry, type -- the batch files
before running them.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-09-20 14:37 Rob Stewart    New Issue                                    
======================================================================




More information about the cmake-developers mailing list