From: Kornel Benko Date: Sun, 15 Dec 2019 12:38:23 +0000 (+0100) Subject: Cmake tests: Make foreach() command robust X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=ea5fb345e8f3d2b2398aeef659196dbee727cd04;p=features.git Cmake tests: Make foreach() command robust Cmake's foreach command includes forms foreach( IN LISTS ) foreach( IN ITEMS ) foreach( 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. --- diff --git a/development/autotests/ExportTests.cmake b/development/autotests/ExportTests.cmake index 85d0ecce29..febac16642 100644 --- a/development/autotests/ExportTests.cmake +++ b/development/autotests/ExportTests.cmake @@ -53,7 +53,7 @@ macro(getoutputformats filepath varname format_set) # 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")