| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Многопапковый проект на cmake |
| Автор: navrocky 27.8.2009, 16:37 | ||||||
Породил многопапковый проект на cmake под линем примерно такой структуры:
Вот содержимое корневого CMakeLists.txt
Под линем собирается нормально с версией cmake 2.6-patch2, под винду поставил cmake 2.6-patch4. Пишет ошибку, что мол нельзя собирать все подпроекты в одну папку bin. Пишет:
Судя по всему я сделал проект не правильно :(. Вот и вопрос: а как правильно делать такие проекты? ЗЫ Мне надо чтобы все библиотеки и бинарники собрались в папку bin для упрощения запуска |
| Автор: navrocky 31.8.2009, 14:24 | ||||||
| Отвечу сам себе Для сборки в сложном проекте в одну папку надо сделать следующее: В корневом CMakeLists.txt прописать:
В каждом вложенном подпроекте, который должен скомпилиться в папку bin в случае исполняемого файла добавить:
В случае DLL:
${TARGET} - имя цели В итоге мы получаем сборку всех экзешников большого проекта и длл'ек в папку bin, что упрощает запуск скомпиленных программ. |
| Автор: korbian 31.8.2009, 15:39 |
| navrocky, а intermediate файлы там же складируются? |
| Автор: navrocky 31.8.2009, 16:27 | ||
Мусорник отдельно
То весь хлам уходит в release отдельно от исходников. И папка bin там же будет |
| Автор: navrocky 31.8.2009, 16:44 | ||
Если мы хотим такую структуру проекта, то так как я написал:
В вашем варианте хлам ложится в корневую папку. Не понятно почему он должен ложиться в swap... http://www.cmake.org/Wiki/CMake_FAQ#What_is_an_.22out-of-source.22_build.3F |
| Автор: korbian 1.9.2009, 07:46 |
выработалась у меня уже привычка такая! создаю в корне директорию bin, в которой создаю директории release и debug для бинарных файлов. по такому же принципу создаю директорию swap для временных файлов. Я СЧИТАЮ, что старшей в иерархии должна быть директория для бинарных файлов, а не директория для некоторой их конфигурации. Ну а директория swap нужна для удобства, чтобы "грохнув" её очищать весь воркспейс от "скверны". |
| Автор: navrocky 1.9.2009, 13:32 | ||
| Может быть вы и правы.. Но как тогда bin положить выше корня сборки? Может так:
Но опять-же в эту папку свалятся и release и debug бинарники, что не есть хорошо... |
| Автор: korbian 1.9.2009, 14:39 | ||||
попробуйте так:
|