From 73e5a317087e424f09b5303a8b6d08a7a44b1107 Mon Sep 17 00:00:00 2001 From: nerix Date: Sun, 2 Nov 2025 22:55:34 +0100 Subject: [PATCH] chore: add mocks as header set if supported (#6561) Reviewed-by: pajlada --- CHANGELOG.md | 1 + mocks/CMakeLists.txt | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d373f086..fe42436c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - Dev: The LuaLS meta files moved from `docs/plugin-meta.lua` to `docs/lua-meta/globals.lua`. (#6530) - Dev: Compile time definitions for `Windows.h` are now conditional based on `WIN32` instead of `MSVC`. (#6534) - Dev: Refactored split container nodes to use shared pointers. (#6435) +- Dev: Mock headers are now added as a header set if supported by CMake. (#6561) ## 2.5.4 diff --git a/mocks/CMakeLists.txt b/mocks/CMakeLists.txt index 47abd0ef..95993e20 100644 --- a/mocks/CMakeLists.txt +++ b/mocks/CMakeLists.txt @@ -4,4 +4,28 @@ add_library(chatterino-mocks INTERFACE) target_include_directories(chatterino-mocks INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_link_libraries(${PROJECT_NAME} INTERFACE gmock) +if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0") + target_sources(chatterino-mocks INTERFACE + FILE_SET HEADERS + BASE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include" + FILES + include/mocks/BaseApplication.hpp + include/mocks/Channel.hpp + include/mocks/ChatterinoBadges.hpp + include/mocks/DisabledStreamerMode.hpp + include/mocks/EmoteController.hpp + include/mocks/EmptyApplication.hpp + include/mocks/Helix.hpp + include/mocks/LinkResolver.hpp + include/mocks/Logging.hpp + include/mocks/TwitchIrcServer.hpp + include/mocks/TwitchUsers.hpp + include/mocks/UserData.hpp + ) + set_target_properties(chatterino-mocks + PROPERTIES + VERIFY_INTERFACE_HEADER_SETS ON + ) +endif() + +target_link_libraries(${PROJECT_NAME} INTERFACE gmock chatterino-lib)