[CMake] [cmake-developers] Empty ERROR_VARIABLE in	execute_process
    Roman Wüger 
    roman.wueger at gmx.at
       
    Tue May 24 00:09:38 EDT 2016
    
    
  
Ok, thanks Brad.
Hello Qt Mailing list,
First i thought this is a bug in CMake but it has appeared that it seems to be a bug in qmllint:
Here the original question:
when I run qmllint from the command line to test an error I get:
C:\Tests>C:\Qt\5.6\msvc2015\bin\qmllint.exe test.qml
test.qml:1 : Syntax error
C:\Tests>echo %ERRORLEVEL%
-1
C:\Tests>
If I call this from a CMake script
execute_process(COMMAND C:/Qt/5.6/msvc2015/bin/qmllint.exe C:/Tests/test.qml
               RESULT_VARIABLE _resVar
               OUTPUT_VARIABLE _outVar
               ERROR_VARIABLE _errVar
             OUTPUT_STRIP_TRAILING_WHITESPACE
               ERROR_STRIP_TRAILING_WHITESPACE)
message("_resVar: ${_resVar}")
message("_outVar: ${_outVar}")
message("_errVar: ${_errVar}")
The output is:
1>  _resVar: -1
1>  _outVar:
1>  _errVar:
It seems that the error pipe isn’t read correctly, because _errVar is empty.
And hints?
Regards
Roman
> Am 23.05.2016 um 19:33 schrieb Brad King <brad.king at kitware.com>:
> 
>> On 05/23/2016 11:34 AM, Roman Wüger wrote:
>> I tried it with CMake 3.5.1 and 3.5.2 and now with the master with
>> the same result. I've attached an example which won't work.
> 
> I was able to reproduce it with that, but I also tried this:
> 
> add_custom_target(${PROJECT_NAME}-c2
>   COMMAND C:/Qt/5.6/msvc2015/bin/qmllint.exe ${CMAKE_CURRENT_SOURCE_DIR}/test.qml
>   )
> 
> The output does not appear in this case either.  No execute_process
> is involved, and qmllint is invoked directly by msbuild.  This has
> something to do with qmllint changing output behavior when it is
> executed inside a VS IDE (MSBuild) build.
> 
> -Brad
> 
    
    
More information about the CMake
mailing list