Cmake's foreach command includes forms
foreach(<loop_var> IN LISTS <lists>)
foreach(<loop_var> IN ITEMS <items>)
foreach(<loop_var> RANGE ...)
We get the lines to be parsed by
file(STRINGS "${filepath}" lines)
If in the parsed lyx-file there is a line
containing only the single word 'IN', or 'RANGE', then
the command
foreach(_l ${lines})
can create a syntax error (at least with cmake1.16)
In fact, in file pl_Additional.lyx:12913 happens to have
such a beast.
(cherry picked from commit
7b44280da4fc015a4a930c311cc6073cebacf738)
# What should we test, if default_output_format is not defined?
# For now we test everything ...
set(out_formats "xhtml" ${DVI_FORMATS} ${PDF_FORMATS})
- foreach(_l ${lines})
+ foreach(_l IN LISTS lines)
if(_l MATCHES "^\\\\default_output_format +\([^ ]+\)")
set(_format ${CMAKE_MATCH_1})
if(_format STREQUAL "default")