On linux, at least, this results in there being double quotes around the
||, which causes it to not be interpreted by the shell.
B.
On 07/29/2014 12:25 PM, Glenn Coombs wrote:
I think this works like you want:
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} VERBATIM)
add_custom_target(do-foo ALL DEPENDS foo)
--
Glenn
On 29 July 2014 19:19, J Decker <[email protected]
<mailto:[email protected]>> wrote:
can try removing the quotes and subst space for semicolon?
On Tue, Jul 29, 2014 at 11:13 AM, Bill Newcomb <[email protected]
<mailto:[email protected]>> wrote:
That doesn't work either:
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\""
The whole string gets passed as the first argument to generate-foo.
B.
On 07/25/2014 09:43 AM, Iosif Neitzke wrote:
> "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] <mailto:[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 <http://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 <http://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 <http://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