[CMake] Bug? A failure in add_custom_command/POST_BUILD does not propagate to target.
Alexander Neundorf
a.neundorf-work at gmx.net
Fri Apr 17 16:19:07 EDT 2009
On Friday 17 April 2009, Hugo Heden wrote:
> The following example illustrates a possible bug.
>
> 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?).
>
> The problem seems to be that a succeeding custom command comes after the
> failing one, and this sort of *hides* the failure somehow.. The fact that
> failures are hidden like this is of course dangerous. (We have tests that
> have been failing like this for a while that have not shown up as error in
> our nightly builds.) 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
>
> Any comments?
Please report this as a bug in the bug tracker.
Alex
More information about the CMake
mailing list