diff options
author | Juha Vuolle <juha.vuolle@insta.fi> | 2021-04-20 09:09:59 +0300 |
---|---|---|
committer | Juha Vuolle <juha.vuolle@insta.fi> | 2021-04-20 12:17:05 +0300 |
commit | 84cd882daf1afab59596f2f27db5aad5ce9b8f6b (patch) | |
tree | f3fbcbe393381bd89237987c32d1f21cf8969296 /config.tests | |
parent | 45c8ae3232df8955644697ee88c4321f26bb5cf2 (diff) |
Compile-config test for winrt
While winrt as a "windows phone" is not supported anymore, the APIs are
available on windows and can be supported where applicable (bluetooth,
positioning, sensors, ...).
This commit adds a configuration tests for the presence of these headers
and libraries.
Task-number: QTBUG-92502
Change-Id: Ia6dcb0a6b8ecdbcf1d1bcf79e42f95ace75f6657
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'config.tests')
-rw-r--r-- | config.tests/winrt/CMakeLists.txt | 27 | ||||
-rw-r--r-- | config.tests/winrt/main.cpp | 51 |
2 files changed, 78 insertions, 0 deletions
diff --git a/config.tests/winrt/CMakeLists.txt b/config.tests/winrt/CMakeLists.txt new file mode 100644 index 00000000..998d8cad --- /dev/null +++ b/config.tests/winrt/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.14.0) +project(config_test_winrt LANGUAGES C CXX) + +foreach(p ${QT_CONFIG_COMPILE_TEST_PACKAGES}) + find_package(${p}) +endforeach() + +if(QT_CONFIG_COMPILE_TEST_LIBRARIES) + link_libraries(${QT_CONFIG_COMPILE_TEST_LIBRARIES}) +endif() +if(QT_CONFIG_COMPILE_TEST_LIBRARY_TARGETS) + foreach(lib ${QT_CONFIG_COMPILE_TEST_LIBRARY_TARGETS}) + if(TARGET ${lib}) + link_libraries(${lib}) + endif() + endforeach() +endif() + +add_executable(${PROJECT_NAME} + main.cpp +) + +if(MSVC) + target_link_libraries(${PROJECT_NAME} PRIVATE + runtimeobject.lib + ) +endif() diff --git a/config.tests/winrt/main.cpp b/config.tests/winrt/main.cpp new file mode 100644 index 00000000..8bcec2f4 --- /dev/null +++ b/config.tests/winrt/main.cpp @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtPositioning module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <functional> +#include <windows.system.h> + +#include <windows.devices.sensors.h> +#include <windows.foundation.h> +#include <wrl.h> + +using namespace Microsoft::WRL; +using namespace Microsoft::WRL::Wrappers; +using namespace ABI::Windows::Foundation; +using namespace ABI::Windows::Devices::Sensors; + +typedef ITypedEventHandler<Accelerometer *, AccelerometerReadingChangedEventArgs *> AccelerometerReadingHandler; + +int main(int, char**) +{ + HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Accelerometer); + ComPtr<IAccelerometer> sensor; + ComPtr<IAccelerometerStatics> factory; + HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory)); + hr = factory->GetDefault(&sensor); + return 0; +} |