mirror of
https://github.com/slint-ui/slint.git
synced 2025-08-04 02:39:28 +00:00

Some checks failed
autofix.ci / format_fix (push) Has been cancelled
autofix.ci / lint_typecheck (push) Has been cancelled
CI / files-changed (push) Has been cancelled
CI / ffi_32bit_build (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Has been cancelled
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Has been cancelled
CI / build_and_test (ubuntu-22.04, 1.85) (push) Has been cancelled
CI / build_and_test (ubuntu-22.04, nightly) (push) Has been cancelled
CI / node_test (macos-14) (push) Has been cancelled
CI / node_test (ubuntu-22.04) (push) Has been cancelled
CI / node_test (windows-2022) (push) Has been cancelled
CI / python_test (macos-14) (push) Has been cancelled
CI / python_test (ubuntu-22.04) (push) Has been cancelled
CI / python_test (windows-2022) (push) Has been cancelled
CI / cpp_test_driver (macos-13) (push) Has been cancelled
CI / cpp_test_driver (ubuntu-22.04) (push) Has been cancelled
CI / cpp_test_driver (windows-2022) (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / cpp_cmake (macos-14, 1.85) (push) Has been cancelled
CI / cpp_cmake (ubuntu-22.04, stable) (push) Has been cancelled
CI / cpp_cmake (windows-2022, nightly) (push) Has been cancelled
CI / cpp_package_test (push) Has been cancelled
CI / wasm (push) Has been cancelled
CI / wasm_demo (push) Has been cancelled
CI / vsce_build_test (push) Has been cancelled
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Has been cancelled
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Has been cancelled
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Has been cancelled
CI / mcu-embassy (push) Has been cancelled
CI / tree-sitter (push) Has been cancelled
CI / updater_test (0.3.0) (push) Has been cancelled
CI / fmt_test (push) Has been cancelled
CI / esp-idf-quick (push) Has been cancelled
CI / android (push) Has been cancelled
CI / miri (push) Has been cancelled
CI / test-figma-inspector (push) Has been cancelled
CMake 4.0 remove some deprecated code < 3.5 Catch2 old version still depend against cmake 3.0 + deprecated method. Necessary to increase version otherwise when we try to compile example with cmake 4.0 it will failed to configure it
61 lines
1.9 KiB
CMake
61 lines
1.9 KiB
CMake
# Copyright © SixtyFPS GmbH <info@slint.dev>
|
|
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
|
|
|
|
FetchContent_Declare(
|
|
Catch2
|
|
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
|
|
GIT_TAG v3.8.0
|
|
)
|
|
|
|
FetchContent_MakeAvailable(Catch2)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
macro(slint_test NAME)
|
|
add_executable(test_${NAME} ${NAME}.cpp)
|
|
target_link_libraries(test_${NAME} PRIVATE Slint Catch2::Catch2WithMain)
|
|
target_compile_definitions(test_${NAME} PRIVATE
|
|
SOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\"
|
|
)
|
|
# Use debug version of run-time library to enable MSVC iterator debugging
|
|
set_property(TARGET test_${NAME} PROPERTY MSVC_RUNTIME_LIBRARY MultiThreadedDebugDLL)
|
|
add_test(NAME test_${NAME} COMMAND test_${NAME})
|
|
|
|
if(MSVC)
|
|
target_compile_options(test_${NAME} PRIVATE /W3)
|
|
else()
|
|
target_compile_options(test_${NAME} PRIVATE -Wall -Wextra -Werror)
|
|
endif()
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
|
|
# that warning has false positives in GCC 11 https://github.com/slint-ui/slint/issues/7358
|
|
target_compile_options(test_${NAME} PRIVATE -Wno-maybe-uninitialized)
|
|
endif()
|
|
endmacro(slint_test)
|
|
|
|
slint_test(datastructures)
|
|
|
|
if(SLINT_FEATURE_INTERPRETER)
|
|
slint_test(interpreter)
|
|
slint_test(window)
|
|
endif()
|
|
|
|
slint_test(properties)
|
|
if(NOT SLINT_FEATURE_FREESTANDING)
|
|
slint_test(eventloop)
|
|
target_link_libraries(test_eventloop PRIVATE Threads::Threads)
|
|
endif()
|
|
slint_test(models)
|
|
|
|
if(SLINT_FEATURE_EXPERIMENTAL AND SLINT_FEATURE_TESTING)
|
|
slint_test(testing)
|
|
endif()
|
|
|
|
if(SLINT_FEATURE_COMPILER OR SLINT_COMPILER)
|
|
add_subdirectory(multiple-includes)
|
|
add_subdirectory(libraries)
|
|
endif()
|
|
|
|
slint_test(platform_eventloop)
|
|
target_link_libraries(test_platform_eventloop PRIVATE Threads::Threads)
|
|
|