From b61d36ee3668833ad51b98ffcafc962b5dd3fa9a Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 30 Nov 2012 14:55:09 +0100 Subject: Re-enable and test the ActiveQt CMake files. The Qt5AxContainer CMake module is the most commonly useful, and the more simple. Using Qt5AxServer requires the user to do some post-build actions currently. In the future, it may be possible to add CMake macros for that kind of thing, but as most people won't use CMake for this at all, it is not so important at this time. http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/44824 Change-Id: If33938f829fbf53190aee9d4652516e1c450f05c Reviewed-by: Oswald Buddenhagen Reviewed-by: Stephen Kelly --- tests/auto/auto.pro | 3 +- tests/auto/cmake/CMakeLists.txt | 12 +++++ tests/auto/cmake/cmake.pro | 5 ++ tests/auto/cmake/test_modules/CMakeLists.txt | 7 +++ .../cmake/test_modules/container/CMakeLists.txt | 24 +++++++++ .../cmake/test_modules/container/axcontainer.cpp | 51 ++++++++++++++++++ .../auto/cmake/test_modules/server/CMakeLists.txt | 24 +++++++++ tests/auto/cmake/test_modules/server/axserver.cpp | 60 ++++++++++++++++++++++ 8 files changed, 185 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/container/CMakeLists.txt create mode 100644 tests/auto/cmake/test_modules/container/axcontainer.cpp create mode 100644 tests/auto/cmake/test_modules/server/CMakeLists.txt create mode 100644 tests/auto/cmake/test_modules/server/axserver.cpp (limited to 'tests') diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 82cce69..41abb07 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs SUBDIRS += \ qaxobject \ - dumpcpp + dumpcpp \ + cmake 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..4336ad4 --- /dev/null +++ b/tests/auto/cmake/test_modules/CMakeLists.txt @@ -0,0 +1,7 @@ + +cmake_minimum_required(VERSION 2.8) + +project(test_modules) + +add_subdirectory(server) +add_subdirectory(container) diff --git a/tests/auto/cmake/test_modules/container/CMakeLists.txt b/tests/auto/cmake/test_modules/container/CMakeLists.txt new file mode 100644 index 0000000..6d04576 --- /dev/null +++ b/tests/auto/cmake/test_modules/container/CMakeLists.txt @@ -0,0 +1,24 @@ + +cmake_minimum_required(VERSION 2.8) + +project(cmake_axcontainer) + +find_package(Qt5Core REQUIRED) +find_package(Qt5Gui REQUIRED) +find_package(Qt5Widgets REQUIRED) + +find_package(Qt5AxContainer REQUIRED) + +include_directories( + ${Qt5AxContainer_INCLUDE_DIRS} +) + +add_definitions(${Qt5AxContainer_DEFINITIONS}) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") + +add_executable(axcontainerapp axcontainer.cpp) + +target_link_libraries(axcontainerapp + ${Qt5AxContainer_LIBRARIES} +) diff --git a/tests/auto/cmake/test_modules/container/axcontainer.cpp b/tests/auto/cmake/test_modules/container/axcontainer.cpp new file mode 100644 index 0000000..d8e8729 --- /dev/null +++ b/tests/auto/cmake/test_modules/container/axcontainer.cpp @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly +** Contact: http://www.qt-project.org/legal +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + QAxWidget w; +} diff --git a/tests/auto/cmake/test_modules/server/CMakeLists.txt b/tests/auto/cmake/test_modules/server/CMakeLists.txt new file mode 100644 index 0000000..f553990 --- /dev/null +++ b/tests/auto/cmake/test_modules/server/CMakeLists.txt @@ -0,0 +1,24 @@ + +cmake_minimum_required(VERSION 2.8) + +project(cmake_axserver) + +find_package(Qt5Core REQUIRED) +find_package(Qt5Gui REQUIRED) +find_package(Qt5Widgets REQUIRED) + +find_package(Qt5AxServer REQUIRED) + +include_directories( + ${Qt5AxServer_INCLUDE_DIRS} +) + +add_definitions(${Qt5AxServer_DEFINITIONS}) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") + +add_executable(axserverapp WIN32 axserver.cpp) + +target_link_libraries(axserverapp + ${Qt5AxServer_LIBRARIES} +) diff --git a/tests/auto/cmake/test_modules/server/axserver.cpp b/tests/auto/cmake/test_modules/server/axserver.cpp new file mode 100644 index 0000000..4a9bc11 --- /dev/null +++ b/tests/auto/cmake/test_modules/server/axserver.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly +** Contact: http://www.qt-project.org/legal +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include + + +QT_BEGIN_NAMESPACE +QAxFactory *qax_instantiate() +{ + return 0; +} +QT_END_NAMESPACE + +int main(int argc, char **argv) +{ + QAxFactory::isServer(); + return 0; +} -- cgit v1.2.1