> The documentation for ctest_configure(), ctest_build(), and ctest_submit() > isn't completely clear on what happens if one of these steps fails. Let's > say I have the following dashboard script (this is pseudocode, arguments > have been deliberately omitted for brevity, this example won't work): > > ctest_start() > ctest_configure() > ctest_build() > ctest_test() > ctest_submit() > > What happens if ctest_configure() fails (for example, because CMake failed > to find a needed library)? Does the entire script stop right there? Or does > it continue and try to execute ctest_build() anyway? Does ctest_build() > silently do nothing because the configure step failed? Looking through the > documentation for ctest_configure() and ctest_build(), I see some > information on the RETURN_VALUE and CAPTURE_CMAKE_ERROR arguments, but it's > not clear what happens if these aren't used. > > If someone could clarify for me what's supposed to happen here, and what > the recommended best practices are for making sure that ctest_submit() > still gets called in the event of a failure, I will gladly submit a > documentation patch with this information. I'm guessing it involves using > the RETURN_VALUE and CAPTURE_CMAKE_ERROR arguments, but the documentation > doesn't state this. >
In our VTK/ParaView dashboards we ensure the submit happens by doing partial submissions after each stage (this also gives incremental results on CDash): set(success TRUE) ctest_configure(RETURN_VALUE configure_result) ctest_submit(PARTS Configure) # Tell submit to submit a partial result with only the configure step if (configure_result) message("Configure failed") set(success FALSE) # you could exit here endif() if (success) ... # run next stage here HTH, Shawn
-- 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: https://cmake.org/mailman/listinfo/cmake-developers