diff options
6 files changed, 29 insertions, 0 deletions
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp index a630d19f07..36772e60ac 100644 --- a/qmake/generators/win32/mingw_make.cpp +++ b/qmake/generators/win32/mingw_make.cpp @@ -320,6 +320,13 @@ void MingwMakefileGenerator::writeIncPart(QTextStream &t) { t << "INCPATH = "; + if (!project->isActiveConfig("no_include_pwd")) { + QString pwd = escapeFilePath(fileFixify(qmake_getpwd())); + if (pwd.isEmpty()) + pwd = "."; + t << "-I" << pwd << " "; + } + const ProStringList &incs = project->values("INCLUDEPATH"); for (ProStringList::ConstIterator incit = incs.begin(); incit != incs.end(); ++incit) { QString inc = (*incit).toQString(); diff --git a/tests/auto/tools/qmake/testdata/include_pwd/anotherheader.h b/tests/auto/tools/qmake/testdata/include_pwd/anotherheader.h new file mode 100644 index 0000000000..a3a63e26bf --- /dev/null +++ b/tests/auto/tools/qmake/testdata/include_pwd/anotherheader.h @@ -0,0 +1,2 @@ + +/* This file should be included indirectly through main.cpp */ diff --git a/tests/auto/tools/qmake/testdata/include_pwd/include_pwd.pro b/tests/auto/tools/qmake/testdata/include_pwd/include_pwd.pro new file mode 100644 index 0000000000..c00815f5b4 --- /dev/null +++ b/tests/auto/tools/qmake/testdata/include_pwd/include_pwd.pro @@ -0,0 +1,4 @@ +TEMPLATE = app +SOURCES = main.cpp +CONFIG -= debug_and_release_target +INCLUDEPATH += somedirectory diff --git a/tests/auto/tools/qmake/testdata/include_pwd/main.cpp b/tests/auto/tools/qmake/testdata/include_pwd/main.cpp new file mode 100644 index 0000000000..c98935f87d --- /dev/null +++ b/tests/auto/tools/qmake/testdata/include_pwd/main.cpp @@ -0,0 +1,6 @@ +#include "someheader.h" + +int main() +{ + return 0; +} diff --git a/tests/auto/tools/qmake/testdata/include_pwd/somedirectory/someheader.h b/tests/auto/tools/qmake/testdata/include_pwd/somedirectory/someheader.h new file mode 100644 index 0000000000..f977346945 --- /dev/null +++ b/tests/auto/tools/qmake/testdata/include_pwd/somedirectory/someheader.h @@ -0,0 +1 @@ +#include "anotherheader.h" diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp index 54032ad750..b940e57543 100644 --- a/tests/auto/tools/qmake/tst_qmake.cpp +++ b/tests/auto/tools/qmake/tst_qmake.cpp @@ -76,6 +76,7 @@ private slots: void duplicateLibraryEntries(); void export_across_file_boundaries(); void include_dir(); + void include_pwd(); void install_files(); void install_depends(); void quotedfilenames(); @@ -320,6 +321,14 @@ void tst_qmake::include_dir() QVERIFY( test_compiler.makeDistClean( buildDir )); } +void tst_qmake::include_pwd() +{ + QString workDir = base_path + "/testdata/include_pwd"; + QVERIFY( test_compiler.qmake( workDir, "include_pwd" )); + QVERIFY( test_compiler.make( workDir )); + QVERIFY( test_compiler.makeDistClean( workDir )); +} + void tst_qmake::install_files() { QString workDir = base_path + "/testdata/shadow_files"; |