I'm not sure, but I think that, in the UNIX case, your executable is
not "sha1", but rather it is looking for the filename "sha1 -r".
Try
IF(UNIX)
SET(CHKSUM_EXECUTABLE "/sbin/sha1")
SET(CHKSUM_PARAMETERS "-r")
ELSE(UNIX)
SET(CHKSUM_EXECUTABLE "/usr/bin/sha1sum")
SET(CHKSUM_PARAMETERS ""
ENDIF(UNIX)
EXECUTE_PROCESS( COMMAND ${CHKSUM_EXECUTABLE} ${CHKSUM_PARAMETERS}
$ENV{PP_ROOTDIR}/bin/PSWd OUTPUT_FILE
CHECKSUM.txt )
Although it won't affect the interpretation, note that this is not
the appropriate syntax for
#!/bin/sh
Perhaps that line should be something else.
Richard
On May 15, 2007, at 11:38 AM, Ajay Divekar wrote:
I am trying to execute a script which calculates checksum of the
binary files
created during install process.
the script is as follows
#!/bin/sh
IF(UNIX)
SET(CHKSUM "/sbin/sha1 -r")
ELSE(UNIX)
SET(CHKSUM "/usr/bin/sha1sum")
ENDIF(UNIX)
EXECUTE_PROCESS( COMMAND ${CHKSUM} $ENV{PP_ROOTDIR}/bin/PSWd
OUTPUT_FILE
CHECKSUM.txt )
The above execute_program command does not work but if I replace it
with (on
unix synstems)
EXECUTE_PROCESS( COMMAND /sbin/sha1 -r bin/PSWd OUTPUT_FILE
CHECKSUM.txt)
it works.
This leads me to believe that EXECUTE_PROCESS command does not take
variables.
Is this true? and if it is what would be the solution to
calculating checksum
on different platforms?
Regards,
--
Ajay Divekar
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake