diff options
Diffstat (limited to 'tests/auto/cmake/test_add_resources_big_resources')
9 files changed, 133 insertions, 0 deletions
diff --git a/tests/auto/cmake/test_add_resources_big_resources/CMakeLists.txt b/tests/auto/cmake/test_add_resources_big_resources/CMakeLists.txt new file mode 100644 index 0000000000..9f9ae6a43c --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/CMakeLists.txt @@ -0,0 +1,45 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(test_add_resources_big_resources) + +if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") +endif() + +find_package(Qt6 REQUIRED + COMPONENTS Core Test + HINTS ${Qt6Tests_PREFIX_PATH} +) + +qt6_add_library(leaf_lib STATIC leaf_lib.cpp) +qt6_add_resources(leaf_lib resources2 + FILES resource2.txt PREFIX "/" BIG_RESOURCES) +target_link_libraries(leaf_lib PRIVATE Qt6::Core) + +if(NOT TARGET leaf_lib_resources2_obj) + message(FATAL_ERROR "Object library for resources2 was not created.") +endif() + +qt6_add_library(intermediate_lib STATIC intermediate_lib.cpp) +qt6_add_resources(intermediate_lib resources3 + FILES resource3.txt PREFIX "/" BIG_RESOURCES +) +target_link_libraries(intermediate_lib PRIVATE Qt6::Core leaf_lib) + +if(NOT TARGET intermediate_lib_resources3_obj) + message(FATAL_ERROR "Object library for resources3 was not created.") +endif() + +set(CMAKE_AUTOMOC ON) + +qt6_add_executable(test_add_resources_big_resources main.cpp) +qt6_add_resources(test_add_resources_big_resources resources1 + FILES resource1.txt PREFIX "/" BIG_RESOURCES) +target_link_libraries(test_add_resources_big_resources PRIVATE Qt6::Test intermediate_lib) + +if(NOT TARGET test_add_resources_big_resources_resources1_obj) + message(FATAL_ERROR "Object library for resources1 was not created.") +endif() diff --git a/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.cpp b/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.cpp new file mode 100644 index 0000000000..a8f2be6955 --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.cpp @@ -0,0 +1,20 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "leaf_lib.h" + +#include <QtCore/qfile.h> + +namespace intermediate_lib { + +bool isLeafLibResourceAvailable() +{ + return leaf_lib::isResourceAvailable(); +} + +bool isResourceAvailable() +{ + return QFile::exists(u":/resource3.txt"_qs); +} + +} // namespace diff --git a/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.h b/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.h new file mode 100644 index 0000000000..efa03e8a5e --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/intermediate_lib.h @@ -0,0 +1,9 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#pragma once + +namespace intermediate_lib { +bool isLeafLibResourceAvailable(); +bool isResourceAvailable(); +} //namespace diff --git a/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.cpp b/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.cpp new file mode 100644 index 0000000000..8363ceec0a --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.cpp @@ -0,0 +1,13 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtCore/qfile.h> + +namespace leaf_lib { + +bool isResourceAvailable() +{ + return QFile::exists(u":/resource2.txt"_qs); +} + +} // namespace diff --git a/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.h b/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.h new file mode 100644 index 0000000000..71195a7c74 --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/leaf_lib.h @@ -0,0 +1,8 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#pragma once + +namespace leaf_lib { +bool isResourceAvailable(); +} // namespace diff --git a/tests/auto/cmake/test_add_resources_big_resources/main.cpp b/tests/auto/cmake/test_add_resources_big_resources/main.cpp new file mode 100644 index 0000000000..8ff0c4f54c --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/main.cpp @@ -0,0 +1,35 @@ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "intermediate_lib.h" + +#include <QtCore/qfile.h> +#include <QtTest/QtTest> + +class TestAddResourcesBigResources : public QObject +{ + Q_OBJECT +private slots: + void resourceInApplicationExists(); + void resourceInIntermediateLibExists(); + void resourceInLeafLibExists(); +}; + +void TestAddResourcesBigResources::resourceInApplicationExists() +{ + QVERIFY(QFile::exists(":/resource1.txt")); +} + +void TestAddResourcesBigResources::resourceInIntermediateLibExists() +{ + QVERIFY(intermediate_lib::isResourceAvailable()); +} + +void TestAddResourcesBigResources::resourceInLeafLibExists() +{ + QVERIFY(intermediate_lib::isLeafLibResourceAvailable()); +} + +QTEST_MAIN(TestAddResourcesBigResources) +#include "main.moc" + diff --git a/tests/auto/cmake/test_add_resources_big_resources/resource1.txt b/tests/auto/cmake/test_add_resources_big_resources/resource1.txt new file mode 100644 index 0000000000..bc06a6d721 --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/resource1.txt @@ -0,0 +1 @@ +Test resource1 diff --git a/tests/auto/cmake/test_add_resources_big_resources/resource2.txt b/tests/auto/cmake/test_add_resources_big_resources/resource2.txt new file mode 100644 index 0000000000..b8f9e67458 --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/resource2.txt @@ -0,0 +1 @@ +Test resource2 diff --git a/tests/auto/cmake/test_add_resources_big_resources/resource3.txt b/tests/auto/cmake/test_add_resources_big_resources/resource3.txt new file mode 100644 index 0000000000..0ed6318a85 --- /dev/null +++ b/tests/auto/cmake/test_add_resources_big_resources/resource3.txt @@ -0,0 +1 @@ +Test resource3 |