Thanks David,
Following your advice I did the following:
SET( PATCH_BATCH_FILE patch_wrap.bat )
FILE( WRITE ${PATCH_BATCH_FILE} "${PATCH_EXECUTABLE} -p0 -i
${LIB_DIR}.patch" )
EXECUTE_PROCESS( COMMAND cmake -E chdir ${PROJECT_SOURCE_DIR}
${PATCH_BATCH_FILE}
RESULT_VARIABLE RESULT_PATCH )
MESSAGE( STATUS "Patch result: ${RESULT_PATCH}, PROF SOURCE DIR:
${PROJECT_SOURCE_DIR}" )
FILE( REMOVE ${PATCH_BATCH_FILE} )
This worked (add in your own Windows checks)
David Cole wrote:
For now, another workaround would be to write a script that calls
patch with the -i argument and then invoke the script with
execute_process or a different cmake -E command line...
On Tue, Nov 24, 2009 at 7:43 PM, Hugh Sorby <h.so...@auckland.ac.nz
<mailto:h.so...@auckland.ac.nz>> wrote:
Thanks Alan,
I will attempt to:
1) search the CMake bug tracker (not very good at this most never
seem to find anything relevant)
2) add new bug if 1) fails to bear any fruit.
Unfortunately the
cmake -E chdir netgen patch -p0 < netgen-4.9.11.patch
doesn't work so well on Windows Vista which is why I was trying to
use the -i option.
Alan W. Irwin wrote:
On 2009-11-25 11:00+1200 Hugh Sorby wrote:
Sorry about that missed a chdir should be
cmake -E chdir netgen patch -p0 -i netgen-4.9.11.patch
I confirm that you have found a bug (at least with Debian
stable Linux and a
bootstrapped cmake version 2.8.0-rc6). Here is a simple
demonstration
with "ls -i".
softw...@raven> ls -i config.h
4539478 config.h
softw...@raven> cmake -E chdir . ls -i config.h
config.h
In other words the ls -i option is consumed by CMake just like
the patch -i
option is consumed for you. Note that -i is an
option for CMake itself (wizard mode) so there is probably
some screwup
in interpretation of the command line when cmake -E is being run.
If I change the flag from -i to -l, then the flag is not
consumed and
you get the same results for
"ls -l config.h" and "cmake -E chdir . ls -l config.h".
That's consistent
with the idea that you will only have trouble with cmake
consuming the
option when it is an option it recognizes. ("-l" is not a
cmake command
option while "-i" is).
I also confirm the bug occurs for cmake-2.6.0 (the Debian
stable system
version) which makes it a bug that has been around for quite a
while. I
suggest you go ahead and put it in the bugtracker (if you
cannot find
another report about the same issue there).
Until this cmake -E option consuming bug is fixed I suggest
you could avoid
the -i option with patch by using, e.g.,
cmake -E chdir netgen patch -p0 <netgen-4.9.11.patch
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics
and Astronomy,
University of Victoria (astrowww.phys.uvic.ca
<http://astrowww.phys.uvic.ca>).
Programming affiliations with the FreeEOS equation-of-state
implementation
for stellar interiors (freeeos.sf.net
<http://freeeos.sf.net>); PLplot scientific plotting software
package (plplot.org <http://plplot.org>); the libLASi project
(unifont.org/lasi <http://unifont.org/lasi>); the Loads of
Linux Links project (loll.sf.net <http://loll.sf.net>); and
the Linux Brochure Project
(lbproject.sf.net <http://lbproject.sf.net>).
__________________________
Linux-powered Science
__________________________
_______________________________________________
Powered by www.kitware.com <http://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
_______________________________________________
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