构建时创建的qmake复制文件

时间:2014-12-27 20:59:57

标签: qt copy install qmake

我有一个库qmake项目:

QT       += gui

TARGET = qturtle
TEMPLATE = lib

DEFINES += QTURTLE_LIBRARY

SOURCES += qturtle.cpp

HEADERS += qturtle.h\
        qturtle_global.h

docMake.commands = doxygen;
QMAKE_EXTRA_TARGETS += docMake
PRE_TARGETDEPS += docMake
QMAKE_DISTCLEAN += $$PWD/html/ -r
QMAKE_DISTCLEAN += doxygen_sqlite3.db

unix {
    docInstall.path = /usr/share/doc/qturtle
    docInstall.files = $$PWD/html/

    headerInstall.files = $$HEADERS
    headerInstall.path = /usr/include/qturtle

    target.path = /usr/lib

    INSTALLS += docInstall
    INSTALLS += target
    INSTALLS += headerInstall
}

docMake在项目目录中运行doxygen,并创建'html'目录及其内容(在构建期间!) 现在应该使用INSTALL变量将'html'及其内容复制到/ usr / share / doc / qturtle。 但是:qmake不会为docInstall安装生成任何代码,因为在生成makefile期间$$PWD/html及其内容不存在。有人可以告诉我如何避免这个问题,还是我必须使用cp

提前致谢, 的Marius

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决这个问题。

不要再检查最初为空的目录

docInstall.CONFIG += no_check_exist directory

由于这个目录将动态创建,我个人会选择这个。

显式创建目录

createDirs.commands = $$QMAKE_MKDIR $$PWD/html

这可以在目标中完成,也可以在system("$$QMAKE_MKDIR $$PWD/html")来电中完成,具体取决于您的需求。