Как поручить CMake использовать компилятор архитектуры сборки

При использовании CMake для кросс-компиляции обычно указывается файл цепочки инструментов черезCMAKE_TOOLCHAIN_FILE вариант. ВТерминология GNUС помощью этого файла можно указать набор инструментов для архитектуры хоста. Однако, как правило, нельзя ожидать, что он сможет выполнить что-либо, созданное с помощью этой цепочки инструментов. Очень часто некоторые инструменты сборки должны быть скомпилированы для архитектуры сборки.

Рассмотрим следующую настройку. У меня есть два исходных файлаgenfoo.c а такжеbar.c, Во время сборкиgenfoo.c нужно скомпилировать и запустить. Его вывод должен быть записан вfoo.h, Тогда я могу скомпилироватьbar.c, который#include "foo.h", Поскольку CMake по умолчанию использует инструментарий архитектуры хоста, инструкции дляbar.c легко Но как мне сказать, что для компиляции нужно использовать инструментарий сборки архитектурыgenfoo.c? Просто говоряadd_executable(genfoo genfoo.c) приведет к использованию неправильного компилятора.

Ответы на вопрос(1)

Ваш ответ на вопрос