cf12defd28
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
85 lines
2.6 KiB
CMake
85 lines
2.6 KiB
CMake
#
|
|
# SPDX-FileCopyrightText: 2021 Arjen Hiemstra <ahiemstra@heimr.nl>
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
set(SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
|
|
set(INSTALL_DIR "@CMAKE_INSTALL_PREFIX@/test")
|
|
set(SHARED "@BUILD_SHARED_LIBS@")
|
|
set(QML_ONLY "@QML_ONLY@")
|
|
set(DEPENDS "@DEPENDS@")
|
|
set(QT_VERSION "@QT_MAJOR_VERSION@")
|
|
set(TEST_INSTALL_DIR "${INSTALL_DIR}/Test")
|
|
|
|
function(check_file_exists file)
|
|
if (NOT EXISTS ${file})
|
|
message(FATAL_ERROR "File \"${file}\" does not exist")
|
|
endif()
|
|
endfunction()
|
|
|
|
function (check_file_contents)
|
|
cmake_parse_arguments(ARGS "" "GENERATED;EXPECTED" "" ${ARGN})
|
|
|
|
if (NOT EXISTS "${ARGS_GENERATED}")
|
|
message(FATAL_ERROR "${ARGS_GENERATED} was not generated")
|
|
endif()
|
|
file(READ "${ARGS_GENERATED}" generated_contents)
|
|
if (NOT EXISTS "${ARGS_EXPECTED}")
|
|
message(FATAL_ERROR "Original ${ARGS_EXPECTED} was not found")
|
|
endif()
|
|
file(READ "${ARGS_EXPECTED}" original_contents)
|
|
if (NOT "${generated_contents}" STREQUAL "${original_contents}")
|
|
message(FATAL_ERROR "${generated_file} contains '${generated_contents}' instead of '${original_contents}'")
|
|
endif()
|
|
endfunction()
|
|
|
|
if (SHARED)
|
|
check_file_contents(
|
|
GENERATED "${TEST_INSTALL_DIR}/QmlModule.qml"
|
|
EXPECTED "${SOURCE_DIR}/QmlModule.qml"
|
|
)
|
|
|
|
if (QML_ONLY AND NOT DEPENDS)
|
|
check_file_contents(
|
|
GENERATED "${TEST_INSTALL_DIR}/qmldir"
|
|
EXPECTED "${SOURCE_DIR}/qmldir_expected_qmlonly_qt${QT_VERSION}"
|
|
)
|
|
endif()
|
|
|
|
if (DEPENDS)
|
|
check_file_contents(
|
|
GENERATED "${TEST_INSTALL_DIR}/qmldir"
|
|
EXPECTED "${SOURCE_DIR}/qmldir_expected_depends_qt${QT_VERSION}"
|
|
)
|
|
endif()
|
|
|
|
if (NOT QML_ONLY AND NOT DEPENDS)
|
|
check_file_contents(
|
|
GENERATED "${TEST_INSTALL_DIR}/qmldir"
|
|
EXPECTED "${SOURCE_DIR}/qmldir_expected_full_qt${QT_VERSION}"
|
|
)
|
|
endif()
|
|
|
|
if (NOT QML_ONLY OR ${QT_VERSION} GREATER_EQUAL 6)
|
|
if (WIN32)
|
|
check_file_exists("${TEST_INSTALL_DIR}/TestModule.dll")
|
|
else()
|
|
check_file_exists("${TEST_INSTALL_DIR}/libTestModule.so")
|
|
endif()
|
|
endif()
|
|
else()
|
|
if (${QT_VERSION} LESS 6)
|
|
if (WIN32)
|
|
check_file_exists("${TEST_INSTALL_DIR}/TestModule.lib")
|
|
else()
|
|
check_file_exists("${TEST_INSTALL_DIR}/libTestModule.a")
|
|
endif()
|
|
else()
|
|
if (WIN32)
|
|
check_file_exists("@MODULE_OUTPUT_PATH@/TestModule.lib")
|
|
else()
|
|
check_file_exists("@MODULE_OUTPUT_PATH@/libTestModule.a")
|
|
endif()
|
|
endif()
|
|
endif()
|