On Aug 17, 2011, at 10:32 AM, Bill Hoffman wrote: > On 8/17/2011 10:17 AM, Andreas Mohr wrote: >> [cue maximally inflammatory subject ;)] >> >> Hi, >> >> I keep encountering template file processing where >> @VAR@ replacements end up empty due to the required template >> variable simply not having been set (or empty) [or renamed away]. >> Doh. >> >> I'd strongly vote for configure_file() to fail hard in such cases, >> _by default_. >> Build system life is already hard enough without all those nice >> "features" of incomplete/insufficient commands (especially in the >> packaging area I seem to keep hitting more holes >> than actual functionality :-P). >> >> So: >> - change configure_file() behaviour to fail a CMake configure run hard >> in case of unavailable (_not_ "empty") @var@ (and perhaps ${var}?), >> and have this be the _default_ setting >> - add configure_file() flag to optionally _disable_ this hard failure >> in case it's actually unwanted >> - add configure_file() flag to optionally enable hard failure for the >> other case of existing yet empty variables, too >> - add policy around this new highly useful feature >> - hmm, but these things {w|sh}ould apply to both ${xx} and @xx@ - do we need >> to have some configuration to tell behaviour apart? >> - anything I've missed that should be added/changed for a more suitable >> implementation? >> - add these things to a new bug# for implementation >> >> Done Deal? >> > far from... :) > > If you did that, I am guessing, almost any cmake project using configure_file > would hard fail. Many projects use empty as a value. This is a huge > backwards compatibility can of worms... :) > > > -Bill
Can you make it an option like "@Only"? @Hard_Fail or @Soft_Fail? You get the idea. Mike Jackson _______________________________________________ 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