Я работаю с проектом CMake, который принимает большой набор входных файлов и обрабатывает их, чтобы получить еще больший набор выходных файлов.Это делается с помощью одного вызова скрипта Python.
В скрипте CMake это выражается как
add_custom_command(
OUTPUT ${OUTPUT_ARTIFACTS}
COMMAND ...
DEPENDS ${INPUT_ARTIFACTS}
)
. Он прекрасно работает в сборках Windows, но в Ubuntu, при использовании сборок makefile это не удается.потому что в make-файле есть «полезная» команда в стиле
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bdavis/git/hifi/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating [SUPER LONG LIST OF OUTPUT ARTIFACTS]"
. В моей тестовой системе эта последняя команда содержит почти 197 тысяч символов, поэтому при запуске make она дросселирует с
/bin/sh: 1: eval: /usr/bin/cmake: Argument list too long
Это очень расстраивает, так как это не критическая часть сборки, а только обмен сообщениями о состоянии, который в данном случае является избыточным, поскольку скрипт, производящий артефакты, также выдает выходные данные для каждого артефакта.
Существует ли механизм подавления сообщения CMake generating
?