"If VERBATIM is given then all arguments to the commands will be escaped properly for the build tool so that the invoked command receives each argument unchanged. Note that one level of escapes is still used by the CMake language processor before add_custom_command even sees the arguments. Use of VERBATIM is recommended as it enables correct behavior. When VERBATIM is not given the behavior is platform specific because there is no protection of tool-specific special characters."
http://www.cmake.org/cmake/help/v3.0/command/add_custom_command.html On Fri, Jul 25, 2014 at 11:20 AM, Bill Newcomb <[email protected]> wrote: > I want to add stuff to a custom command based on some definition: > > cmake_minimum_required(VERSION 2.6) > > set(DO_RELAX 1) > if(DO_RELAX) > set(OR_RELAX "|| echo \"no big deal\"") > else() > set(OR_RELAX "") > endif() > > add_custom_command(OUTPUT foo COMMAND generate-foo ${OR_RELAX}) > add_custom_target(do-foo ALL DEPENDS foo) > > > However, this produces the following rule in the generated makefile: > > foo: > $(CMAKE_COMMAND) -E cmake_progress_report > /home/bnewcomb/tmp/cmake-tests/custom-or/CMakeFiles $(CMAKE_PROGRESS_1) > @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold > "Generating foo" > generate-foo ||\ echo\ "no\ big\ deal" > > Is there some way I can get cmake to not escape all of the > spaces in the value of OR_RELAX? > > Thanks, > B. > > ----------------------------------------------------------------------------------- > This email message is for the sole use of the intended recipient(s) and may > contain > confidential information. Any unauthorized review, use, disclosure or > distribution > is prohibited. If you are not the intended recipient, please contact the > sender by > reply email and destroy all copies of the original message. > ----------------------------------------------------------------------------------- > -- > > 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 -- 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
