Hi Kornel,

On Wednesday, November 13, 2013 11:08 AM, cmake-boun...@cmake.org wrote:
> Am Mittwoch, 13. November 2013 um 18:41:03, schrieb David Hauck 
> <dav...@netacquire.com>
>> Hi Kornel,
>> 
>> On Wednesday, November 13, 2013 10:26 AM, cmake-
> boun...@cmake.org wrote:
>>> Am Mittwoch, 13. November 2013 um 18:12:26, schrieb David Hauck 
>>> <dav...@netacquire.com>
>>>> Hello,
>>>> 
>>>> I've been using several "install (CODE "EXECUTE_PROCESS ...")"
>>>> constructs
>>> in my top-level CMakeLists.txt file. However, I've been unable to 
>>> capture/operate on any exit status of the embedded command.
>>> Unfortunately, documentation/searches haven't turned up any useful 
>>> pointers. The closest I've come is a pointer in the following thread:
>>>> http://www.cmake.org/pipermail/cmake/2011-July/045475.html However, 
>>>> I've not been able to sufficiently read between the lines to get 
>>>> this working.
>>>> 
>>>> Does anyone have any thoughts on how to get something like the 
>>>> following working:
>>>> 
>>>>    install (CODE "EXECUTE_PROCESS (
>>>>       COMMAND ant ...
>>>>       WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/java
>>>>       ERROR_VARIABLE _err
>>> 
>>> Didn't you mean 'RESULT_VARIABLE' here?
>> 
>> No, I really do mean ERROR_VARIABLE (unless, of course, this variable 
>> does
> not include the non-zero exit status of the EXECUTE_PROCESS command?).
> 
> If you run 'cmake --help-command execute_process', you see: ... If 
> RESULT_VARIABLE is given the variable will be set to contain the 
> result of running the processes.  This will be an integer return code 
> from the last child or a string describing an error condition. ... So, 
> if this is not "0", then you have an error condition.

Yes, I see this. I also assumed that the ERROR_VARIABLE would be returning 
non-zero text as well in this case. I will change to using RESULT_VARIABLE, 
but, in both cases, it seems that I'm referencing the variable incorrectly 
(either syntactically or in the incorrect context) since this/these is/are 
always <empty>.
 
>> BTW, I'm still curious about the (dual 'code') construct generally.
>> Specifically, if I do the following I never see the fatal error 
>> message (so I'm wondering if there's still something wrong regarding 
>> the scoping of the message command)?
>> 
>>    install (CODE "EXECUTE_PROCESS (
>>       COMMAND ant ...
>>       WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/java
>>       ERROR_VARIABLE _err
>>    )
>>    MESSAGE( FATAL_ERROR \"err: ${_err}\")
> 
> Never did this. When do you want to see the message?

Ideally, I want to be able to test for the result of this variable (either 
ERROR_VARIABLE or RESULT_VARIABLE) after the execute_process command completes 
(during 'make install') to determine its result and to terminate (with error 
message) when the command fails.

Thanks,
-David

> As I understand your code, only in call of cmake, e.g. at configuration time.
> 
>       Kornel
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to