On 2018-02-26 14:19-0500 Michael Jackson wrote:

In our CMake based project I generate a *.cmake file which I call with the 
following bit of code:

 add_custom_target(DREAM3D_MKDOCS_GENERATION ALL
   COMMAND "${CMAKE_COMMAND}" -P "${docsCmakeFile}"
   COMMENT "using mkdocs to generate the documentation"
 )

Inside the generated file is the following cmake command:

 message(STATUS "Starting mkdocs execution. This can take a while.....")
 execute_process(COMMAND "/path/to/mkdocs" build
               OUTPUT_VARIABLE mkdocs_gen_output
               RESULT_VARIABLE mkdocs_gen_result
               ERROR_VARIABLE mkdocs_gen_error
               WORKING_DIRECTORY 
"/Users/mjackson/DREAM3D-Dev/DREAM3D-Build/Debug/Documentation/mkdocs"
               )
 message(STATUS "mkdocs_gen_result: ${mkdocs_gen_result}")
 message(STATUS "mkdocs_gen_error: ${mkdocs_gen_error}")
 message(STATUS 
"**************************************************************************")
 message(STATUS "mkdocs_gen_output: ${mkdocs_gen_output}")
 message(STATUS 
"**************************************************************************")


The issue that I am having is that if the mkdocs command fails, the build does NOT show 
the failure. Is there a way to have the "cmake -P" command pick up the fact 
that the cmake script failed so that the build fails or throws a warning/error?

Hi Mike:

I think you already have a good specific answer to your question, but
just out of curiosity could this CMake script approach be replaced by
executing "/path/to/mkdocs" as the COMMAND in a custom command where
your DREAM3D_MKDOCS_GENERATION custom target DEPENDS on the OUTPUT of
that custom command?  Or are there reasons not to implement this more
usual custom command/custom target approach in this case?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

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

Reply via email to