MantisBT - CMake
View Issue Details
0008906CMakeCMakepublic2009-04-20 05:462016-06-10 14:30
Hugo Heden 
Bill Hoffman 
normalmajoralways
closedmoved 
CMake-2-6 
 
0008906: A failure in add_custom_command/POST_BUILD does not propagate to target
Possible bug in "Visual Studio 9 2008" generator?

Consider the following CMakeLists.txt code. This little "project" should fail when the target MyTarget is built (because one of the POST_BUILD custom commands fails).

===========================
cmake_minimum_required(VERSION 2.6)

PROJECT( test )

ADD_CUSTOM_TARGET( MyTarget
  COMMENT "This is MyTarget"
)

ADD_CUSTOM_COMMAND(
    TARGET MyTarget
    POST_BUILD
    COMMAND cmake -E blablablahh # Error (intentional error, to illustrate buggy behaviour.)
    VERBATIM
    )
   
ADD_CUSTOM_COMMAND(
   TARGET MyTarget
   POST_BUILD
   COMMAND cmake -E echo "hello there" # Success.
   VERBATIM
)
=============================

However, running

  > cmake -G "Visual Studio 9 2008" ..\source
  > devenv test.sln /Build Debug /Project MyTarget.vcproj

succeeds, which is not expected. (Right?). When using other Generators and build tools (I have tested with "NMake Makefiles" -- nmake on Windows and "Unix Makefiles" -- Gnu-make on Linux) the build phase fails as expected.

  > cmake --version
  cmake version 2.6-patch 2
The problem seems to be that a succeeding custom command comes after the failing one, and this sort of *hides* the failure somehow..

Rationale for suggesting Severity = Major: The fact that failures are "hidden" like this is of course dangerous. We have unit tests that have been failing for a while that have not shown up as errors in our nightly builds because of this bug.. ouch!

No tags attached.
Issue History
2009-04-20 05:46Hugo HedenNew Issue
2009-09-14 13:11Bill HoffmanNote Added: 0017444
2009-09-14 13:11Bill HoffmanStatusnew => assigned
2009-09-14 13:11Bill HoffmanAssigned To => Bill Hoffman
2009-09-14 17:52Hugo HedenNote Added: 0017493
2016-06-10 14:27Kitware RobotNote Added: 0041545
2016-06-10 14:27Kitware RobotStatusassigned => resolved
2016-06-10 14:27Kitware RobotResolutionopen => moved
2016-06-10 14:30Kitware RobotStatusresolved => closed

Notes
(0017444)
Bill Hoffman   
2009-09-14 13:11   
Report the bug to MS. CMake is returning 1 in this case and it should be and error...
(0017493)
Hugo Heden   
2009-09-14 17:52   
Ah, ok, thanks for taking a look at this! If anybody out there (working at MS?) is willing to take a look at this it'd be appreciated.
(0041545)
Kitware Robot   
2016-06-10 14:27   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.