crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Структура директорий в сложном проекте
Sokoloff
  опции профиля:
сообщение 28.9.2010, 17:49
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Подскажите как правильно организовать структуру директорий в проекте.

Я пишу плагин для вывода дерева классов, плагин можно собрать либо для Kate, либо для Juffed (есть такой редактор под Qt). Возник вопрос как правильно организовать структуру директорий в проекте. Сейчас сделал так:
symbolbrowser
  +--/juffed   # H и cpp файлы специфичные для Juffed, т.е плагинный интерфейс juffed-а, плюс файлы для сборки juffed-плагина.
  |      +-- juffed.pro
  |      ...      
  |
  +--/images # Иконки общие для обоих плагинов
  |      
  +--/kate     # H и cpp файлы специфичные для Kate, т.е плагинный интерфейс kate, плюс файлы для сборки kate-плагина.
  |      +-- CMakeLists.txt
  |      ...  
  |
  +--/parsers  # Общие парсеры, h и cpp файлы
  |      
  |
... Общие h и cpp файлы, используются как в juffed, так и в kate. Файлов для сборки здесь нет.

Еще должны добавиться три директории с переводами - общие, juffed-овские (оба ts) и для kate (KDE-шные).

Плагин для kate собирается cmakе, я положил CMakeList.txt в поддиректорию kate, и прописал в нем пути как ../commonfile.cpp. Все вроде собирается, но как-то это нестандартно, коряво и не очевидно будет для людей как это собирать.

Вообще Juffed использует qmake и можно в корне положить и CMakeList.txt для kate и pro-файл для juffed-а, но IMHO это решение еще хуже.

Может есть у кого мысли как реорганизовать это все?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 28.9.2010, 18:03
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Sokoloff @ 28.9.2010, 18:49) *
Все вроде собирается, но как-то это нестандартно, коряво и не очевидно будет для людей как это собирать.

странно.
а ты сталкивался со стандартным методом сборки?
клади в корень REDME с описанием и делай как тебе легче.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 28.9.2010, 18:26
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(kwisp @ 28.9.2010, 19:03) *
странно.
А почему бы ему и не собираться?

Цитата(kwisp @ 28.9.2010, 19:03) *
а ты сталкивался со стандартным методом сборки?
Аж с тремя:) configure/make, qmake и cmake. Когда заходишь в директорию с чужими исходниками, по файлам сразу видно как собирать, а здесь вообще ничего не будет.

Цитата(kwisp @ 28.9.2010, 19:03) *
клади в корень REDME с описанием и делай как тебе легче.
Если бы я знал. Я потому и спрашиваю, может кто делал что-то похожее и подскажет как легче/правильнее организовать.

Еще вопрос, я так понял cmake всегда использует CMakeList.txt файл или можно указать ему другой файл?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 28.9.2010, 18:32
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Sokoloff @ 28.9.2010, 19:26) *
Еще вопрос, я так понял cmake всегда использует CMakeList.txt файл или можно указать ему другой файл?

дуамю что можно, но в этом не помошник.

Цитата(Sokoloff @ 28.9.2010, 19:26) *
Цитата(kwisp @ 28.9.2010, 19:03) *
странно.
А почему бы ему и не собираться?

читай внимательно из моего коммента не следует что - не собирается . :)
странно то что тебя это смущает.
Цитата(Sokoloff @ 28.9.2010, 19:26) *
Аж с тремя

ну возьми исходники любых открытых программ.
в 90% лежит REDME где написано как и что делать.
а "по файлам" определять как и что собирается - я бы не был уверен в верности действий.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 28.9.2010, 19:19
Сообщение #5


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Как тебе такая структура
Раскрывающийся текст
/symbolbrowser
    |---/juffed
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |--- juffed.pro
    |        |--- ...
    |---/kate
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |--- CMakeLists.txt
    |        |--- ...
    |---/common # Все общие файлы
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |---/parsers
    |                 |--- parsers.pri
    |                 |--- parsers.cmake
    |                 |--- ...
    |        |--- common.pri
    |        |--- common.cmake
    |        |--- ...
    |--- README.TXT
    |--- LICENSE
    |--- ... # можно приложить набор скриптов для сборки разных версий
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 28.9.2010, 19:34
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(igor_bogomolov @ 28.9.2010, 20:19) *
Как тебе такая структура
Раскрывающийся текст
/symbolbrowser
    |---/juffed
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |--- juffed.pro
    |        |--- ...
    |---/kate
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |--- CMakeLists.txt
    |        |--- ...
    |---/common # Все общие файлы
    |        |---/resources
    |                 |---/images
    |                 |---/translations
    |                 |--- resources.qrc
    |        |---/parsers
    |                 |--- parsers.pri
    |                 |--- parsers.cmake
    |                 |--- ...
    |        |--- common.pri
    |        |--- common.cmake
    |        |--- ...
    |--- README.TXT
    |--- LICENSE
    |--- ... # можно приложить набор скриптов для сборки разных версий

Да, не плохо. Спасибо.
Но еще появились доп. ограничения связанные с системой сборки juffed-а. Похоже можно что-то замутить через SVN .
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 14:28