From: Kornel Benko Date: Sun, 15 Dec 2019 12:38:23 +0000 (+0100) Subject: Cmake tests: Make foreach() command robust X-Git-Tag: 2.3.4~3 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a99dc05e18018db28f4a485e4c9c31dd905681a0;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. (cherry picked from commit 7b44280da4fc015a4a930c311cc6073cebacf738) --- diff --git a/development/autotests/ExportTests.cmake b/development/autotests/ExportTests.cmake index 3b520585e7..bd34376993 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")