Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление файлов исходников с Cmake, добавить исходники, из других каталогов 
V
    Опции темы
GwinnBleidd
Дата 2.8.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 2.5.2008
Где: Украина, Донецк

Репутация: нет
Всего: нет



Недавно начал использовать CMake и почти сразу столкнулся со следующей проблемой: 
нужно собрать с++ проект, исходники лежат в нескольких папках. Как указать эти исходники в качестве необходимых для компиляции/линковки?

К примеру нужно подкинуть каталог dir1 c файлами src1.cpp и src2.cpp. Как это сделать??
Ничего кроме добавления файлов вручную в CMakeList.txt не придумал:

ADD_EXECUTABLE(execname main.cpp dir1/src1.cpp dir1/src2.cpp)          :(

Подскажите, может есть более простой способ, не требующий ручного редактирования файла CMakeList.txt

Спасибо.

ЗЫ: ОС: debian squeeze,  IDE: KDevelop

Это сообщение отредактировал(а) GwinnBleidd - 2.8.2009, 11:37
PM MAIL   Вверх
bilbobagginz
Дата 2.8.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



может 
Код

ADD_SUBDIRS(тыдынц)


?


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
GwinnBleidd
Дата 2.8.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 2.5.2008
Где: Украина, Донецк

Репутация: нет
Всего: нет



увы нет :(
пишет 
Код

CMake Error at CMakeLists.txt:11 (ADD_SUBDIRS):
Unknown CMake command "ADD_SUBDIRS".


PS:используется cmake версии 2.6.4
PM MAIL   Вверх
nickless
Дата 2.8.2009, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 13
Всего: 181



Цитата(GwinnBleidd @  2.8.2009,  10:35 Найти цитируемый пост)
может есть более простой способ, не требующий ручного редактирования файла CMakeList.txt

Куда уж тут проще? Разве что если CMake прочитает твои мысли и сам отредактирует файл...


А если серьёзно, FILE(GLOB ...) тебе в помощь.

Добавлено через 2 минуты и 15 секунд
Модератор: Тема перенесена из "Программное обеспечение под *NIX системы"


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
vinick
Дата 3.8.2009, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 9.6.2005

Репутация: нет
Всего: 22



Если требуется добавлять все файлы исходников из каталогов, то можно попробовать такую конструкцию
Код

AUX_SOURCE_DIRECTORY(dir1 SRC1)
AUX_SOURCE_DIRECTORY(dir2 SRC2)
AUX_SOURCE_DIRECTORY(. SRC3)
ADD_EXECUTABLE(execname ${SRC1} ${SRC2} ${SRC3})


А вобще если исходники разнесены по разным каталогам, то не проще ли будет каждый каталог собирать как статическую библиотеку?
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.