From 13b35de9d19664f22ca6bf97e6bb6b9b95a1aa45 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 23 Jun 2012 10:52:03 +0200 Subject: [PATCH] Test that the package configs for QtDeclarative work. Change-Id: I514e2c6bb1ad7f3d7b72f58e335e3d3dcf0f1542 Reviewed-by: Rohan McGovern --- tests/auto/auto.pro | 3 +- tests/auto/cmake/CMakeLists.txt | 12 +++++++ tests/auto/cmake/cmake.pro | 5 +++ tests/auto/cmake/test_modules/CMakeLists.txt | 33 ++++++++++++++++++ tests/auto/cmake/test_modules/main.cpp | 52 ++++++++++++++++++++++++++++ 5 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 tests/auto/cmake/CMakeLists.txt create mode 100644 tests/auto/cmake/cmake.pro create mode 100644 tests/auto/cmake/test_modules/CMakeLists.txt create mode 100644 tests/auto/cmake/test_modules/main.cpp diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 818bbda..7f9281c 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -5,6 +5,7 @@ SUBDIRS=\ headersclean \ particles \ qmltest \ - qmldevtools + qmldevtools \ + cmake testcocoon: SUBDIRS -= headersclean diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt new file mode 100644 index 0000000..4f15a69 --- /dev/null +++ b/tests/auto/cmake/CMakeLists.txt @@ -0,0 +1,12 @@ + +cmake_minimum_required(VERSION 2.8) + +project(qmake_cmake_files) + +enable_testing() + +find_package(Qt5Core REQUIRED) + +include("${_Qt5CTestMacros}") + +expect_pass(test_modules) diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro new file mode 100644 index 0000000..bf2dbcb --- /dev/null +++ b/tests/auto/cmake/cmake.pro @@ -0,0 +1,5 @@ + +# Cause make to do nothing. +TEMPLATE = subdirs + +CONFIG += ctest_testcase diff --git a/tests/auto/cmake/test_modules/CMakeLists.txt b/tests/auto/cmake/test_modules/CMakeLists.txt new file mode 100644 index 0000000..509320b --- /dev/null +++ b/tests/auto/cmake/test_modules/CMakeLists.txt @@ -0,0 +1,33 @@ + +cmake_minimum_required(VERSION 2.8) + +project(test_modules) + +# We have to find the dependencies separately because they are installed, +# whereas the modules under test are not installed yet, and are found in the +# build directory. Normally the Qt5 CMake files expect all modules in one +# installation prefix, so we work around that by finding the dependencies +# explicitly first. +find_package(Qt5Network REQUIRED) +find_package(Qt5Gui REQUIRED) + +find_package(Qt5Qml REQUIRED) +find_package(Qt5Quick REQUIRED) + +include_directories( + ${Qt5Qml_INCLUDE_DIRS} + ${Qt5Quick_INCLUDE_DIRS} +) + +add_definitions( + ${Qt5Qml_DEFINITIONS} + ${Qt5Quick_DEFINITIONS} +) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") + +add_executable(mainapp main.cpp) +target_link_libraries(mainapp + ${Qt5Qml_LIBRARIES} + ${Qt5Quick_LIBRARIES} +) diff --git a/tests/auto/cmake/test_modules/main.cpp b/tests/auto/cmake/test_modules/main.cpp new file mode 100644 index 0000000..10c06c2 --- /dev/null +++ b/tests/auto/cmake/test_modules/main.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly +** 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 +#include + +int main(int argc, char **argv) +{ + QQmlEngine qmlEngine; + + QQuickItem quickItem; + + return 0; +} -- 2.7.4