summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-11-30 14:55:09 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-12 18:41:24 +0100
commitb61d36ee3668833ad51b98ffcafc962b5dd3fa9a (patch)
tree4705c95ed824466533cfc622a86e0d6d29dd878f
parentacbfac4817966672bb2c68a70f3186d3945b220f (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.prx3
-rw-r--r--src/activeqt/container/container.pro3
-rw-r--r--src/activeqt/control/control.pro3
-rw-r--r--tests/auto/auto.pro3
-rw-r--r--tests/auto/cmake/CMakeLists.txt12
-rw-r--r--tests/auto/cmake/cmake.pro5
-rw-r--r--tests/auto/cmake/test_modules/CMakeLists.txt7
-rw-r--r--tests/auto/cmake/test_modules/container/CMakeLists.txt24
-rw-r--r--tests/auto/cmake/test_modules/container/axcontainer.cpp51
-rw-r--r--tests/auto/cmake/test_modules/server/CMakeLists.txt24
-rw-r--r--tests/auto/cmake/test_modules/server/axserver.cpp60
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;
+}