Как добавить пустой элемент в список CMake? - PullRequest
0 голосов
/ 07 февраля 2019

Существует сценарий CMake:

unset(FOO)
list(APPEND FOO "")
list(APPEND FOO "")
list(APPEND FOO "")
list(APPEND FOO "")
list(LENGTH FOO SIZE)
message(FATAL_ERROR ${SIZE})

Ожидание - 4. Реальность - 0

Я нашел обходной путь, но он выглядит как кладж:

set(FOO "dummy")
set(FOO "${FOO};")
set(FOO "${FOO};")
set(FOO "${FOO};")
set(FOO "${FOO};")
list(REMOVE_AT FOO 0)
message(FATAL_ERROR ${SIZE})

Пример немного проще, чем моя задача, поэтому, пожалуйста, не предлагайте писать set(FOO ";;;") :) Я получаю элементы извне, и некоторые из них могут быть пустыми.Примерно так:

function(do_smth LIST_WITH_EMPTY_ITEMS)
    unset(RESULT)
    foreach(X IN LISTS LIST_WITH_EMPTY_ITEMS)
        if(${CONDITION})
            list(APPEND RESULT "${X}")
        endif()
    endforeach()
endfunction()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...