summaryrefslogtreecommitdiffstats
path: root/tests/auto/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/cmake')
-rw-r--r--tests/auto/cmake/CMakeLists.txt100
-rw-r--r--tests/auto/cmake/cmake.pro54
-rw-r--r--tests/auto/cmake/fail4/CMakeLists.txt22
-rw-r--r--tests/auto/cmake/fail4/myobject.cpp54
-rw-r--r--tests/auto/cmake/fail4/myobject.h57
-rw-r--r--tests/auto/cmake/fail4/pass4.qrc6
-rw-r--r--tests/auto/cmake/fail4/resource_file.txt1
-rw-r--r--tests/auto/cmake/fail5/CMakeLists.txt19
-rw-r--r--tests/auto/cmake/fail5/myobject.cpp54
-rw-r--r--tests/auto/cmake/fail5/myobject.h57
-rw-r--r--tests/auto/cmake/pass(needsquoting)6/CMakeLists.txt22
-rw-r--r--tests/auto/cmake/pass(needsquoting)6/mywidget.cpp56
-rw-r--r--tests/auto/cmake/pass(needsquoting)6/mywidget.h65
-rw-r--r--tests/auto/cmake/pass(needsquoting)6/mywidget.ui34
-rw-r--r--tests/auto/cmake/pass1/CMakeLists.txt51
-rw-r--r--tests/auto/cmake/pass1/three.cpp58
-rw-r--r--tests/auto/cmake/pass1/two.cpp56
-rw-r--r--tests/auto/cmake/pass2/CMakeLists.txt19
-rw-r--r--tests/auto/cmake/pass2/myobject.cpp56
-rw-r--r--tests/auto/cmake/pass2/myobject.h57
-rw-r--r--tests/auto/cmake/pass2/pass2.qrc6
-rw-r--r--tests/auto/cmake/pass2/resource_file.txt1
-rw-r--r--tests/auto/cmake/pass3/CMakeLists.txt21
-rw-r--r--tests/auto/cmake/pass3/mywidget.cpp56
-rw-r--r--tests/auto/cmake/pass3/mywidget.h65
-rw-r--r--tests/auto/cmake/pass3/mywidget.ui34
-rw-r--r--tests/auto/cmake/pass7/CMakeLists.txt13
-rw-r--r--tests/auto/cmake/pass7/main.cpp47
-rw-r--r--tests/auto/cmake/pass8/CMakeLists.txt20
-rw-r--r--tests/auto/cmake/pass8/myobject.cpp54
-rw-r--r--tests/auto/cmake/pass8/myobject.h57
-rw-r--r--tests/auto/cmake/pass9/CMakeLists.txt36
-rw-r--r--tests/auto/cmake/pass9/mydbusobject.cpp56
-rw-r--r--tests/auto/cmake/pass9/mydbusobject.h58
34 files changed, 1422 insertions, 0 deletions
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt
new file mode 100644
index 0000000000..b9b0e8c605
--- /dev/null
+++ b/tests/auto/cmake/CMakeLists.txt
@@ -0,0 +1,100 @@
+
+# This is an automatic test for the CMake configuration files.
+# To run it,
+# 1) mkdir build # Create a build directory
+# 2) cd build
+# 3) cmake .. # Run cmake on this directory.
+# 4) ctest # Run ctest
+#
+# The expected output is something like:
+#
+# Start 1: pass1
+# 1/7 Test #1: pass1 ............................ Passed 4.25 sec
+# Start 2: pass2
+# 2/7 Test #2: pass2 ............................ Passed 2.00 sec
+# Start 3: pass3
+# 3/7 Test #3: pass3 ............................ Passed 2.85 sec
+# Start 4: fail4
+# 4/7 Test #4: fail4 ............................ Passed 1.88 sec
+# Start 5: fail5
+# 5/7 Test #5: fail5 ............................ Passed 1.36 sec
+# Start 6: pass_needsquoting_6
+# 6/7 Test #6: pass_needsquoting_6 .............. Passed 2.88 sec
+# Start 7: pass7
+# 7/7 Test #7: pass7 ............................ Passed 0.93 sec
+#
+# Note that if Qt is not installed, or if it is installed to a
+# non-standard prefix, the environment variable CMAKE_PREFIX_PATH
+# needs to be set to the installation prefix or build prefix of Qt
+# before running these tests.
+
+cmake_minimum_required(VERSION 2.8)
+
+project(qmake_cmake_files)
+
+enable_testing()
+
+macro(expect_pass _dir)
+ string(REPLACE "(" "_" testname "${_dir}")
+ string(REPLACE ")" "_" testname "${testname}")
+ add_test(${testname} ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}"
+ "${CMAKE_CURRENT_BINARY_DIR}/${_dir}"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-options -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ )
+endmacro()
+
+macro(expect_fail _dir)
+ string(REPLACE "(" "_" testname "${_dir}")
+ string(REPLACE ")" "_" testname "${testname}")
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt"
+ "
+ cmake_minimum_required(VERSION 2.8)
+ project(${_dir}_build)
+
+ try_compile(Result \${CMAKE_CURRENT_BINARY_DIR}/${_dir}
+ \${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
+ ${_dir}
+ OUTPUT_VARIABLE Out
+ )
+ message(\"\${Out}\")
+ if (Result)
+ message(SEND_ERROR \"Succeeded build which should fail\")
+ endif()
+ "
+ )
+ add_test(${testname} ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}"
+ "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/build"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-options -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ )
+endmacro()
+
+if(NOT ${CMAKE_VERSION} VERSION_LESS 2.8.7)
+ # Requires CMAKE_AUTOMOC function in CMake 2.8.7
+ expect_pass(pass1)
+else()
+ message("CMake version older than 2.8.7 (Found ${CMAKE_VERSION}). Not running test \"pass1\"")
+endif()
+expect_pass(pass2)
+# Modules do not currently find their own dependencies.
+# expect_pass(pass3)
+expect_fail(fail4)
+expect_fail(fail5)
+expect_pass("pass(needsquoting)6")
+expect_pass(pass7)
+expect_pass(pass8)
+
+# If QtDBus has been installed then run the tests for its macros.
+find_package(Qt5DBus QUIET)
+if (Qt5DBus_FOUND AND NOT APPLE)
+ expect_pass(pass9)
+endif()
diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro
new file mode 100644
index 0000000000..0fe999b957
--- /dev/null
+++ b/tests/auto/cmake/cmake.pro
@@ -0,0 +1,54 @@
+
+CMAKE_VERSION = $$system(cmake --version)
+
+# Cause make to do nothing.
+TEMPLATE = subdirs
+
+check.commands =
+isEmpty(CMAKE_VERSION) {
+ message("cmake executable not found. Not running CMake unit tests")
+} else {
+ CTEST_VERSION = $$system(ctest --version)
+ isEmpty(CTEST_VERSION) {
+ message("ctest executable not found. Not running CMake unit tests")
+ } else {
+ CMAKE_VERSION = $$last(CMAKE_VERSION)
+ CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0)
+ CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1)
+ CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2)
+
+ VERSION_OK =
+ greaterThan(CMAKE_VERSION_MAJOR, 2) {
+ VERSION_OK = 1
+ } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) {
+ VERSION_OK = 1
+ } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) {
+ VERSION_OK = 1
+ }
+
+ isEmpty(VERSION_OK) {
+ message("cmake $$CMAKE_VERSION is too old for this test.")
+ } else {
+ SET = set
+ equals(QMAKE_DIR_SEP, "/"):SET = export
+
+ CMAKE_BUILD_TYPE = Debug
+ CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release
+
+ BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP)
+
+ check.commands = \
+ cd . && $$SET CMAKE_PREFIX_PATH=$$[QT_INSTALL_PREFIX] && \
+ $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \
+ cmake $$_PRO_FILE_PWD_ -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} && \
+ $(TESTRUNNER) ctest --output-on-failure
+
+ }
+ }
+}
+
+insignificant_test:!isEmpty(check.commands) {
+ check.commands = -$${check.commands}
+}
+
+QMAKE_EXTRA_TARGETS *= check
diff --git a/tests/auto/cmake/fail4/CMakeLists.txt b/tests/auto/cmake/fail4/CMakeLists.txt
new file mode 100644
index 0000000000..fdf90e17a7
--- /dev/null
+++ b/tests/auto/cmake/fail4/CMakeLists.txt
@@ -0,0 +1,22 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass4)
+
+find_package(Qt5Core REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS})
+
+qt5_wrap_cpp(moc_files myobject.h)
+
+# Test options. The -binary option generates a binary to dlopen instead of
+# a source file to compile. The compiler will consider it garbage when used
+# in the add_executable call.
+qt5_add_resources(rcc_files "pass4.qrc" OPTIONS -binary)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(myobject myobject.cpp ${moc_files} ${rcc_files})
+target_link_libraries(myobject ${Qt5Core_LIBRARIES})
diff --git a/tests/auto/cmake/fail4/myobject.cpp b/tests/auto/cmake/fail4/myobject.cpp
new file mode 100644
index 0000000000..292a76e569
--- /dev/null
+++ b/tests/auto/cmake/fail4/myobject.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "myobject.h"
+
+MyObject::MyObject(QObject *parent)
+ : QObject(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ MyObject myObject;
+ return 0;
+}
diff --git a/tests/auto/cmake/fail4/myobject.h b/tests/auto/cmake/fail4/myobject.h
new file mode 100644
index 0000000000..cd8765d03f
--- /dev/null
+++ b/tests/auto/cmake/fail4/myobject.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+public:
+ MyObject(QObject *parent = 0);
+
+signals:
+ void someSignal();
+};
+
+#endif
diff --git a/tests/auto/cmake/fail4/pass4.qrc b/tests/auto/cmake/fail4/pass4.qrc
new file mode 100644
index 0000000000..00a17f541f
--- /dev/null
+++ b/tests/auto/cmake/fail4/pass4.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/">
+ <file>resource_file.txt</file>
+</qresource>
+</RCC>
+
diff --git a/tests/auto/cmake/fail4/resource_file.txt b/tests/auto/cmake/fail4/resource_file.txt
new file mode 100644
index 0000000000..2c604a4f18
--- /dev/null
+++ b/tests/auto/cmake/fail4/resource_file.txt
@@ -0,0 +1 @@
+Ken sent me.
diff --git a/tests/auto/cmake/fail5/CMakeLists.txt b/tests/auto/cmake/fail5/CMakeLists.txt
new file mode 100644
index 0000000000..962314c818
--- /dev/null
+++ b/tests/auto/cmake/fail5/CMakeLists.txt
@@ -0,0 +1,19 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass5)
+
+find_package(Qt5Core REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS})
+
+# Test options. The -i option removes the include "myobject.h" from the moc file
+# causing a compile failure. -> Options work
+qt5_wrap_cpp(moc_files myobject.h OPTIONS -i)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(myobject myobject.cpp ${moc_files})
+target_link_libraries(myobject ${Qt5Core_LIBRARIES})
diff --git a/tests/auto/cmake/fail5/myobject.cpp b/tests/auto/cmake/fail5/myobject.cpp
new file mode 100644
index 0000000000..292a76e569
--- /dev/null
+++ b/tests/auto/cmake/fail5/myobject.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "myobject.h"
+
+MyObject::MyObject(QObject *parent)
+ : QObject(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ MyObject myObject;
+ return 0;
+}
diff --git a/tests/auto/cmake/fail5/myobject.h b/tests/auto/cmake/fail5/myobject.h
new file mode 100644
index 0000000000..cd8765d03f
--- /dev/null
+++ b/tests/auto/cmake/fail5/myobject.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+public:
+ MyObject(QObject *parent = 0);
+
+signals:
+ void someSignal();
+};
+
+#endif
diff --git a/tests/auto/cmake/pass(needsquoting)6/CMakeLists.txt b/tests/auto/cmake/pass(needsquoting)6/CMakeLists.txt
new file mode 100644
index 0000000000..7b9561c588
--- /dev/null
+++ b/tests/auto/cmake/pass(needsquoting)6/CMakeLists.txt
@@ -0,0 +1,22 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project("pass(needsquoting)6")
+
+find_package(Qt5Core REQUIRED)
+find_package(Qt5Gui REQUIRED)
+find_package(Qt5Widgets REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS} ${Qt5Gui_DEFINITIONS} ${Qt5Widgets_DEFINITIONS})
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+qt5_wrap_cpp(moc_files mywidget.h)
+qt5_wrap_ui(ui_files mywidget.ui)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(mywidget mywidget.cpp ${moc_files} ${ui_files})
+target_link_libraries(mywidget ${Qt5Widgets_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Core_LIBRARIES})
diff --git a/tests/auto/cmake/pass(needsquoting)6/mywidget.cpp b/tests/auto/cmake/pass(needsquoting)6/mywidget.cpp
new file mode 100644
index 0000000000..7f8923810d
--- /dev/null
+++ b/tests/auto/cmake/pass(needsquoting)6/mywidget.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mywidget.h"
+#include "ui_mywidget.h"
+
+MyWidget::MyWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ MyWidget myWidget;
+ return 0;
+}
diff --git a/tests/auto/cmake/pass(needsquoting)6/mywidget.h b/tests/auto/cmake/pass(needsquoting)6/mywidget.h
new file mode 100644
index 0000000000..11968e6454
--- /dev/null
+++ b/tests/auto/cmake/pass(needsquoting)6/mywidget.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYWIDGET_H
+#define MYWIDGET_H
+
+#include <QWidget>
+
+namespace Ui
+{
+class MyWidget;
+}
+
+class MyWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ MyWidget(QWidget *parent = 0);
+
+signals:
+ void someSignal();
+
+private:
+ Ui::MyWidget *ui;
+};
+
+#endif
diff --git a/tests/auto/cmake/pass(needsquoting)6/mywidget.ui b/tests/auto/cmake/pass(needsquoting)6/mywidget.ui
new file mode 100644
index 0000000000..ac42ac4dc2
--- /dev/null
+++ b/tests/auto/cmake/pass(needsquoting)6/mywidget.ui
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit"/>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/cmake/pass1/CMakeLists.txt b/tests/auto/cmake/pass1/CMakeLists.txt
new file mode 100644
index 0000000000..970ca33078
--- /dev/null
+++ b/tests/auto/cmake/pass1/CMakeLists.txt
@@ -0,0 +1,51 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass1)
+
+set(CMAKE_AUTOMOC ON)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+macro(qt5_use_package _target _package)
+ if (NOT Qt5${_package}_FOUND)
+ find_package(Qt5${_package} ${ARG1})
+ endif()
+ if (Qt5${_package}_FOUND)
+ # TODO: Handle public/private keywords?
+ target_link_libraries(${_target} ${Qt5${_package}_LIBRARIES})
+ # ### Requires CMake 2.8.8:
+ # set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_package}_INCLUDE_DIRS})
+ include_directories(${Qt5${_package}_INCLUDE_DIRS})
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_package}_COMPILE_DEFINITIONS})
+
+ # We can't just append to the COMPILE_FLAGS property. That creats a ';' separated list
+ # which breaks the compile commmand line.
+ # Ensure non-duplication here manually instead.
+ get_property(_taget_type TARGET ${_target} PROPERTY TYPE)
+ if ("${_taget_type}" STREQUAL "EXECUTABLE")
+ get_target_property(_flags ${_target} COMPILE_FLAGS)
+ if (_flags)
+ list(APPEND _flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS})
+ list(REMOVE_DUPLICATES _flags)
+ else()
+ set(_flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS})
+ endif()
+ if (_flags)
+ set_target_properties(${_target} PROPERTIES COMPILE_FLAGS ${_flags})
+ endif()
+ endif()
+ else()
+ message(FATAL_ERROR "NOT FOUND: Qt5${_package}")
+ endif()
+endmacro()
+
+add_executable(two two.cpp)
+add_executable(three three.cpp)
+
+qt5_use_package(two Core)
+qt5_use_package(two Test)
+qt5_use_package(three Widgets)
+qt5_use_package(three Gui)
+qt5_use_package(three Core)
+qt5_use_package(three Test)
diff --git a/tests/auto/cmake/pass1/three.cpp b/tests/auto/cmake/pass1/three.cpp
new file mode 100644
index 0000000000..63bcbff480
--- /dev/null
+++ b/tests/auto/cmake/pass1/three.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest>
+#include <QWidget>
+
+class Three : public QObject
+{
+ Q_OBJECT
+public:
+ Three(QObject *parent = 0)
+ {
+ QWidget *w = new QWidget;
+ w->show();
+ }
+};
+
+QTEST_MAIN(Three)
+
+#include "three.moc"
diff --git a/tests/auto/cmake/pass1/two.cpp b/tests/auto/cmake/pass1/two.cpp
new file mode 100644
index 0000000000..24fcd5dba4
--- /dev/null
+++ b/tests/auto/cmake/pass1/two.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest>
+
+class Two : public QObject
+{
+ Q_OBJECT
+public:
+ Two(QObject *parent = 0)
+ {
+
+ }
+};
+
+QTEST_MAIN(Two)
+
+#include "two.moc"
diff --git a/tests/auto/cmake/pass2/CMakeLists.txt b/tests/auto/cmake/pass2/CMakeLists.txt
new file mode 100644
index 0000000000..c859f13fff
--- /dev/null
+++ b/tests/auto/cmake/pass2/CMakeLists.txt
@@ -0,0 +1,19 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass2)
+
+find_package(Qt5Core REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS})
+
+qt5_wrap_cpp(moc_files myobject.h)
+
+qt5_add_resources(rcc_files "pass2.qrc")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(myobject myobject.cpp ${moc_files} ${rcc_files})
+target_link_libraries(myobject ${Qt5Core_LIBRARIES})
diff --git a/tests/auto/cmake/pass2/myobject.cpp b/tests/auto/cmake/pass2/myobject.cpp
new file mode 100644
index 0000000000..a237b00c50
--- /dev/null
+++ b/tests/auto/cmake/pass2/myobject.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "myobject.h"
+
+MyObject::MyObject(QObject *parent)
+ : QObject(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ MyObject myObject;
+ // Compile error if the resource file was not created.
+ Q_INIT_RESOURCE(pass2);
+ return 0;
+}
diff --git a/tests/auto/cmake/pass2/myobject.h b/tests/auto/cmake/pass2/myobject.h
new file mode 100644
index 0000000000..cd8765d03f
--- /dev/null
+++ b/tests/auto/cmake/pass2/myobject.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+public:
+ MyObject(QObject *parent = 0);
+
+signals:
+ void someSignal();
+};
+
+#endif
diff --git a/tests/auto/cmake/pass2/pass2.qrc b/tests/auto/cmake/pass2/pass2.qrc
new file mode 100644
index 0000000000..00a17f541f
--- /dev/null
+++ b/tests/auto/cmake/pass2/pass2.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/">
+ <file>resource_file.txt</file>
+</qresource>
+</RCC>
+
diff --git a/tests/auto/cmake/pass2/resource_file.txt b/tests/auto/cmake/pass2/resource_file.txt
new file mode 100644
index 0000000000..2c604a4f18
--- /dev/null
+++ b/tests/auto/cmake/pass2/resource_file.txt
@@ -0,0 +1 @@
+Ken sent me.
diff --git a/tests/auto/cmake/pass3/CMakeLists.txt b/tests/auto/cmake/pass3/CMakeLists.txt
new file mode 100644
index 0000000000..7fa6731f9b
--- /dev/null
+++ b/tests/auto/cmake/pass3/CMakeLists.txt
@@ -0,0 +1,21 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass3)
+
+# The module finds its dependencies
+find_package(Qt5Widgets REQUIRED)
+
+include_directories(${Qt5Widgets_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS})
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+qt5_wrap_cpp(moc_files mywidget.h)
+qt5_wrap_ui(ui_files mywidget.ui)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(mywidget mywidget.cpp ${moc_files} ${ui_files})
+target_link_libraries(mywidget ${Qt5Widgets_LIBRARIES})
diff --git a/tests/auto/cmake/pass3/mywidget.cpp b/tests/auto/cmake/pass3/mywidget.cpp
new file mode 100644
index 0000000000..7f8923810d
--- /dev/null
+++ b/tests/auto/cmake/pass3/mywidget.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mywidget.h"
+#include "ui_mywidget.h"
+
+MyWidget::MyWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ MyWidget myWidget;
+ return 0;
+}
diff --git a/tests/auto/cmake/pass3/mywidget.h b/tests/auto/cmake/pass3/mywidget.h
new file mode 100644
index 0000000000..11968e6454
--- /dev/null
+++ b/tests/auto/cmake/pass3/mywidget.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYWIDGET_H
+#define MYWIDGET_H
+
+#include <QWidget>
+
+namespace Ui
+{
+class MyWidget;
+}
+
+class MyWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ MyWidget(QWidget *parent = 0);
+
+signals:
+ void someSignal();
+
+private:
+ Ui::MyWidget *ui;
+};
+
+#endif
diff --git a/tests/auto/cmake/pass3/mywidget.ui b/tests/auto/cmake/pass3/mywidget.ui
new file mode 100644
index 0000000000..ac42ac4dc2
--- /dev/null
+++ b/tests/auto/cmake/pass3/mywidget.ui
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit"/>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/cmake/pass7/CMakeLists.txt b/tests/auto/cmake/pass7/CMakeLists.txt
new file mode 100644
index 0000000000..ecf6b3649e
--- /dev/null
+++ b/tests/auto/cmake/pass7/CMakeLists.txt
@@ -0,0 +1,13 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass7)
+
+find_package(Qt5Core REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS})
+add_definitions(${Qt5Core_DEFINITIONS})
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(myobject main.cpp)
diff --git a/tests/auto/cmake/pass7/main.cpp b/tests/auto/cmake/pass7/main.cpp
new file mode 100644
index 0000000000..0a6b09d877
--- /dev/null
+++ b/tests/auto/cmake/pass7/main.cpp
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplatformdefs.h"
+
+int main(int argc, char **argv)
+{
+ return 0;
+}
diff --git a/tests/auto/cmake/pass8/CMakeLists.txt b/tests/auto/cmake/pass8/CMakeLists.txt
new file mode 100644
index 0000000000..735b1bd26e
--- /dev/null
+++ b/tests/auto/cmake/pass8/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass8)
+
+find_package(Qt5Core REQUIRED)
+
+include_directories(${Qt5Core_INCLUDE_DIRS})
+
+add_definitions(${Qt5Core_DEFINITIONS})
+
+qt5_wrap_cpp(moc_files myobject.h)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+# On non-windows, the WIN32 is harmless, and Qt5Core_QTMAIN_LIBRARIES is empty.
+# We test that it is harmless on those, and test that it builds on Windows.
+# It wouldn't build if WIN32 is used and Qt5Core_QTMAIN_LIBRARIES is empty.
+add_executable(myobject WIN32 myobject.cpp ${moc_files} )
+target_link_libraries(myobject ${Qt5Core_LIBRARIES} ${Qt5Core_QTMAIN_LIBRARIES})
diff --git a/tests/auto/cmake/pass8/myobject.cpp b/tests/auto/cmake/pass8/myobject.cpp
new file mode 100644
index 0000000000..b6287b2540
--- /dev/null
+++ b/tests/auto/cmake/pass8/myobject.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "myobject.h"
+
+MyObject::MyObject(QObject *parent)
+ : QObject(parent)
+{
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ MyObject myObject;
+ return 0;
+}
diff --git a/tests/auto/cmake/pass8/myobject.h b/tests/auto/cmake/pass8/myobject.h
new file mode 100644
index 0000000000..71a65ee801
--- /dev/null
+++ b/tests/auto/cmake/pass8/myobject.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+public:
+ MyObject(QObject *parent = 0);
+
+signals:
+ void someSignal();
+};
+
+#endif
diff --git a/tests/auto/cmake/pass9/CMakeLists.txt b/tests/auto/cmake/pass9/CMakeLists.txt
new file mode 100644
index 0000000000..bf8ff6b3da
--- /dev/null
+++ b/tests/auto/cmake/pass9/CMakeLists.txt
@@ -0,0 +1,36 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(pass9)
+
+find_package(Qt5Core REQUIRED)
+find_package(Qt5DBus REQUIRED)
+
+include_directories(
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5DBus_INCLUDE_DIRS}
+)
+
+add_definitions(${Qt5Core_DEFINITIONS} ${Qt5DBus_DEFINITIONS})
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(my_srcs mydbusobject.cpp)
+
+qt5_wrap_cpp(moc_files mydbusobject.h)
+
+qt5_generate_dbus_interface(
+ mydbusobject.h
+ ${CMAKE_BINARY_DIR}/org.qtProject.Tests.MyDBusObject.xml
+)
+
+qt5_add_dbus_adaptor(my_srcs
+ ${CMAKE_BINARY_DIR}/org.qtProject.Tests.MyDBusObject.xml
+ mydbusobject.h
+ MyDBusObject
+)
+
+add_executable(myobject ${my_srcs} ${moc_files})
+target_link_libraries(myobject ${Qt5DBus_LIBRARIES} ${Qt5Core_LIBRARIES})
diff --git a/tests/auto/cmake/pass9/mydbusobject.cpp b/tests/auto/cmake/pass9/mydbusobject.cpp
new file mode 100644
index 0000000000..ee211bbe9b
--- /dev/null
+++ b/tests/auto/cmake/pass9/mydbusobject.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mydbusobject.h"
+#include "mydbusobjectadaptor.h"
+
+MyDBusObject::MyDBusObject(QObject *parent)
+ : QObject(parent)
+{
+ new MyDBusObjectAdaptor(this);
+ emit someSignal();
+}
+
+int main(int argc, char **argv)
+{
+ MyDBusObject myDBusObject;
+ return 0;
+}
diff --git a/tests/auto/cmake/pass9/mydbusobject.h b/tests/auto/cmake/pass9/mydbusobject.h
new file mode 100644
index 0000000000..dd9a023ffe
--- /dev/null
+++ b/tests/auto/cmake/pass9/mydbusobject.h
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYDBUSOBJECT_H
+#define MYDBUSOBJECT_H
+
+#include <QObject>
+
+class MyDBusObject : public QObject
+{
+ Q_OBJECT
+ Q_CLASSINFO("D-Bus Interface", "org.qtProject.Tests.MyDBusObject")
+public:
+ MyDBusObject(QObject *parent = 0);
+
+signals:
+ void someSignal();
+};
+
+#endif