From 651c70f54bc2feb858b5e37f6c956844c0cc0349 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Fri, 10 Jan 2025 17:22:24 +0000 Subject: [PATCH] A few more dependency cleanup We still have some issues preventing even data_file_test from depending on the world: 1. `options` transitively depends on everything because of the change handlers. 2. `sound` depends on `monster` via `sgbSaveSoundOn` and `monster` depends on `sound` via `gbSoundOn`. --- Source/CMakeLists.txt | 14 +++++++++++++- test/app_fatal_for_testing.cpp | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index d6431143a..52ccb7d31 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -149,7 +149,6 @@ set(libdevilutionx_SRCS utils/cl2_to_clx.cpp utils/display.cpp utils/language.cpp - utils/logged_fstream.cpp utils/pcx_to_clx.cpp utils/sdl_bilinear_scale.cpp utils/sdl_thread.cpp @@ -291,6 +290,14 @@ target_link_dependencies(libdevilutionx_lighting PUBLIC tl ) +add_devilutionx_object_library(libdevilutionx_logged_fstream + utils/logged_fstream.cpp +) +target_link_dependencies(libdevilutionx_logged_fstream PUBLIC + libdevilutionx_file_util + libdevilutionx_log +) + add_devilutionx_object_library(libdevilutionx_items itemdat.cpp items.cpp @@ -377,6 +384,7 @@ if(SUPPORTS_MPQ) tl libmpq libdevilutionx_file_util + libdevilutionx_logged_fstream libdevilutionx_pkware_encrypt libdevilutionx_strings ) @@ -404,6 +412,7 @@ target_link_dependencies(libdevilutionx_options PUBLIC ${LUA_LIBRARIES} sol2::sol2 libdevilutionx_game_mode + libdevilutionx_logged_fstream libdevilutionx_strings libdevilutionx_ini ) @@ -474,6 +483,7 @@ target_link_dependencies(libdevilutionx_txtdata PUBLIC fmt::fmt tl libdevilutionx_assets + libdevilutionx_parse_int libdevilutionx_strings ) @@ -502,6 +512,8 @@ else() fmt::fmt tl unordered_dense::unordered_dense + libdevilutionx_options + libdevilutionx_random libdevilutionx_sdl2_to_1_2_backports ) endif() diff --git a/test/app_fatal_for_testing.cpp b/test/app_fatal_for_testing.cpp index 348a73e2e..31d82b9f0 100644 --- a/test/app_fatal_for_testing.cpp +++ b/test/app_fatal_for_testing.cpp @@ -31,4 +31,10 @@ namespace devilution { std::abort(); } +[[noreturn]] void InsertCDDlg(std::string_view archiveName) +{ + std::cerr << "InsertCDDlg error: " << archiveName << std::endl; + std::abort(); +} + } // namespace devilution