Вот моя установка: Windows 7 x64, MingW, Msys, CMake, Freescale Kinetis SDK, Code::Blocks
Я пытаюсь настроить параметры проекта, установленные CMake, в правильный проект Code:: Blocks. Когда я изменяю предоставленный файл build_debug.bat
с помощью -G "CodeBlocks - Unix Makefiles"
, он действительно создает файл .cbp
, а также обычный файл Makefile
(и он создает проект). Однако, когда я открываю этот файл .cbp
в Code::Blocks, он в основном просто указывает на Makefile
, а сборка проекта просто запускает make
на Makefile
.
Если я отменю выбор «Это пользовательский Makefile» в параметрах проекта и добавлю исходный файл в дерево проекта, как обычную IDE, он не будет собран правильно, т. е. включаемые файлы, библиотеки, компоновщик, параметры компиляции и т. д. ., не импортируются в сам проект. Кажется, что проект в основном просто держатель для Makefile, так что от него как от IDE не так много пользы.
Конечно, если я добавлю исходный файл к исходному CMakeLists.txt
, который является частью дистрибутива, и перезапущу cmake (через файл build_debug.bat), то он будет работать нормально.
Итак, есть ли способ получить «настоящую» конфигурацию IDE из CMake? Я предполагаю, что ответ - Нет, поскольку "настоящая" конфигурация IDE является статической вещью, а Makefile - это общая (завершенная по Тьюрингу) программа, поэтому в целом нет способа создать ее автоматически, хотя я подозреваю, что для 99 % случаев, которые вы просто указываете, включают каталоги, файлы lib и параметры компилятора, поэтому на самом деле нет необходимости в общем программировании.
Я, вероятно, могу попытаться выяснить, откуда глубоко скрытые вызовы gcc получают свои включаемые файлы, какие библиотеки связаны и какие параметры компиляции используются, и добавить все это вручную в собственный проект Code:: Blocks, но это, кажется, противоречит цели того, что поставщики пакетов уже сделали это для меня, и становится очень утомительным при сборке для другого процессора или платы разработки.
Спасибо