[CMake] Is it possible for CMake to generate unescaped quotes on the (bash) command line as a result of add_custom_command?
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Fri Apr 13 18:02:54 EDT 2018
On 2018-04-13 23:02+0200 Nils Gladitz wrote:
> On 13.04.2018 21:48, Alan W. Irwin wrote:
>> [...]
>> However, that is wrong since that command currently needs two arguments
>> even if
>> one of them is empty. So instead I need the generated command to be
>>
>> ./test-drv-info "temporary_target_" ps >
>> /home/software/plplot/HEAD/build_dir/drivers/test_dyndrivers_dir/ps.driver_info
>>
>> or
>>
>> ./test-drv-info "" ps >
>> /home/software/plplot/HEAD/build_dir/drivers/test_dyndrivers_dir/ps.driver_info
>>
>> depending on how LIBRARY_TARGET_PREFIX is set.
>>
>> Is it possible to implement that?
>
> Hi Alan,
>
> with VERBATIM just using regular unescaped quotes (which are cmake syntax and
> not part of the value) around the argument should work e.g.
>
> COMMAND test-drv-info "${LIBRARY_TARGET_PREFIX}" ${SOURCE_ROOT_NAME}
> ${CMAKE_CURRENT_BINARY_DIR}/test_dyndrivers_dir/${SOURCE_ROOT_NAME}.driver_info
>
>
> That way even when ${LIBRARY_TARGET_PREFIX} expands empty
> add_custom_command() will receive an argument which it will escape / quote as
> required by the build system.
Hi Nils:
When starting fresh with a clean cache using
"${LIBRARY_TARGET_PREFIX}" in the COMMAND worked perfectly, i.e.,
propagated as "" to the command line when ${LIBRARY_TARGET_PREFIX}
expands empty. Thanks for that suggestion!
The strange thing is I am virtually positive I tried that exact idea
earlier today, and it did not work, but maybe that was due to another
issue such as a dirty cache.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
More information about the CMake
mailing list