История изменений
Исправление KivApple, (текущая версия) :
И тут есть два варианта:
1) Перезаписать переменные CMAKE_C_COMPILER и CMAKE_CXX_COMPILER после директивы project. Это костыль, ибо не будет работать проверка компилятора и некоторые другие внутренние механизмы CMake. С тем же успехом можно пройтись sed по итоговому Makefile и заменить gcc на avr-gcc.
2) Указать тулчайн с помощью параметра командной строки CMake. То есть через настройки IDE. Зачем? Это тавтология. Прошивка и так жёстко привязана к конкретному тулчайну. При смене микроконтроллера придётся править исходники и изменение CMakeLists.txt - самое простое.
Какой профит от неуказывания тулчайна в файле проекта прошивки? Какой НЕпрофит я знаю - лишние телодвижения при компиляции проекта, либо при импорте проекта в IDE. А какой профит? То что ты можешь по-быстрому без правки проектного файла скомпилировать прошивку для AVR компилятором для ARM и увидеть тонны ошибок компиляции?
Даже если предположить использование некоторого фреймворка, который нивелирует различие между платформами, на разных платах банально пины разные используются.
Документацию CMake касательно тулчайнов писали с расчётом на обычные приложения. Отказ от хардкода тулчайна в этом случае даёт профит - можно легко кросс-компилировать проект, не редактируя его.
Исправление KivApple, :
И тут есть два варианта:
1) Перезаписать переменные CMAKE_C_COMPILER и CMAKE_CXX_COMPILER после директивы project. Это костыль, ибо не будет работать проверка компилятора и некоторые другие внутренние механизмы CMake. С тем же успехом можно пройтись sed по итоговому Makefile и заменить gcc на avr-gcc.
2) Указать тулчайн с помощью параметра командной строки CMake. То есть через настройки IDE. Зачем? Это тавтология. Прошивка и так жёстко привязана к конкретному тулчайну. При смене микроконтроллера придётся править исходники и изменение CMakeLists.txt - самое простое.
Какой профит от неуказывания тулчайна в файле проекта прошивки? Какой НЕпрофит я знаю - лишние телодвижения при компиляции проекта, либо при импорте проекта в IDE. А какой профит? То что ты можешь по-быстрому без правки проектного файла скомпилировать прошивку для AVR компилятором для ARM и увидеть тонны ошибок компиляции?
Даже если предположить использование некоторого фреймворка, который нивелирует различие между платформами, на разных платах банально пины разные используются.
Исправление KivApple, :
И тут есть два варианта:
1) Перезаписать переменные CMAKE_C_COMPILER и CMAKE_CXX_COMPILER после директивы project. Это костыль, ибо не будет работать проверка компилятора и некоторые другие внутренние механизмы CMake. С тем же успехом можно пройтись sed по итоговому Makefile и заменить gcc на avr-gcc.
2) Указать тулчайн с помощью параметра командной строки CMake. То есть через настройки IDE. Зачем? Это тавтология. Прошивка и так жёстко привязана к конкретному тулчайну. При смене микроконтроллера придётся править исходники и изменение CMakeLists.txt - самое простое.
Какой профит от неуказывания тулчайна в файле проекта прошивки? Какой НЕпрофит я знаю - лишние телодвижения при компиляции проекта, либо при импорте проекта в IDE. А какой профит? То что ты можешь по-быстрому без правки проектного файла скомпилировать прошивку для AVR компилятором для ARM и увидеть тонны ошибок компиляции?
Исходная версия KivApple, :
И тут есть два варианта:
1) Перезаписать переменные CMAKE_C_COMPILER и CMAKE_CXX_COMPILER после директивы project. Это костыль, ибо не будет работать проверка компилятора и некоторые другие внутренние механизмы CMake.
2) Указать тулчайн с помощью параметра командной строки CMake. То есть через настройки IDE. Зачем? Это тавтология. Прошивка и так жёстко привязана к конкретному тулчайну. При смене микроконтроллера придётся править исходники и изменение CMakeLists.txt - самое простое.
Какой профит от неуказывания тулчайна в файле проекта прошивки? Какой НЕпрофит я знаю - лишние телодвижения при компиляции проекта, либо при импорте проекта в IDE. А какой профит? То что ты можешь по-быстрому без правки проектного файла скомпилировать прошивку для AVR компилятором для ARM и увидеть тонны ошибок компиляции?