aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual')
-rw-r--r--tests/manual/application/foo.c9
-rw-r--r--tests/manual/application/main.cpp61
-rw-r--r--tests/manual/application/main_dbg.cpp61
-rw-r--r--tests/manual/application/object1.cpp43
-rw-r--r--tests/manual/application/object1.h50
-rw-r--r--tests/manual/application/object2.cpp46
-rw-r--r--tests/manual/application/object2.h50
-rw-r--r--tests/manual/application/somecustomfeature.cpp44
-rw-r--r--tests/manual/application/test.qbp43
-rw-r--r--tests/manual/baseProperties/Bar.qbs6
-rw-r--r--tests/manual/baseProperties/Foo.qbs7
-rw-r--r--tests/manual/baseProperties/main.cpp51
-rw-r--r--tests/manual/baseProperties/prj.qbp9
-rw-r--r--tests/manual/codegen/codegen.qbp42
-rw-r--r--tests/manual/codegen/foo.txt1
-rw-r--r--tests/manual/collidingmice/collidingmice.qbp18
-rw-r--r--tests/manual/collidingmice/images/cheese.jpgbin0 -> 3029 bytes
-rw-r--r--tests/manual/collidingmice/main.cpp88
-rw-r--r--tests/manual/collidingmice/mice.qrc5
-rw-r--r--tests/manual/collidingmice/mouse.cpp197
-rw-r--r--tests/manual/collidingmice/mouse.h65
-rw-r--r--tests/manual/hello/hello.qbp24
-rw-r--r--tests/manual/hello/src/foo.cpp5
-rw-r--r--tests/manual/hello/src/foo.h7
-rw-r--r--tests/manual/hello/src/main.cpp17
-rw-r--r--tests/manual/inheritModuleSearchPath/Foo.qbs7
-rw-r--r--tests/manual/inheritModuleSearchPath/main.cpp9
-rw-r--r--tests/manual/inheritModuleSearchPath/prj.qbp10
-rw-r--r--tests/manual/inheritModuleSearchPath/subdir/bli/m.qbs7
-rw-r--r--tests/manual/lib_samesource/lib.qbp22
-rw-r--r--tests/manual/lib_samesource/main.cpp43
-rw-r--r--tests/manual/lib_subdir/app/app.qbs10
-rw-r--r--tests/manual/lib_subdir/app/main.cpp44
-rw-r--r--tests/manual/lib_subdir/lib/lib.cpp48
-rw-r--r--tests/manual/lib_subdir/lib/lib.qbs10
-rw-r--r--tests/manual/lib_subdir/lib_subdir.qbp8
-rw-r--r--tests/manual/link_dynamiclib/lib1.cpp55
-rw-r--r--tests/manual/link_dynamiclib/lib2.cpp55
-rw-r--r--tests/manual/link_dynamiclib/lib3.cpp58
-rw-r--r--tests/manual/link_dynamiclib/link_dynamiclib.qbp43
-rw-r--r--tests/manual/link_dynamiclib/main.cpp55
-rw-r--r--tests/manual/link_staticlib/helper/helper.cpp43
-rw-r--r--tests/manual/link_staticlib/helper/helper.h43
-rw-r--r--tests/manual/link_staticlib/link_staticlib.qbp30
-rw-r--r--tests/manual/link_staticlib/main.cpp46
-rw-r--r--tests/manual/link_staticlib/mystaticlib.cpp46
-rw-r--r--tests/manual/link_staticlib/mystaticlibhelper.cpp5
-rw-r--r--tests/manual/localDeployment/localDeployment.qbp20
-rw-r--r--tests/manual/localDeployment/main.cpp49
-rw-r--r--tests/manual/moc_cpp/bla.cpp15
-rw-r--r--tests/manual/moc_cpp/moc_cpp.qbp14
-rw-r--r--tests/manual/moc_hpp/moc_hpp.qbp16
-rw-r--r--tests/manual/moc_hpp/object.cpp13
-rw-r--r--tests/manual/moc_hpp/object.h13
-rw-r--r--tests/manual/moc_hpp_included/moc_hpp_included.qbp18
-rw-r--r--tests/manual/moc_hpp_included/object.cpp15
-rw-r--r--tests/manual/moc_hpp_included/object.h13
-rw-r--r--tests/manual/pch/main.cpp27
-rw-r--r--tests/manual/pch/myobject.cpp13
-rw-r--r--tests/manual/pch/myobject.h12
-rw-r--r--tests/manual/pch/pch.qbp13
-rw-r--r--tests/manual/pch/stable.h9
-rw-r--r--tests/manual/productmoduledeps/lib1.cpp52
-rw-r--r--tests/manual/productmoduledeps/main.cpp55
-rw-r--r--tests/manual/productmoduledeps/productmoduledeps.qbp47
-rw-r--r--tests/manual/proper quoting/main.cpp55
-rw-r--r--tests/manual/proper quoting/my static lib helper.cpp5
-rw-r--r--tests/manual/proper quoting/my static lib.cpp46
-rw-r--r--tests/manual/proper quoting/proper quoting.qbp42
-rw-r--r--tests/manual/proper quoting/some helper/some helper.cpp44
-rw-r--r--tests/manual/proper quoting/some helper/some helper.h44
-rw-r--r--tests/manual/propertiesblocks/hello.qbp28
-rw-r--r--tests/manual/propertiesblocks/main.cpp52
-rw-r--r--tests/manual/qrc2/bla.cpp40
-rw-r--r--tests/manual/qrc2/bla.qrc5
-rw-r--r--tests/manual/qrc2/foo.qrc5
-rw-r--r--tests/manual/qrc2/i.qbp19
-rw-r--r--tests/manual/qrc2/stuff.txt1
-rw-r--r--tests/manual/symhello/hello.qbp10
-rw-r--r--tests/manual/symhello/main.cpp46
-rw-r--r--tests/manual/transformers/main.cpp77
-rw-r--r--tests/manual/transformers/transformers.qbp53
-rw-r--r--tests/manual/uic/bla.cpp44
-rw-r--r--tests/manual/uic/bla.h38
-rw-r--r--tests/manual/uic/ui.h38
-rw-r--r--tests/manual/uic/ui.ui31
-rw-r--r--tests/manual/uic/uic.qbp17
87 files changed, 2800 insertions, 0 deletions
diff --git a/tests/manual/application/foo.c b/tests/manual/application/foo.c
new file mode 100644
index 000000000..2a0b103fd
--- /dev/null
+++ b/tests/manual/application/foo.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int some_c_function(int x)
+{
+ printf("Some C function has been called. (arg: %d)\n", x);
+ return 123;
+}
+
+
diff --git a/tests/manual/application/main.cpp b/tests/manual/application/main.cpp
new file mode 100644
index 000000000..5e4c65017
--- /dev/null
+++ b/tests/manual/application/main.cpp
@@ -0,0 +1,61 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <cstdio>
+#include "object1.h"
+#include "object2.h"
+
+extern void someCustomFeature();
+extern "C" int some_c_function(int);
+
+class Object3 : public QObject
+{
+ Q_OBJECT
+};
+
+int main()
+{
+ Object1 obj1;
+ Object2 obj2;
+ Object3 obj3;
+ printf("Hello World\n");
+ someCustomFeature();
+ some_c_function(156);
+}
+
+#include "main.moc"
+
diff --git a/tests/manual/application/main_dbg.cpp b/tests/manual/application/main_dbg.cpp
new file mode 100644
index 000000000..d7578047d
--- /dev/null
+++ b/tests/manual/application/main_dbg.cpp
@@ -0,0 +1,61 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <cstdio>
+#include "object1.h"
+#include "object2.h"
+
+extern void someCustomFeature();
+extern "C" int some_c_function(int);
+
+class Object3 : public QObject
+{
+ Q_OBJECT
+};
+
+int main()
+{
+ Object1 obj1;
+ Object2 obj2;
+ Object3 obj3;
+ printf("Hello World (debug version)\n");
+ someCustomFeature();
+ some_c_function(156);
+}
+
+#include "main_dbg.moc"
+
diff --git a/tests/manual/application/object1.cpp b/tests/manual/application/object1.cpp
new file mode 100644
index 000000000..85a5dea2c
--- /dev/null
+++ b/tests/manual/application/object1.cpp
@@ -0,0 +1,43 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "object1.h"
+
+Object1::Object1(QObject *parent)
+ : QObject(parent)
+{}
+
diff --git a/tests/manual/application/object1.h b/tests/manual/application/object1.h
new file mode 100644
index 000000000..5acd76240
--- /dev/null
+++ b/tests/manual/application/object1.h
@@ -0,0 +1,50 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#ifndef OBJECT1_H
+#define OBJECT1_H
+#include <QObject>
+
+class Object1 : public QObject
+{
+ Q_OBJECT
+public:
+ Object1(QObject *parent = 0);
+};
+
+#endif
+
diff --git a/tests/manual/application/object2.cpp b/tests/manual/application/object2.cpp
new file mode 100644
index 000000000..d67c3a838
--- /dev/null
+++ b/tests/manual/application/object2.cpp
@@ -0,0 +1,46 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "object2.h"
+
+Object2::Object2(QObject *parent)
+ : QObject(parent)
+{}
+
+
+#include "moc_object2.cpp"
+
diff --git a/tests/manual/application/object2.h b/tests/manual/application/object2.h
new file mode 100644
index 000000000..41fd9f29b
--- /dev/null
+++ b/tests/manual/application/object2.h
@@ -0,0 +1,50 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#ifndef OBJECT2_H
+#define OBJECT2_H
+#include <QtCore/QObject>
+
+class Object2 : public QObject
+{
+ Q_OBJECT
+public:
+ Object2(QObject *parent = 0);
+};
+
+#endif
+
diff --git a/tests/manual/application/somecustomfeature.cpp b/tests/manual/application/somecustomfeature.cpp
new file mode 100644
index 000000000..6a1972ac3
--- /dev/null
+++ b/tests/manual/application/somecustomfeature.cpp
@@ -0,0 +1,44 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <cstdio>
+
+void someCustomFeature()
+{
+ printf("void someCustomFeature() called\n");
+}
+
diff --git a/tests/manual/application/test.qbp b/tests/manual/application/test.qbp
new file mode 100644
index 000000000..4e993bedf
--- /dev/null
+++ b/tests/manual/application/test.qbp
@@ -0,0 +1,43 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "QtHelloWorld"
+
+ Depends {
+ name: "Qt"
+ submodules: ["gui"]
+ }
+
+ property bool someCustomFeature: true
+
+ Group {
+ condition: qbs.debugInformation === false
+ files : [ "main.cpp" ]
+ }
+
+ Group {
+ condition: qbs.debugInformation === true
+ files : [ "main_dbg.cpp" ]
+ }
+
+ files : [
+ "object1.h",
+ "object1.cpp",
+ "object2.cpp",
+ "foo.c"
+ ]
+
+ Group {
+ files: [ "object2.h" ]
+ fileTags: [ "hpp" ]
+ }
+
+ Group {
+ condition: someCustomFeature == true
+ files: [ "somecustomfeature.cpp" ]
+ }
+ }
+}
+
diff --git a/tests/manual/baseProperties/Bar.qbs b/tests/manual/baseProperties/Bar.qbs
new file mode 100644
index 000000000..c25541dc4
--- /dev/null
+++ b/tests/manual/baseProperties/Bar.qbs
@@ -0,0 +1,6 @@
+import qbs.base 1.0
+
+Product {
+ Depends { name: "cpp" }
+ cpp.defines: ["FROM_BAR"]
+}
diff --git a/tests/manual/baseProperties/Foo.qbs b/tests/manual/baseProperties/Foo.qbs
new file mode 100644
index 000000000..d3da538dd
--- /dev/null
+++ b/tests/manual/baseProperties/Foo.qbs
@@ -0,0 +1,7 @@
+import qbs.base 1.0
+
+Bar {
+ type: "application"
+ cpp.defines: base.concat(["FROM_FOO"])
+}
+
diff --git a/tests/manual/baseProperties/main.cpp b/tests/manual/baseProperties/main.cpp
new file mode 100644
index 000000000..c791c18e1
--- /dev/null
+++ b/tests/manual/baseProperties/main.cpp
@@ -0,0 +1,51 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+#ifndef FROM_FOO
+#error FROM_FOO missing!
+#endif
+#ifndef FROM_BAR
+#error FROM_BAR missing!
+#endif
+#ifndef FROM_PRJ
+#error FROM_PRJ missing!
+#endif
+
+int main()
+{
+ return 0;
+}
+
diff --git a/tests/manual/baseProperties/prj.qbp b/tests/manual/baseProperties/prj.qbp
new file mode 100644
index 000000000..e7800da69
--- /dev/null
+++ b/tests/manual/baseProperties/prj.qbp
@@ -0,0 +1,9 @@
+import qbs.base 1.0
+
+Project {
+ Foo {
+ cpp.defines: base.concat(["FROM_PRJ"]);
+ files: "main.cpp"
+ }
+}
+
diff --git a/tests/manual/codegen/codegen.qbp b/tests/manual/codegen/codegen.qbp
new file mode 100644
index 000000000..e1f7be3d4
--- /dev/null
+++ b/tests/manual/codegen/codegen.qbp
@@ -0,0 +1,42 @@
+import qbs.base 1.0
+import qbs.fileinfo 1.0 as FileInfo
+
+Project {
+ property string name: 'codegen'
+
+ Product {
+ type: 'application'
+ name: project.name
+ Group {
+ files: 'foo.txt'
+ fileTags: ['text']
+ }
+ Depends { name: 'cpp' }
+ }
+
+ Rule {
+ inputs: ['text']
+ Artifact {
+ fileTags: ['cpp']
+ fileName: input.baseName + '.cpp'
+ }
+ prepare: {
+ var code = 'int main(int, char **) { return 0; }'
+ var args = ['echo ' + code + '>' + output.fileName]
+ var cmd
+ if (product.modules.qbs.targetOS == 'windows') {
+ cmd = new Command('c:/Windows/System32/cmd.exe', ['/C'].concat(args));
+ } else {
+ args[0] = args[0].replace(/\(/g, '\\(')
+ args[0] = args[0].replace(/\)/g, '\\)')
+ args[0] = args[0].replace(/;/g, '\\;')
+ cmd = new Command('/bin/sh', ['-c'].concat(args))
+ }
+ cmd.description = 'generate\t' + FileInfo.fileName(output.fileName);
+ cmd.highlight = 'codegen';
+ return cmd;
+ }
+ }
+
+}
+
diff --git a/tests/manual/codegen/foo.txt b/tests/manual/codegen/foo.txt
new file mode 100644
index 000000000..557db03de
--- /dev/null
+++ b/tests/manual/codegen/foo.txt
@@ -0,0 +1 @@
+Hello World
diff --git a/tests/manual/collidingmice/collidingmice.qbp b/tests/manual/collidingmice/collidingmice.qbp
new file mode 100644
index 000000000..b6b875ed1
--- /dev/null
+++ b/tests/manual/collidingmice/collidingmice.qbp
@@ -0,0 +1,18 @@
+import qbs.base 1.0
+
+Project {
+ Application {
+ name : "CollidingMice"
+ destination: "bin"
+
+ Depends { name: "Qt.gui" }
+
+ files : [
+ "main.cpp",
+ "mouse.cpp",
+ "mouse.h",
+ "mice.qrc"
+ ]
+ }
+}
+
diff --git a/tests/manual/collidingmice/images/cheese.jpg b/tests/manual/collidingmice/images/cheese.jpg
new file mode 100644
index 000000000..dea5795fd
--- /dev/null
+++ b/tests/manual/collidingmice/images/cheese.jpg
Binary files differ
diff --git a/tests/manual/collidingmice/main.cpp b/tests/manual/collidingmice/main.cpp
new file mode 100644
index 000000000..714b6fecf
--- /dev/null
+++ b/tests/manual/collidingmice/main.cpp
@@ -0,0 +1,88 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "mouse.h"
+
+#include <QtGui>
+
+#include <math.h>
+
+static const int MouseCount = 7;
+
+//! [0]
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
+//! [0]
+
+//! [1]
+ QGraphicsScene scene;
+ scene.setSceneRect(-300, -300, 600, 600);
+//! [1] //! [2]
+ scene.setItemIndexMethod(QGraphicsScene::NoIndex);
+//! [2]
+
+//! [3]
+ for (int i = 0; i < MouseCount; ++i) {
+ Mouse *mouse = new Mouse;
+ mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
+ ::cos((i * 6.28) / MouseCount) * 200);
+ scene.addItem(mouse);
+ }
+//! [3]
+
+//! [4]
+ QGraphicsView view(&scene);
+ view.setRenderHint(QPainter::Antialiasing);
+ view.setBackgroundBrush(QPixmap(":/images/cheese.jpg"));
+//! [4] //! [5]
+ view.setCacheMode(QGraphicsView::CacheBackground);
+ view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
+ view.setDragMode(QGraphicsView::ScrollHandDrag);
+//! [5] //! [6]
+ view.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
+ view.resize(400, 300);
+ view.show();
+
+ QTimer timer;
+ QObject::connect(&timer, SIGNAL(timeout()), &scene, SLOT(advance()));
+ timer.start(1000 / 33);
+
+ return app.exec();
+}
+//! [6]
diff --git a/tests/manual/collidingmice/mice.qrc b/tests/manual/collidingmice/mice.qrc
new file mode 100644
index 000000000..accdb4d0a
--- /dev/null
+++ b/tests/manual/collidingmice/mice.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/" >
+ <file>images/cheese.jpg</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/collidingmice/mouse.cpp b/tests/manual/collidingmice/mouse.cpp
new file mode 100644
index 000000000..f14627ad1
--- /dev/null
+++ b/tests/manual/collidingmice/mouse.cpp
@@ -0,0 +1,197 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "mouse.h"
+
+#include <QGraphicsScene>
+#include <QPainter>
+#include <QStyleOption>
+
+#include <math.h>
+
+static const double Pi = 3.14159265358979323846264338327950288419717;
+static double TwoPi = 2.0 * Pi;
+
+static qreal normalizeAngle(qreal angle)
+{
+ while (angle < 0)
+ angle += TwoPi;
+ while (angle > TwoPi)
+ angle -= TwoPi;
+ return angle;
+}
+
+//! [0]
+Mouse::Mouse()
+ : angle(0), speed(0), mouseEyeDirection(0),
+ color(qrand() % 256, qrand() % 256, qrand() % 256)
+{
+ setRotation(qrand() % (360 * 16));
+}
+//! [0]
+
+//! [1]
+QRectF Mouse::boundingRect() const
+{
+ qreal adjust = 0.5;
+ return QRectF(-18 - adjust, -22 - adjust,
+ 36 + adjust, 60 + adjust);
+}
+//! [1]
+
+//! [2]
+QPainterPath Mouse::shape() const
+{
+ QPainterPath path;
+ path.addRect(-10, -20, 20, 40);
+ return path;
+}
+//! [2]
+
+//! [3]
+void Mouse::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+{
+ // Body
+ painter->setBrush(color);
+ painter->drawEllipse(-10, -20, 20, 40);
+
+ // Eyes
+ painter->setBrush(Qt::white);
+ painter->drawEllipse(-10, -17, 8, 8);
+ painter->drawEllipse(2, -17, 8, 8);
+
+ // Nose
+ painter->setBrush(Qt::black);
+ painter->drawEllipse(QRectF(-2, -22, 4, 4));
+
+ // Pupils
+ painter->drawEllipse(QRectF(-8.0 + mouseEyeDirection, -17, 4, 4));
+ painter->drawEllipse(QRectF(4.0 + mouseEyeDirection, -17, 4, 4));
+
+ // Ears
+ painter->setBrush(scene()->collidingItems(this).isEmpty() ? Qt::darkYellow : Qt::red);
+ painter->drawEllipse(-17, -12, 16, 16);
+ painter->drawEllipse(1, -12, 16, 16);
+
+ // Tail
+ QPainterPath path(QPointF(0, 20));
+ path.cubicTo(-5, 22, -5, 22, 0, 25);
+ path.cubicTo(5, 27, 5, 32, 0, 30);
+ path.cubicTo(-5, 32, -5, 42, 0, 35);
+ painter->setBrush(Qt::NoBrush);
+ painter->drawPath(path);
+}
+//! [3]
+
+//! [4]
+void Mouse::advance(int step)
+{
+ if (!step)
+ return;
+//! [4]
+ // Don't move too far away
+//! [5]
+ QLineF lineToCenter(QPointF(0, 0), mapFromScene(0, 0));
+ if (lineToCenter.length() > 150) {
+ qreal angleToCenter = ::acos(lineToCenter.dx() / lineToCenter.length());
+ if (lineToCenter.dy() < 0)
+ angleToCenter = TwoPi - angleToCenter;
+ angleToCenter = normalizeAngle((Pi - angleToCenter) + Pi / 2);
+
+ if (angleToCenter < Pi && angleToCenter > Pi / 4) {
+ // Rotate left
+ angle += (angle < -Pi / 2) ? 0.25 : -0.25;
+ } else if (angleToCenter >= Pi && angleToCenter < (Pi + Pi / 2 + Pi / 4)) {
+ // Rotate right
+ angle += (angle < Pi / 2) ? 0.25 : -0.25;
+ }
+ } else if (::sin(angle) < 0) {
+ angle += 0.25;
+ } else if (::sin(angle) > 0) {
+ angle -= 0.25;
+//! [5] //! [6]
+ }
+//! [6]
+
+ // Try not to crash with any other mice
+//! [7]
+ QList<QGraphicsItem *> dangerMice = scene()->items(QPolygonF()
+ << mapToScene(0, 0)
+ << mapToScene(-30, -50)
+ << mapToScene(30, -50));
+ foreach (QGraphicsItem *item, dangerMice) {
+ if (item == this)
+ continue;
+
+ QLineF lineToMouse(QPointF(0, 0), mapFromItem(item, 0, 0));
+ qreal angleToMouse = ::acos(lineToMouse.dx() / lineToMouse.length());
+ if (lineToMouse.dy() < 0)
+ angleToMouse = TwoPi - angleToMouse;
+ angleToMouse = normalizeAngle((Pi - angleToMouse) + Pi / 2);
+
+ if (angleToMouse >= 0 && angleToMouse < Pi / 2) {
+ // Rotate right
+ angle += 0.5;
+ } else if (angleToMouse <= TwoPi && angleToMouse > (TwoPi - Pi / 2)) {
+ // Rotate left
+ angle -= 0.5;
+//! [7] //! [8]
+ }
+//! [8] //! [9]
+ }
+//! [9]
+
+ // Add some random movement
+//! [10]
+ if (dangerMice.size() > 1 && (qrand() % 10) == 0) {
+ if (qrand() % 1)
+ angle += (qrand() % 100) / 500.0;
+ else
+ angle -= (qrand() % 100) / 500.0;
+ }
+//! [10]
+
+//! [11]
+ speed += (-50 + qrand() % 100) / 100.0;
+
+ qreal dx = ::sin(angle) * 10;
+ mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
+
+ setRotation(rotation() + dx);
+ setPos(mapToParent(0, -(3 + sin(speed) * 3)));
+}
+//! [11]
diff --git a/tests/manual/collidingmice/mouse.h b/tests/manual/collidingmice/mouse.h
new file mode 100644
index 000000000..f06a626d8
--- /dev/null
+++ b/tests/manual/collidingmice/mouse.h
@@ -0,0 +1,65 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#ifndef MOUSE_H
+#define MOUSE_H
+
+#include <QGraphicsItem>
+
+//! [0]
+class Mouse : public QGraphicsItem
+{
+public:
+ Mouse();
+
+ QRectF boundingRect() const;
+ QPainterPath shape() const;
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+ QWidget *widget);
+
+protected:
+ void advance(int step);
+
+private:
+ qreal angle;
+ qreal speed;
+ qreal mouseEyeDirection;
+ QColor color;
+};
+//! [0]
+
+#endif
diff --git a/tests/manual/hello/hello.qbp b/tests/manual/hello/hello.qbp
new file mode 100644
index 000000000..d73a6fdb8
--- /dev/null
+++ b/tests/manual/hello/hello.qbp
@@ -0,0 +1,24 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ Depends { name: 'cpp' }
+
+ type: 'application'
+ name: 'HelloWorld'
+
+ cpp.defines: ['SOMETHING']
+ //cpp.applicationLinker.debugInformation: false
+
+ Group {
+ cpp.defines: outer.concat(['HAVE_MAIN_CPP', cpp.debugInformation ? '_DEBUG' : '_RELEASE'])
+ prefix: "src/"
+ files: [
+ 'main.cpp',
+ 'foo.h',
+ 'foo.cpp'
+ ]
+ }
+ }
+}
+
diff --git a/tests/manual/hello/src/foo.cpp b/tests/manual/hello/src/foo.cpp
new file mode 100644
index 000000000..6d2828af9
--- /dev/null
+++ b/tests/manual/hello/src/foo.cpp
@@ -0,0 +1,5 @@
+int someUsefulFunction()
+{
+ return 156;
+}
+
diff --git a/tests/manual/hello/src/foo.h b/tests/manual/hello/src/foo.h
new file mode 100644
index 000000000..1e4fd7b94
--- /dev/null
+++ b/tests/manual/hello/src/foo.h
@@ -0,0 +1,7 @@
+#ifndef FOO_H
+#define FOO_H
+
+int someUsefulFunction();
+
+#endif
+
diff --git a/tests/manual/hello/src/main.cpp b/tests/manual/hello/src/main.cpp
new file mode 100644
index 000000000..c08389c00
--- /dev/null
+++ b/tests/manual/hello/src/main.cpp
@@ -0,0 +1,17 @@
+#include "foo.h"
+#include <stdio.h>
+
+#ifndef HAVE_MAIN_CPP
+# error missing define HAVE_MAIN_CPP
+#endif
+
+int main()
+{
+ someUsefulFunction();
+#ifdef _DEBUG
+ puts("Hello World! (debug version)");
+#else
+ puts("Hello World! (release version)");
+#endif
+}
+
diff --git a/tests/manual/inheritModuleSearchPath/Foo.qbs b/tests/manual/inheritModuleSearchPath/Foo.qbs
new file mode 100644
index 000000000..d52dabbc9
--- /dev/null
+++ b/tests/manual/inheritModuleSearchPath/Foo.qbs
@@ -0,0 +1,7 @@
+import qbs.base 1.0
+
+Product {
+ type: "application"
+ Depends { name: 'bli' }
+}
+
diff --git a/tests/manual/inheritModuleSearchPath/main.cpp b/tests/manual/inheritModuleSearchPath/main.cpp
new file mode 100644
index 000000000..7382cd2dd
--- /dev/null
+++ b/tests/manual/inheritModuleSearchPath/main.cpp
@@ -0,0 +1,9 @@
+#ifndef HAVE_BLI
+#error HAVE_BLI missing!
+#endif
+
+int main()
+{
+ return 0;
+}
+
diff --git a/tests/manual/inheritModuleSearchPath/prj.qbp b/tests/manual/inheritModuleSearchPath/prj.qbp
new file mode 100644
index 000000000..8f72cf5be
--- /dev/null
+++ b/tests/manual/inheritModuleSearchPath/prj.qbp
@@ -0,0 +1,10 @@
+import qbs.base 1.0
+
+Project {
+ moduleSearchPaths: "subdir"
+// moduleSearchPaths: ["subdir"]
+ Foo {
+ files: "main.cpp"
+ }
+}
+
diff --git a/tests/manual/inheritModuleSearchPath/subdir/bli/m.qbs b/tests/manual/inheritModuleSearchPath/subdir/bli/m.qbs
new file mode 100644
index 000000000..e33dab9a7
--- /dev/null
+++ b/tests/manual/inheritModuleSearchPath/subdir/bli/m.qbs
@@ -0,0 +1,7 @@
+import qbs.base 1.0
+
+Module {
+ Depends {name : "cpp" }
+ cpp.defines: ["HAVE_BLI"]
+}
+
diff --git a/tests/manual/lib_samesource/lib.qbp b/tests/manual/lib_samesource/lib.qbp
new file mode 100644
index 000000000..36ecb4d19
--- /dev/null
+++ b/tests/manual/lib_samesource/lib.qbp
@@ -0,0 +1,22 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name : "HelloWorld"
+ Depends { name: 'cpp' }
+ Group {
+ files : [ "main.cpp" ]
+ }
+ }
+
+ Product {
+ type: "staticlibrary"
+ name : "HelloWorld"
+ Depends { name: 'cpp' }
+ Group {
+ files : [ "main.cpp" ]
+ }
+ }
+}
+
diff --git a/tests/manual/lib_samesource/main.cpp b/tests/manual/lib_samesource/main.cpp
new file mode 100644
index 000000000..f45acac3b
--- /dev/null
+++ b/tests/manual/lib_samesource/main.cpp
@@ -0,0 +1,43 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+int main()
+{
+ puts("Hello WOrld!");
+}
diff --git a/tests/manual/lib_subdir/app/app.qbs b/tests/manual/lib_subdir/app/app.qbs
new file mode 100644
index 000000000..4f7e959c5
--- /dev/null
+++ b/tests/manual/lib_subdir/app/app.qbs
@@ -0,0 +1,10 @@
+import qbs.base 1.0
+
+Product {
+ type: "application"
+ name : "HelloWorld"
+ files : [ "main.cpp" ]
+ Depends { name: "cpp" }
+ Depends { name: "lol" }
+}
+
diff --git a/tests/manual/lib_subdir/app/main.cpp b/tests/manual/lib_subdir/app/main.cpp
new file mode 100644
index 000000000..3e1f2fd27
--- /dev/null
+++ b/tests/manual/lib_subdir/app/main.cpp
@@ -0,0 +1,44 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+int bla();
+int main()
+{
+ return bla();
+}
diff --git a/tests/manual/lib_subdir/lib/lib.cpp b/tests/manual/lib_subdir/lib/lib.cpp
new file mode 100644
index 000000000..f7d886a31
--- /dev/null
+++ b/tests/manual/lib_subdir/lib/lib.cpp
@@ -0,0 +1,48 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#ifndef CRUCIAL_DEFINE
+# error CRUCIAL_DEFINE not defined
+#endif
+
+int bla()
+{
+ puts("Hello WOrld!");
+ return 2;
+}
diff --git a/tests/manual/lib_subdir/lib/lib.qbs b/tests/manual/lib_subdir/lib/lib.qbs
new file mode 100644
index 000000000..22ef0535d
--- /dev/null
+++ b/tests/manual/lib_subdir/lib/lib.qbs
@@ -0,0 +1,10 @@
+import qbs.base 1.0
+
+Product {
+ type: "staticlibrary"
+ name: "lol"
+ files: [ "lib.cpp" ]
+ cpp.defines: ['CRUCIAL_DEFINE']
+ Depends { name: 'cpp' }
+}
+
diff --git a/tests/manual/lib_subdir/lib_subdir.qbp b/tests/manual/lib_subdir/lib_subdir.qbp
new file mode 100644
index 000000000..71afd646f
--- /dev/null
+++ b/tests/manual/lib_subdir/lib_subdir.qbp
@@ -0,0 +1,8 @@
+import qbs.base 1.0
+Project {
+ references: [
+ "app/app.qbs",
+ "lib/lib.qbs"
+ ]
+}
+
diff --git a/tests/manual/link_dynamiclib/lib1.cpp b/tests/manual/link_dynamiclib/lib1.cpp
new file mode 100644
index 000000000..7e2632c02
--- /dev/null
+++ b/tests/manual/link_dynamiclib/lib1.cpp
@@ -0,0 +1,55 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+IMPORT void lib2_hello();
+
+EXPORT int lib1_hello()
+{
+ puts("lib1 says hello!");
+ lib2_hello();
+ return 0;
+}
diff --git a/tests/manual/link_dynamiclib/lib2.cpp b/tests/manual/link_dynamiclib/lib2.cpp
new file mode 100644
index 000000000..8aaa4fb70
--- /dev/null
+++ b/tests/manual/link_dynamiclib/lib2.cpp
@@ -0,0 +1,55 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+IMPORT void lib3_hello();
+
+EXPORT void lib2_hello()
+{
+ puts("lib2 says hello!");
+ lib3_hello();
+}
+
diff --git a/tests/manual/link_dynamiclib/lib3.cpp b/tests/manual/link_dynamiclib/lib3.cpp
new file mode 100644
index 000000000..a4ac4885d
--- /dev/null
+++ b/tests/manual/link_dynamiclib/lib3.cpp
@@ -0,0 +1,58 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+EXPORT void lib3_hello()
+{
+ puts("lib3 says hello!");
+}
+
+EXPORT char* lib3_greeting()
+{
+ static char greeting[] = "hello";
+ return greeting;
+}
+
diff --git a/tests/manual/link_dynamiclib/link_dynamiclib.qbp b/tests/manual/link_dynamiclib/link_dynamiclib.qbp
new file mode 100644
index 000000000..51172835a
--- /dev/null
+++ b/tests/manual/link_dynamiclib/link_dynamiclib.qbp
@@ -0,0 +1,43 @@
+import qbs.base 1.0
+
+Project {
+ Application {
+ name : "HelloWorld"
+ destination: "bin"
+ Group {
+ files : [ "main.cpp" ]
+ }
+ Depends { name: "cpp" }
+ Depends { name: "lib1" }
+ }
+
+ DynamicLibrary {
+ name : "lib1"
+ destination: "bin"
+ Group {
+ files : [ "lib1.cpp" ]
+ }
+ Depends { name: "cpp" }
+ Depends { name: "lib2" }
+ }
+
+ DynamicLibrary {
+ name : "lib2"
+ destination: "bin"
+ Group {
+ files : [ "lib2.cpp" ]
+ }
+ Depends { name: "cpp" }
+ Depends { name: "lib3" }
+ }
+
+ DynamicLibrary {
+ name : "lib3"
+ destination: "bin"
+ Group {
+ files : [ "lib3.cpp" ]
+ }
+ Depends { name: "cpp" }
+ }
+}
+
diff --git a/tests/manual/link_dynamiclib/main.cpp b/tests/manual/link_dynamiclib/main.cpp
new file mode 100644
index 000000000..c904e7088
--- /dev/null
+++ b/tests/manual/link_dynamiclib/main.cpp
@@ -0,0 +1,55 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+IMPORT int lib1_hello();
+
+int main()
+{
+ puts("application says hello!");
+ return lib1_hello();
+}
+
diff --git a/tests/manual/link_staticlib/helper/helper.cpp b/tests/manual/link_staticlib/helper/helper.cpp
new file mode 100644
index 000000000..796c1ef2a
--- /dev/null
+++ b/tests/manual/link_staticlib/helper/helper.cpp
@@ -0,0 +1,43 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+#include "helper.h"
+
+int getSomeNumber()
+{
+ return 156;
+}
+
diff --git a/tests/manual/link_staticlib/helper/helper.h b/tests/manual/link_staticlib/helper/helper.h
new file mode 100644
index 000000000..6cb075a1c
--- /dev/null
+++ b/tests/manual/link_staticlib/helper/helper.h
@@ -0,0 +1,43 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+#ifndef HELPER_H
+#define HELPER_H
+
+extern int getSomeNumber();
+
+#endif
+
diff --git a/tests/manual/link_staticlib/link_staticlib.qbp b/tests/manual/link_staticlib/link_staticlib.qbp
new file mode 100644
index 000000000..a86b50f8d
--- /dev/null
+++ b/tests/manual/link_staticlib/link_staticlib.qbp
@@ -0,0 +1,30 @@
+import qbs.base 1.0
+
+Project {
+ Application {
+ name: "HelloWorld"
+ files : [ "main.cpp" ]
+ Depends { name: "cpp" }
+ Depends { name: "mystaticlib" }
+ }
+
+ StaticLibrary {
+ name : "mystaticlib"
+ files : [ "mystaticlib.cpp" ]
+ Depends { name: "cpp" }
+ Depends { name: "helperlib" }
+ }
+
+ StaticLibrary {
+ name : "helperlib"
+ files : [
+ "helper/helper.h",
+ "helper/helper.cpp"
+ ]
+ Depends { name: "cpp" }
+ ProductModule {
+ cpp.includePaths: ['helper']
+ }
+ }
+}
+
diff --git a/tests/manual/link_staticlib/main.cpp b/tests/manual/link_staticlib/main.cpp
new file mode 100644
index 000000000..fbef6bd79
--- /dev/null
+++ b/tests/manual/link_staticlib/main.cpp
@@ -0,0 +1,46 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+int bla();
+
+int main()
+{
+ return bla();
+}
+
diff --git a/tests/manual/link_staticlib/mystaticlib.cpp b/tests/manual/link_staticlib/mystaticlib.cpp
new file mode 100644
index 000000000..9c035f22d
--- /dev/null
+++ b/tests/manual/link_staticlib/mystaticlib.cpp
@@ -0,0 +1,46 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+#include <helper.h>
+
+int bla()
+{
+ int n = getSomeNumber();
+ printf("Hello World! The magic number is %d.", n);
+ return n;
+}
diff --git a/tests/manual/link_staticlib/mystaticlibhelper.cpp b/tests/manual/link_staticlib/mystaticlibhelper.cpp
new file mode 100644
index 000000000..76a6a38e9
--- /dev/null
+++ b/tests/manual/link_staticlib/mystaticlibhelper.cpp
@@ -0,0 +1,5 @@
+int helper_function()
+{
+ return 156;
+}
+
diff --git a/tests/manual/localDeployment/localDeployment.qbp b/tests/manual/localDeployment/localDeployment.qbp
new file mode 100644
index 000000000..1909d14d0
--- /dev/null
+++ b/tests/manual/localDeployment/localDeployment.qbp
@@ -0,0 +1,20 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: ["application", "installed_content"]
+ name: "HelloWorld"
+ destination: "bin"
+
+ Depends { name: "Qt.core"}
+
+ files: [ "main.cpp" ]
+
+ Group {
+ qbs.installDir: "share"
+ files: ['main.cpp']
+ fileTags: ["install"]
+ }
+ }
+}
+
diff --git a/tests/manual/localDeployment/main.cpp b/tests/manual/localDeployment/main.cpp
new file mode 100644
index 000000000..267f645bf
--- /dev/null
+++ b/tests/manual/localDeployment/main.cpp
@@ -0,0 +1,49 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <QFile>
+#include <QCoreApplication>
+#include <QDebug>
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QFile f(app.applicationDirPath() + "/../share/main.cpp");
+ f.open(QFile::ReadOnly);
+ qDebug() << f.readAll();
+}
+
diff --git a/tests/manual/moc_cpp/bla.cpp b/tests/manual/moc_cpp/bla.cpp
new file mode 100644
index 000000000..26185684a
--- /dev/null
+++ b/tests/manual/moc_cpp/bla.cpp
@@ -0,0 +1,15 @@
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+};
+
+int main()
+{
+ MyObject obj;
+ return 0;
+}
+
+#include "bla.moc"
+
diff --git a/tests/manual/moc_cpp/moc_cpp.qbp b/tests/manual/moc_cpp/moc_cpp.qbp
new file mode 100644
index 000000000..dd8ddf603
--- /dev/null
+++ b/tests/manual/moc_cpp/moc_cpp.qbp
@@ -0,0 +1,14 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "moc_cpp"
+
+ Depends {
+ name: "Qt.core"
+ }
+
+ files: ["bla.cpp"]
+ }
+}
diff --git a/tests/manual/moc_hpp/moc_hpp.qbp b/tests/manual/moc_hpp/moc_hpp.qbp
new file mode 100644
index 000000000..a730c93e8
--- /dev/null
+++ b/tests/manual/moc_hpp/moc_hpp.qbp
@@ -0,0 +1,16 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "moc_hpp"
+
+ Depends { name: "qt.core" }
+
+ files : [
+ "object.h",
+ "object.cpp"
+ ]
+ }
+}
+
diff --git a/tests/manual/moc_hpp/object.cpp b/tests/manual/moc_hpp/object.cpp
new file mode 100644
index 000000000..8c091c58c
--- /dev/null
+++ b/tests/manual/moc_hpp/object.cpp
@@ -0,0 +1,13 @@
+#include "object.h"
+#include <cstdio>
+
+Object::Object(QObject *parent)
+ : QObject(parent)
+{}
+
+int main()
+{
+ Object obj;
+ printf("Hello World\n");
+}
+
diff --git a/tests/manual/moc_hpp/object.h b/tests/manual/moc_hpp/object.h
new file mode 100644
index 000000000..7d8f59c6c
--- /dev/null
+++ b/tests/manual/moc_hpp/object.h
@@ -0,0 +1,13 @@
+#ifndef OBJECT_H
+#define OBJECT_H
+#include <QObject>
+
+class Object : public QObject
+{
+ Q_OBJECT
+public:
+ Object(QObject *parent = 0);
+};
+
+#endif
+
diff --git a/tests/manual/moc_hpp_included/moc_hpp_included.qbp b/tests/manual/moc_hpp_included/moc_hpp_included.qbp
new file mode 100644
index 000000000..1cdfb7fad
--- /dev/null
+++ b/tests/manual/moc_hpp_included/moc_hpp_included.qbp
@@ -0,0 +1,18 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "moc_hpp_included"
+
+ Depends { name: "qt.core" }
+
+ files : [ "object.cpp" ]
+
+ Group {
+ files : [ "object.h" ]
+ fileTags: [ "hpp" ]
+ }
+ }
+}
+
diff --git a/tests/manual/moc_hpp_included/object.cpp b/tests/manual/moc_hpp_included/object.cpp
new file mode 100644
index 000000000..ef0b32417
--- /dev/null
+++ b/tests/manual/moc_hpp_included/object.cpp
@@ -0,0 +1,15 @@
+#include "object.h"
+
+Object::Object(QObject *parent)
+ : QObject(parent)
+{}
+
+#include "moc_object.cpp"
+#include <cstdio>
+
+int main()
+{
+ Object obj;
+ printf("Hello World\n");
+}
+
diff --git a/tests/manual/moc_hpp_included/object.h b/tests/manual/moc_hpp_included/object.h
new file mode 100644
index 000000000..7d8f59c6c
--- /dev/null
+++ b/tests/manual/moc_hpp_included/object.h
@@ -0,0 +1,13 @@
+#ifndef OBJECT_H
+#define OBJECT_H
+#include <QObject>
+
+class Object : public QObject
+{
+ Q_OBJECT
+public:
+ Object(QObject *parent = 0);
+};
+
+#endif
+
diff --git a/tests/manual/pch/main.cpp b/tests/manual/pch/main.cpp
new file mode 100644
index 000000000..83d04ea54
--- /dev/null
+++ b/tests/manual/pch/main.cpp
@@ -0,0 +1,27 @@
+#include "myobject.h"
+#include <algorithm>
+#include <iostream>
+#include <list>
+
+using namespace std;
+
+int main(int argc, char **argv)
+{
+ MyObject obj;
+ list<int> lst;
+ lst.push_back(1);
+ lst.push_back(2);
+ lst.push_back(3);
+ lst.push_back(4);
+ lst.push_back(5);
+ lst.push_back(6);
+ lst.push_back(7);
+ lst.push_back(8);
+ lst.push_back(9);
+ reverse(lst.begin(), lst.end());
+ for (list<int>::iterator it=lst.begin(); it != lst.end(); ++it)
+ cout << *it << ", ";
+ cout << endl;
+ return 0;
+}
+
diff --git a/tests/manual/pch/myobject.cpp b/tests/manual/pch/myobject.cpp
new file mode 100644
index 000000000..9f3f93740
--- /dev/null
+++ b/tests/manual/pch/myobject.cpp
@@ -0,0 +1,13 @@
+#include <iostream>
+#include "myobject.h"
+
+MyObject::MyObject()
+{
+ std::cout << "MyObject::MyObject()\n";
+}
+
+MyObject::~MyObject()
+{
+ std::cout << "MyObject::~MyObject()" << std::endl;
+}
+
diff --git a/tests/manual/pch/myobject.h b/tests/manual/pch/myobject.h
new file mode 100644
index 000000000..17dfd48c8
--- /dev/null
+++ b/tests/manual/pch/myobject.h
@@ -0,0 +1,12 @@
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+class MyObject
+{
+public:
+ MyObject();
+ ~MyObject();
+};
+
+#endif
+
diff --git a/tests/manual/pch/pch.qbp b/tests/manual/pch/pch.qbp
new file mode 100644
index 000000000..664d134e6
--- /dev/null
+++ b/tests/manual/pch/pch.qbp
@@ -0,0 +1,13 @@
+import qbs.base 1.0
+
+Product {
+ type: "application"
+ name: "pch"
+ files: ["stable.h",
+ "myobject.h",
+ "main.cpp",
+ "myobject.cpp"]
+ Depends { name: "cpp" }
+ cpp.precompiledHeader: "stable.h"
+}
+
diff --git a/tests/manual/pch/stable.h b/tests/manual/pch/stable.h
new file mode 100644
index 000000000..93ce3cb29
--- /dev/null
+++ b/tests/manual/pch/stable.h
@@ -0,0 +1,9 @@
+/* Add C includes here */
+
+#if defined __cplusplus
+/* Add C++ includes here */
+
+# include <iostream>
+# include <algorithm>
+#endif
+
diff --git a/tests/manual/productmoduledeps/lib1.cpp b/tests/manual/productmoduledeps/lib1.cpp
new file mode 100644
index 000000000..5322022b3
--- /dev/null
+++ b/tests/manual/productmoduledeps/lib1.cpp
@@ -0,0 +1,52 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+EXPORT int lib1_hello()
+{
+ puts("lib1 says hello!");
+ return 0;
+}
diff --git a/tests/manual/productmoduledeps/main.cpp b/tests/manual/productmoduledeps/main.cpp
new file mode 100644
index 000000000..c904e7088
--- /dev/null
+++ b/tests/manual/productmoduledeps/main.cpp
@@ -0,0 +1,55 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#if defined(_WIN32) || defined(WIN32)
+# define EXPORT __declspec(dllexport)
+# define IMPORT __declspec(dllimport)
+#else
+# define EXPORT
+# define IMPORT
+#endif
+
+IMPORT int lib1_hello();
+
+int main()
+{
+ puts("application says hello!");
+ return lib1_hello();
+}
+
diff --git a/tests/manual/productmoduledeps/productmoduledeps.qbp b/tests/manual/productmoduledeps/productmoduledeps.qbp
new file mode 100644
index 000000000..5e065f6b5
--- /dev/null
+++ b/tests/manual/productmoduledeps/productmoduledeps.qbp
@@ -0,0 +1,47 @@
+import qbs.base 1.0
+
+Project {
+ Application {
+ name : "HelloWorld"
+ destination: "bin"
+ Group {
+ files : [ "main.cpp" ]
+ }
+ Depends { name: "cpp" }
+ Depends { name: 'dummy' }
+ }
+
+ Product {
+ name: 'dummy'
+ type: 'installed_content'
+ Group {
+ files: 'main.cpp'
+ fileTags: 'install'
+ }
+ ProductModule {
+ Depends { name: 'dummy2' }
+ }
+ }
+
+ Product {
+ name: 'dummy2'
+ type: 'installed_content'
+ Group {
+ files: 'lib1.cpp'
+ fileTags: 'install'
+ }
+ ProductModule {
+ Depends { name: 'lib1' }
+ }
+ }
+
+ DynamicLibrary {
+ name : "lib1"
+ destination: "bin"
+ Group {
+ files : [ "lib1.cpp" ]
+ }
+ Depends { name: "cpp" }
+ }
+}
+
diff --git a/tests/manual/proper quoting/main.cpp b/tests/manual/proper quoting/main.cpp
new file mode 100644
index 000000000..7efbf23ee
--- /dev/null
+++ b/tests/manual/proper quoting/main.cpp
@@ -0,0 +1,55 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#define __stringify__(x) #x
+#define stringify(x) __stringify__(x)
+
+int bla();
+
+int main()
+{
+ printf(DEFINE"\n");
+ printf(DEFINEWITHSPACE"\n");
+ printf(DEFINEWITHTAB"\n");
+ printf(DEFINEWITHBACKSLASH"\n");
+ printf(stringify(DEFINEWITHBACKSLASHRAW)"\n");
+
+ return bla();
+}
+
diff --git a/tests/manual/proper quoting/my static lib helper.cpp b/tests/manual/proper quoting/my static lib helper.cpp
new file mode 100644
index 000000000..76a6a38e9
--- /dev/null
+++ b/tests/manual/proper quoting/my static lib helper.cpp
@@ -0,0 +1,5 @@
+int helper_function()
+{
+ return 156;
+}
+
diff --git a/tests/manual/proper quoting/my static lib.cpp b/tests/manual/proper quoting/my static lib.cpp
new file mode 100644
index 000000000..7134e431b
--- /dev/null
+++ b/tests/manual/proper quoting/my static lib.cpp
@@ -0,0 +1,46 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+#include <some helper.h>
+
+int bla()
+{
+ int n = getSomeNumber();
+ printf("Hello World! The magic number is %d.", n);
+ return n;
+}
diff --git a/tests/manual/proper quoting/proper quoting.qbp b/tests/manual/proper quoting/proper quoting.qbp
new file mode 100644
index 000000000..f56f78071
--- /dev/null
+++ b/tests/manual/proper quoting/proper quoting.qbp
@@ -0,0 +1,42 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "Hello World"
+ files : [ "main.cpp" ]
+ Depends { name: "cpp" }
+ Depends { name: "my static lib" }
+ cpp.defines: [
+ 'DEFINE="whitespaceless"',
+ 'DEFINEWITHSPACE="contains space"',
+ 'DEFINEWITHTAB="contains\ttab"',
+ 'DEFINEWITHBACKSLASH="backslash\\\\"',
+ 'DEFINEWITHBACKSLASHRAW=backslash\\\\'
+ ]
+// cpp.responseFileThreshold: 0
+ }
+
+ Product {
+ type: "staticlibrary"
+ name : "my static lib"
+ files : [ "my static lib.cpp" ]
+ Depends { name: "cpp" }
+ Depends { name: "helper lib" }
+// cpp.responseFileThreshold: 0
+ }
+
+ Product {
+ type: "staticlibrary"
+ name : "helper lib"
+ files : [
+ "some helper/some helper.h",
+ "some helper/some helper.cpp"
+ ]
+ Depends { name: "cpp" }
+ ProductModule {
+ cpp.includePaths: ['some helper']
+ }
+// cpp.responseFileThreshold: 0
+ }
+}
diff --git a/tests/manual/proper quoting/some helper/some helper.cpp b/tests/manual/proper quoting/some helper/some helper.cpp
new file mode 100644
index 000000000..99ac58019
--- /dev/null
+++ b/tests/manual/proper quoting/some helper/some helper.cpp
@@ -0,0 +1,44 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "some helper.h"
+
+int getSomeNumber()
+{
+ return 156;
+}
+
diff --git a/tests/manual/proper quoting/some helper/some helper.h b/tests/manual/proper quoting/some helper/some helper.h
new file mode 100644
index 000000000..75560e6af
--- /dev/null
+++ b/tests/manual/proper quoting/some helper/some helper.h
@@ -0,0 +1,44 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#ifndef HELPER_H
+#define HELPER_H
+
+extern int getSomeNumber();
+
+#endif
+
diff --git a/tests/manual/propertiesblocks/hello.qbp b/tests/manual/propertiesblocks/hello.qbp
new file mode 100644
index 000000000..de08cbbec
--- /dev/null
+++ b/tests/manual/propertiesblocks/hello.qbp
@@ -0,0 +1,28 @@
+import qbs.base 1.0
+
+Product {
+ Depends { name: 'cpp' }
+
+ Properties {
+ condition: true
+ type: 'application'
+ name: 'HelloWorld'
+ }
+
+ Properties {
+ condition: name == 'HelloWorld'
+ cpp.defines: ['SOMETHING']
+ }
+
+ Properties {
+ condition: qbs.targetOS == "weird"
+ cpp.staticLibraries: "abc"
+ }
+
+ Group {
+ cpp.defines: outer.concat(['HAVE_MAIN_CPP', cpp.debugInformation ? '_DEBUG' : '_RELEASE'])
+ files: ['main.cpp']
+ }
+}
+
+
diff --git a/tests/manual/propertiesblocks/main.cpp b/tests/manual/propertiesblocks/main.cpp
new file mode 100644
index 000000000..4d2b5fa6c
--- /dev/null
+++ b/tests/manual/propertiesblocks/main.cpp
@@ -0,0 +1,52 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <stdio.h>
+
+#ifndef HAVE_MAIN_CPP
+# error missing define HAVE_MAIN_CPP
+#endif
+
+int main()
+{
+#ifdef _DEBUG
+ puts("Hello World! (debug version)");
+#else
+ puts("Hello World! (release version)");
+#endif
+}
+
diff --git a/tests/manual/qrc2/bla.cpp b/tests/manual/qrc2/bla.cpp
new file mode 100644
index 000000000..e1c0d42bc
--- /dev/null
+++ b/tests/manual/qrc2/bla.cpp
@@ -0,0 +1,40 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+int main(){
+ return 3;
+}
diff --git a/tests/manual/qrc2/bla.qrc b/tests/manual/qrc2/bla.qrc
new file mode 100644
index 000000000..f0a7168f5
--- /dev/null
+++ b/tests/manual/qrc2/bla.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/bla">
+ <file>stuff.txt</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/qrc2/foo.qrc b/tests/manual/qrc2/foo.qrc
new file mode 100644
index 000000000..a8acfc34a
--- /dev/null
+++ b/tests/manual/qrc2/foo.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/foo">
+ <file>stuff.txt</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/qrc2/i.qbp b/tests/manual/qrc2/i.qbp
new file mode 100644
index 000000000..5f89b9f82
--- /dev/null
+++ b/tests/manual/qrc2/i.qbp
@@ -0,0 +1,19 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "i"
+
+ Depends {
+ name: "Qt.core"
+ }
+
+ files: [
+ "bla.cpp",
+ "bla.qrc",
+ "foo.qrc",
+ "stuff.txt"
+ ]
+ }
+}
diff --git a/tests/manual/qrc2/stuff.txt b/tests/manual/qrc2/stuff.txt
new file mode 100644
index 000000000..78f0d32c6
--- /dev/null
+++ b/tests/manual/qrc2/stuff.txt
@@ -0,0 +1 @@
+a resource file
diff --git a/tests/manual/symhello/hello.qbp b/tests/manual/symhello/hello.qbp
new file mode 100644
index 000000000..7e9944a15
--- /dev/null
+++ b/tests/manual/symhello/hello.qbp
@@ -0,0 +1,10 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ name : "HelloWorld"
+ type: "application"
+ files : [ "main.cpp" ]
+ }
+}
+
diff --git a/tests/manual/symhello/main.cpp b/tests/manual/symhello/main.cpp
new file mode 100644
index 000000000..8e1873a2a
--- /dev/null
+++ b/tests/manual/symhello/main.cpp
@@ -0,0 +1,46 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <e32std.h>
+#include <e32debug.h>
+
+TInt E32Main()
+{
+ RDebug::Print(_L("Hello!"));
+ return 0;
+}
+
diff --git a/tests/manual/transformers/main.cpp b/tests/manual/transformers/main.cpp
new file mode 100644
index 000000000..5df553831
--- /dev/null
+++ b/tests/manual/transformers/main.cpp
@@ -0,0 +1,77 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include <string>
+#include <iostream>
+#include <fstream>
+
+using namespace std;
+
+bool displayTextFile(const string &dirPath, const string &fileName)
+{
+ string fullPath = dirPath + fileName;
+ ifstream istream(fullPath.c_str());
+ if (!istream.is_open()) {
+ cout << "Cannot open " << fileName << endl;
+ return false;
+ }
+ cout << "---" << fileName << "---" << endl;
+ char buf[256];
+ unsigned int i = 1;
+ while (istream.good()) {
+ istream.getline(buf, sizeof(buf));
+ cout << i++ << ": " << buf << endl;
+ }
+ return true;
+}
+
+int main(int argc, char **argv)
+{
+ string appPath(argv[0]);
+ size_t i = appPath.find_last_of('/');
+ if (i == string::npos)
+ i = appPath.find_last_of('\\');
+ if (i != string::npos)
+ appPath.resize(i + 1);
+ if (!displayTextFile(appPath, "foo.txt"))
+ return 1;
+ if (!displayTextFile(appPath, "bar.txt"))
+ return 2;
+ cout << "-------------" << endl;
+ return 0;
+}
+
diff --git a/tests/manual/transformers/transformers.qbp b/tests/manual/transformers/transformers.qbp
new file mode 100644
index 000000000..12cd3579f
--- /dev/null
+++ b/tests/manual/transformers/transformers.qbp
@@ -0,0 +1,53 @@
+import qbs.base 1.0
+import qbs.fileinfo 1.0 as FileInfo
+
+Project {
+ Product {
+ name: "HelloWorld"
+ type: "application"
+ files: ["main.cpp"]
+
+ Depends { name: "cpp" }
+
+ Transformer {
+ // no inputs -> just a generator
+ Artifact {
+ fileName: "foo.txt"
+ fileTags: "text"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating foo.txt";
+ cmd.highlight = "linker";
+ cmd.sourceCode = "File.remove(output.fileName);\n";
+ cmd.sourceCode += "var f = new TextFile(output.fileName, TextFile.WriteOnly);\n"
+ cmd.sourceCode += "f.write(\"Dear Sir/Madam,\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"this is a generated file.\\n\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"Best Regards and Mellow Greetings,\\nYour Build Tool.\\n\");\n";
+ cmd.sourceCode += "f.close();";
+ return cmd;
+ }
+ }
+
+ Transformer {
+ inputs: ["main.cpp"] // will be taken from the source dir
+ Artifact {
+ fileName: "bar.txt"
+ fileTags: "text"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating bar.txt";
+ cmd.highlight = "linker";
+ cmd.sourceCode = "File.remove(output.fileName);\n";
+ cmd.sourceCode += "var f = new TextFile(output.fileName, TextFile.WriteOnly)\n";
+ cmd.sourceCode += "f.write(\"Dear Sir/Madam,\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"this file was generated from \" + input.fileName + \".\\n\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"Best Regards and Mellow Greetings,\\nYour Build Tool.\\n\");";
+ cmd.sourceCode += "f.close();";
+ return cmd;
+ }
+ }
+ }
+}
+
diff --git a/tests/manual/uic/bla.cpp b/tests/manual/uic/bla.cpp
new file mode 100644
index 000000000..b56070dc2
--- /dev/null
+++ b/tests/manual/uic/bla.cpp
@@ -0,0 +1,44 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "bla.h"
+
+int main()
+{
+ Ui::MainWindow mainWindow;
+}
+
diff --git a/tests/manual/uic/bla.h b/tests/manual/uic/bla.h
new file mode 100644
index 000000000..8c8a45878
--- /dev/null
+++ b/tests/manual/uic/bla.h
@@ -0,0 +1,38 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "ui.h"
diff --git a/tests/manual/uic/ui.h b/tests/manual/uic/ui.h
new file mode 100644
index 000000000..e2dfa0eb6
--- /dev/null
+++ b/tests/manual/uic/ui.h
@@ -0,0 +1,38 @@
+/**************************************************************************
+**
+** This file is part of the Qt Build Suite
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file.
+** Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**************************************************************************/
+
+#include "ui_ui.h"
diff --git a/tests/manual/uic/ui.ui b/tests/manual/uic/ui.ui
new file mode 100644
index 000000000..b07f62d05
--- /dev/null
+++ b/tests/manual/uic/ui.ui
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget"/>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>25</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/manual/uic/uic.qbp b/tests/manual/uic/uic.qbp
new file mode 100644
index 000000000..1c10dca76
--- /dev/null
+++ b/tests/manual/uic/uic.qbp
@@ -0,0 +1,17 @@
+import qbs.base 1.0
+
+Project {
+ Product {
+ type: "application"
+ name: "ui"
+
+ Depends { name: "Qt.gui"}
+
+ files: [
+ "bla.cpp",
+ "bla.h",
+ "ui.ui",
+ "ui.h"
+ ]
+ }
+}