Предварительный вариант получился таким -> Есть ряд нюансов:
1) cmake считает, что тулчейн лежит прямо в папке с CmakeLists.txt и kgp_riscv_toolchain.cmake. Исправить это можно по разному, например я создал символьную ссылку в папку с тулчейном. Можно в файле kgp_riscv_toolchain.cmake прописать полный путь
2) cmake перед сборкой проверяет компилятор на работоспособность, пытаясь собрать тестовый проект с флагами, указанными в kgp_riscv_toolchain.cmake, в том числе ему нужен скрипт линкера. Тут вопрос к Klen'у, можно ли это сделать как-то проще или добавить вариант по-умолчанию? Я подсовываю ему какой-то треш от stm32f103.
3) Работает все примерно так:
cmake -B tmp -DCMAKE_TOOLCHAIN_FILE=kgp_riscv_toolchain.cmake
cd tmp/
make all