Re: [cmake-developers] Empty ERROR_VARIABLE in execute_process
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 : > >> 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 > -- 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://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] Empty ERROR_VARIABLE in execute_process
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 -- 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://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] Empty ERROR_VARIABLE in execute_process
On 05/23/2016 03:25 AM, Roman Wüger wrote: > The output is: > > 1> _resVar: -1 > 1> _outVar: > 1> _errVar: > > It seems that the error pipe isn’t read correctly, because _errVar is empty. I cannot reproduce that. With an empty test.qml file I get: _resVar: -1 _outVar: _errVar: test.qml:1 : Expected token `numeric literal' using the same qmllint version: >c:\Qt\5.6.0\5.6\msvc2015_64\bin\qmllint.exe --version qmllint 1.0 and current CMake 'master'. -Brad -- 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://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] Empty ERROR_VARIABLE in execute_process
Hello, 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 -- 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://public.kitware.com/mailman/listinfo/cmake-developers