How does one create a nonfatal error in cmake_install.cmake?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

How does one create a nonfatal error in cmake_install.cmake?

R. Sage
Under CMake 2.8.7, I am trying to produce an install error similarly to how I would use SEND_ERROR in a normal CMakeLIsts.txt and I successfully insert message(SEND_ERROR...) into the cmake_install.cmake and it produces a message, but unfortunately upon hitting the message(SEND_ERROR ...), it stops install execution immediately.  I have also tested under CMake 3.5.1 and I get the same results as the target system (2.8.7).

Below is a complete example that reproduces the issue.  The behavior is that 'make install' terminates immediately after the SEND_ERROR message, before issuing any other messages (the example uses messages as the install steps).  I edited the cmake_install.cmake to experiment with different message types and each type either returns status 0 (success) or aborts immediately without continuing.

Lacking a nonfatal error, I guess I'll have to separate out the custom installation to be run manually outside of the CMake-controlled 'make install'.

Thanks,
Randy Sage


---- Example CMakeLists.txt ----
cmake_minimum_required (VERSION 2.8.7)
project (INSTALL_ERROR_DEMO)

install(CODE "execute_process (
      COMMAND \"touch\" \"/dev/null/cannot/exist\"
      ERROR_VARIABLE _err
      RESULT_VARIABLE _res
)
if (NOT \${_res} EQUAL \"0\")
  message( SEND_ERROR \"err: \${_err}, res: \${_res}\")
  message( INFO \" Proceeding with any remaining steps, but 'make install' will fail\")
endif ()"
  COMPONENT compname
)

install(CODE "message( INFO \" Hypothetical later install step\")"
  COMPONENT compname
)

--

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