From 7da934d7768f425370b2de7c380bad481ecc65a6 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 5 Apr 2012 12:45:23 +0200 Subject: add mkpath() function Change-Id: I8809b9ee4e85fbe8cec95641d659f237c5f51a26 Reviewed-by: Marius Storm-Olsen --- qmake/project.cpp | 16 +++++++++++++++- tests/auto/tools/qmake/testdata/functions/functions.pro | 4 ++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/qmake/project.cpp b/qmake/project.cpp index 2aebd1e140..2a7094376f 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -124,7 +124,7 @@ enum TestFunc { T_REQUIRES=1, T_GREATERTHAN, T_LESSTHAN, T_EQUALS, T_RETURN, T_BREAK, T_NEXT, T_DEFINED, T_CONTAINS, T_INFILE, T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_ERROR, T_MESSAGE, T_WARNING, T_LOG, - T_IF, T_OPTION, T_CACHE, T_WRITE_FILE, T_TOUCH }; + T_IF, T_OPTION, T_CACHE, T_MKPATH, T_WRITE_FILE, T_TOUCH }; QHash qmake_testFunctions() { static QHash *qmake_test_functions = 0; @@ -161,6 +161,7 @@ QHash qmake_testFunctions() qmake_test_functions->insert("log", T_LOG); qmake_test_functions->insert("option", T_OPTION); qmake_test_functions->insert("cache", T_CACHE); + qmake_test_functions->insert("mkpath", T_MKPATH); qmake_test_functions->insert("write_file", T_WRITE_FILE); qmake_test_functions->insert("touch", T_TOUCH); } @@ -3074,6 +3075,19 @@ QMakeProject::doProjectTest(QString func, QList args_list, QHash 3) { fprintf(stderr, "%s:%d: write_file(name, [content var, [append]]) requires one to three arguments.\n", diff --git a/tests/auto/tools/qmake/testdata/functions/functions.pro b/tests/auto/tools/qmake/testdata/functions/functions.pro index 1da7fd923b..219e683e1f 100644 --- a/tests/auto/tools/qmake/testdata/functions/functions.pro +++ b/tests/auto/tools/qmake/testdata/functions/functions.pro @@ -99,3 +99,7 @@ write_file($$fn, mooadd, append)|message("FAILED: write_file() failed (append)") moo += $$mooadd mooout = $$cat($$fn, line) equals(moo, $$mooout)|message("FAILED: write_file() wrote something wrong when appending") + +pn = $$OUT_PWD/testpath/subdir +mkpath($$pn)|message("FAILED: mkpath() failed") +exists($$pn)|message("FAILED: mkpath() didn't create anything") -- cgit v1.2.3