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 <d3c...@gmail.com> wrote: > can try removing the quotes and subst space for semicolon? > > > On Tue, Jul 29, 2014 at 11:13 AM, Bill Newcomb <bnewc...@nvidia.com> > 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 <bnewc...@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 >> -- >> >> 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 >
-- 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