[CMake] Spaces in a command

Iosif Neitzke iosif.neitzke+cmake at gmail.com
Fri Jul 25 12:43:07 EDT 2014


"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 <bnewcomb at nvidia.com> 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


More information about the CMake mailing list