Работа с подкаталогами с помощью qmake - PullRequest
1 голос
/ 19 июля 2011

Здравствуйте, я хочу сделать что-то подобное в моем проекте

project/
--sources/ -- cpp, h
--forms/ -- ui
--build/ -- object files, mocs
--bin/ -- execute file will appear here
--scripts/ -- this folder should be copied in the bin/ folder after make
project.pro - pro-file

Я использую qtcreator, но ничего подобного не нахожу. Поэтому я попытался написать файл * .pro самостоятельно. Теперь у меня есть что-то вроде

QT       += core gui

TARGET = project
TEMPLATE = app


SOURCES += src/main.cpp\
        src/mainwindow.cpp

HEADERS  += src/mainwindow.h

FORMS    += src/mainwindow.ui

Но этого недостаточно. Поэтому я прошу о помощи.

UPD: Также есть некоторые вещи для сборки dir в .pro.user, но я думаю, что это неправильно.

Ответы [ 2 ]

4 голосов
/ 19 июля 2011

Добавьте это в конец вашего файла. Это делает все, что вам нужно. Я перечислил два метода копирования сценариев в каталог bin. Кредит по второму способу идет на jwernerny . Спросите, если у вас есть какие-либо вопросы.

DESTDIR= ./bin          #adds the exe to bin
MOC_DIR = ./build       # Deals with MOCS
OBJECTS_DIR = ./build   #deals with objects

# Два метода копирования сценариев.

dist.commands += cp -r ./scrpits ./bin 

OR

script_install.path = ./build
script_install.files = ./scripts/*
INSTALLS += script_install
3 голосов
/ 19 июля 2011

Я думаю, qmake INSTALLS обеспечивает хорошее кроссплатформенное решение проблемы, не полагаясь на конкретные команды (например, cp), доступные в системе.Требуется только запуск make install.

script_install.path = ./build
script_install.files = ./scripts/*
INSTALLS += script_install
...