Я хочу превратить содержимое файла в аргумент. Аргумент относится к исполняемому файлу, который тестируется. Это то, что у меня естьКак я могу запустить команду внутри команды в CMake Macro
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ --arg1\ input
)
Я хочу поместить аргументы в файл и передать его исполняемому файлу в качестве ввода. Я хочу что-то вроде этого:
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ $(cat ${ARGS_file})
)
Или как этот
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ `cat ${ARGS_file}`
)
Или как этот
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ $(< ${ARGS_file})
)
Ни один из этих трех кодов работает. Когда я пытаюсь использовать их вне CMake, они отлично работают. но внутри CMake они не работают.
CMake не использует оболочку для оценки аргументов. Если вам нужно это поведение, и вы уверены, что работаете только с Linux, вы можете попробовать что-то вроде этого: COMMAND bash -c "$ {executable} $ (cat $ {ARGS_file})" Нравится программа? снова передается в bash. – languitar