Russian Qt Forum
Ноябрь 25, 2024, 08:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: CMake и *.pri файлы  (Прочитано 6481 раз)
Djavdet
Гость
« : Май 27, 2010, 12:39 »

    Добрый день, уважаемые форумчане!
Рассматриваю возможность перехода на сборку проекта с СMake. Вроде бы все в нем реализовано. Но, у меня в проекте есть подпроект (QtSingleApplication), который используя qmake подключается элементарно: include(./.../qtsingleapplication.pri).
И как теперь это затащить в cmake я пока не разобрался. Может уже есть у кого-либо подобный опыт, поделитесь пожалуйста.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Май 27, 2010, 15:22 »

Ну можно посмотреть этот *.pri, "запомнить" имена перечисленных там *.cpp и *.h файлов и добавить их в CMakeList.
Как то так. Хотя, может имеются для этого готовые модули CMake
Записан

ArchLinux x86_64 / Win10 64 bit
Djavdet
Гость
« Ответ #2 : Май 27, 2010, 16:16 »

да, метод с запоминанием, не то чтобы удобный
Записан
asvil
Гость
« Ответ #3 : Май 27, 2010, 20:10 »

Читал я, читал документацию cmake и не нашел там такого механизма перечисления имен файлов, как *.pri. Поэтому плюнул и сделал
Код:
file(GLOB_RECURSE SOURCES . "*.cpp")
file(GLOB_RECURSE Q_HEADERS . "*[^_p].h")
file(GLOB_RECURSE P_HEADERS . "*_p.h")
file(GLOB_RECURSE RESOURCES . "*.qrc")
file(GLOB_RECURSE FORMS . "*.ui")
Правда не знаю работает ли последовательность [^_p].
Точку можно/нужно заменить на ${CMAKE_CURRENT_SOURCE_DIR}.
Далее:
Код:
qt4_wrap_cpp(MOC_SOURCES ${Q_HEADERS})
qt4_automoc(${Q_SOURCES})
qt4_wrap_ui(UI_HEADERS ${FORMS})
qt4_add_resources(QRC_SOURCES ${RESOURCES})
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #4 : Май 27, 2010, 22:06 »


А чем плохо сделать отдельный CMakeLists.txt в папке проекта QtSingleApplication? Указав в нем список исходников (т.е. про сам .pri файл забудем)
Записан
Djavdet
Гость
« Ответ #5 : Май 28, 2010, 11:07 »

в смысле  будет cmake-овский подпроект?
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #6 : Май 28, 2010, 19:38 »

Ну да, все на симэйке будет.
Записан
Djavdet
Гость
« Ответ #7 : Май 28, 2010, 22:56 »

в pri файле указано TEMPLATE -= fakelib

что за подпроект будет в cmake?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.