Qt Subdirs, где один проект генерирует исходные / заголовочные файлы, используемые в другом проекте
У меня есть проект Qt, который содержит много подпроектов. У меня возникла проблема, когда один из проектов генерирует файлы (файлы.cpp и.h), которые используются в нескольких других проектах. Вот пример структуры каталогов:
src
\- master.pro
\- project1
\- project1.pro
- myHeader.h <generated AFTER project1.pro runs>
- mySource.cpp <generated AFTER project1.pro runs>
\- project2
\- project2.pro <needs to include mySource.cpp>
- main.cpp <includes myHeader.h>
\- project3
\- project3.pro <needs to include mySource.cpp>
- main.cpp <includes myHeader.h>
Чтобы быть немного более конкретным, project2
а также project3
выше фактически серверные и клиентские проекты соответственно, и они используют вызовы RPC для связи между двумя программами. Для генерации RPC-файлов, необходимых для обоих вышеуказанных проектов 2/3, я создал project1
запустить команды компилятора midl.exe.
Если я скомпилирую project1
сначала вручную, потом компилируем project2
а также project3
вручную то все работает нормально. Тем не менее, если я положу три проекта в Qt subdirs
проект и есть проект2 / 3, зависящий от проекта1, он не работает. Проблема заключается в том, что при запуске qmake в проекте 2/3 сгенерированные файлы еще не существуют, но эти файлы СУЩЕСТВУЮТ после фактической компиляции project1.
Так есть ли способ как-то объединить все три проекта в один проект subdirs и как-то "отложить" qmake на зависимые проекты? или, может быть, сделать так, чтобы зависимые проекты знали, что эти файлы могут не существовать во время qmake, но будут существовать во время компиляции?
Спасибо заранее за любые советы.
редактировать
Просто немного больше информации. Вот то, что мой master.pro
файл выглядит как
TEMPLATE = subdirs
SUBDIRS += project1 project2 project3
project1.file = $$PWD/project1/project1.pro
project2.file = $$PWD/project2/project2.pro
project2.depends = project1
project3.file = $$PWD/project3/project3.pro
project3.depends = project1