diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-11-30 14:55:09 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-12 18:41:24 +0100 |
commit | b61d36ee3668833ad51b98ffcafc962b5dd3fa9a (patch) | |
tree | 4705c95ed824466533cfc622a86e0d6d29dd878f | |
parent | acbfac4817966672bb2c68a70f3186d3945b220f (diff) |
Re-enable and test the ActiveQt CMake files.v5.0.0-rc2
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 <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
-rw-r--r-- | src/activeqt/axshared.prx | 3 | ||||
-rw-r--r-- | src/activeqt/container/container.pro | 3 | ||||
-rw-r--r-- | src/activeqt/control/control.pro | 3 | ||||
-rw-r--r-- | tests/auto/auto.pro | 3 | ||||
-rw-r--r-- | tests/auto/cmake/CMakeLists.txt | 12 | ||||
-rw-r--r-- | tests/auto/cmake/cmake.pro | 5 | ||||
-rw-r--r-- | tests/auto/cmake/test_modules/CMakeLists.txt | 7 | ||||
-rw-r--r-- | tests/auto/cmake/test_modules/container/CMakeLists.txt | 24 | ||||
-rw-r--r-- | tests/auto/cmake/test_modules/container/axcontainer.cpp | 51 | ||||
-rw-r--r-- | tests/auto/cmake/test_modules/server/CMakeLists.txt | 24 | ||||
-rw-r--r-- | tests/auto/cmake/test_modules/server/axserver.cpp | 60 |
11 files changed, 185 insertions, 10 deletions
diff --git a/src/activeqt/axshared.prx b/src/activeqt/axshared.prx index 6835a96..a81afa3 100644 --- a/src/activeqt/axshared.prx +++ b/src/activeqt/axshared.prx @@ -21,6 +21,3 @@ SOURCES = \ MODULE = axbase load(qt_module) -# QtActiveQt is too inconsistent with other Qt modules -# to use the generic cmake config files generator -CONFIG -= create_cmake diff --git a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro index f9fc53f..3972e5b 100644 --- a/src/activeqt/container/container.pro +++ b/src/activeqt/container/container.pro @@ -26,7 +26,4 @@ MODULE = axcontainer MODULE_CONFIG = dumpcpp CONFIG += no_module_headers load(qt_module) -# QtActiveQt is too inconsistent with other Qt modules -# to use the generic cmake config files generator -CONFIG -= create_cmake DEFINES -= QT_NO_CAST_TO_ASCII QT_USE_QSTRINGBUILDER diff --git a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro index 9107281..7541304 100644 --- a/src/activeqt/control/control.pro +++ b/src/activeqt/control/control.pro @@ -24,7 +24,4 @@ MODULE_DEFINES = QAXSERVER MODULE_CONFIG = idcidl CONFIG += no_module_headers load(qt_module) -# QtActiveQt is too inconsistent with other Qt modules -# to use the generic cmake config files generator -CONFIG -= create_cmake DEFINES -= QT_NO_CAST_TO_ASCII QT_USE_QSTRINGBUILDER 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 <stephen.kelly@kdab.com> +** 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 <qt_windows.h> +#include <ActiveQt> +#include <ActiveQt/ActiveQt> +#include <ActiveQt/QAxWidget> +#include <QAxWidget> + +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 <stephen.kelly@kdab.com> +** 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 <qt_windows.h> +#include <QAxFactory> +#include <ActiveQt/QAxFactory> +#include <ActiveQt/ActiveQt> +#include <ActiveQt> + + +QT_BEGIN_NAMESPACE +QAxFactory *qax_instantiate() +{ + return 0; +} +QT_END_NAMESPACE + +int main(int argc, char **argv) +{ + QAxFactory::isServer(); + return 0; +} |