James Bigler wrote:
FIND_PROGRAM(PARSER_EXECUTABLE
NAMES my_parser
PATHS ${PARSER_DIR} )
IF(EXISTS ${PARSER_EXECUTABLE})
SET(PARSERS_FOUND 1)
ELSE(EXISTS ${PARSER_EXECUTABLE})
SET(PARSERS_FOUND 0)
ENDIF(EXISTS ${PARSER_EXECUTABLE})
CMake Error: Error in cmake code at
/tmp/bigler/manta/trunk/src/CMake/FindParsers.cmake:20:
IF had incorrect arguments: EXISTS ${BISON_EXECUTABLE} (Unknown
arguments specified).
Current CMake stack:
Is this a bug, or am I doing something wrong. I would expect that
nothing in the else block to be evaluated if the if statement were true.
Try IF(${PARSER_EXECUTABLE}).
A FIND_PROGRAM always sets a variable to -NOTFOUND when it doesn't find
anything. This is equivalent to FALSE.
Now having said that, I'd expect EXISTS to work. But I'm a little tired
to go over your program behavior. The general drill with things like
this, is to isolate the offending code snippet down to a trivial
reproducer. Your current snipped is almost but-not-quite trivial. I
note the docs say, "[EXISTS] behavior is well-defined only for full
paths." Is PARSER_EXECUTABLE in fact a full path?
BTW, given the -NOTFOUND output, seems like PARSERS_FOUND is a redundant
variable.
Cheers,
Brandon Van Every
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake