如何使用路径预先添加.pri文件的内容?

时间:2013-02-08 05:38:01

标签: c++ qt build qmake

我有fololowing目录结构,我想使用Qt .pri文件简化一些事情。

Project1/
    project1.pro
    main.cpp
    Algorithms/
        algorithm1.h
        algorithm1.cpp
        ...
        // add an algorithms.pri file here
    Utilities/           
        utiliy1.h
        utiliy1.cpp
        ...
        // add an utilities.pri file here
    Gui/
        gui1.h
        gui1.cpp
        ...
        // add a gui.pri file here

AlgorithmsUnitTest/
     algorithms_unit_test.pro
     main.cpp

UtilitiesUnitTest/
     utilities_unit_test.pro
     main.cpp

我想解决的一个问题是,当我从AlgorithmsUtilitiesGui文件夹之一添加或删除源文件时,我必须删除来自所有其他.pro文件。

我想为包含该文件夹中的源文件和头文件的每个文件夹创建一个.pri文件。这些文件将包含在所有其他项目中。然后,如果我添加/删除源文件或头文件,我只会从相应的.pri文件中删除它。

这种方法的问题是在.pri文件中包含.pro文件只是一个简单的复制粘贴。也就是说,如果algorithms_unit_test.pro包含algorithms.pri文件,则qmake构建系统会在不存在的AlgorithmsUnitTest/Algorithms文件夹中查找文件。

解决方案是使用

预先添加.pri文件的内容
../Project1/

但我不知道该怎么做。请问您能教我如何做或建议其他方式来组织我的项目吗?

1 个答案:

答案 0 :(得分:2)

您可以在.ps文件中使用qmake变量PWD

<强> algorithms.pri

SOURCES      += $$PWD/algorithm1.cpp
HEADERS      += $$PWD/algorithm1.h

<强> utilities.pri

SOURCES      += $$PWD/utiliy1.cpp
HEADERS      += $$PWD/utiliy1.h

...

http://doc.qt.digia.com/qt/qmake-variable-reference.html