gpt4 book ai didi

qt - 构建时创建的 qmake 复制文件

转载 作者:行者123 更新时间:2023-12-04 13:02:46 25 4
gpt4 key购买 nike

我有一个库 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 安装生成任何代码,因为 $$PWD/html 及其内容在 makefile 生成期间不存在。谁能告诉我如何避免这个问题,或者我必须使用 cp 吗?

提前致谢,
马吕斯

最佳答案

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

不检查最初的空目录

docInstall.CONFIG += no_check_exist directory

由于此目录将即时创建,因此我个人会选择此目录。

显式创建目录
createDirs.commands = $$QMAKE_MKDIR $$PWD/html

这可以在目标中完成,甚至可以在 system("$$QMAKE_MKDIR $$PWD/html") 调用中完成,具体取决于您的需要。

关于qt - 构建时创建的 qmake 复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27671415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com