@@ -34,13 +34,6 @@ set(libdevilutionx_SRCS
3434 towners.cpp
3535 track.cpp
3636
37- control/control_chat.cpp
38- control/control_chat_commands.cpp
39- control/control_flasks.cpp
40- control/control_gold.cpp
41- control/control_infobox.cpp
42- control/control_panel.cpp
43-
4437 controls/axis_direction.cpp
4538 controls/controller_motion.cpp
4639 controls/controller.cpp
@@ -69,7 +62,6 @@ set(libdevilutionx_SRCS
6962 DiabloUI/settingsmenu.cpp
7063 DiabloUI/support_lines.cpp
7164 DiabloUI/title.cpp
72- DiabloUI/text_input.cpp
7365
7466 dvlnet/abstract_net.cpp
7567 dvlnet/base.cpp
@@ -245,6 +237,33 @@ target_link_dependencies(libdevilutionx_codec PRIVATE
245237 libdevilutionx_log
246238)
247239
240+ add_devilutionx_object_library (libdevilutionx_control
241+ control/control_chat.cpp
242+ control/control_chat_commands.cpp
243+ control/control_flasks.cpp
244+ control/control_gold.cpp
245+ control/control_infobox.cpp
246+ control/control_panel.cpp
247+ )
248+ target_link_dependencies (libdevilutionx_control
249+ PUBLIC
250+ DevilutionX::SDL
251+ tl
252+ libdevilutionx_text_input
253+ PRIVATE
254+ fmt::fmt
255+ libdevilutionx_clx_render
256+ libdevilutionx_control_mode
257+ libdevilutionx_format_int
258+ libdevilutionx_load_cel
259+ libdevilutionx_log
260+ libdevilutionx_options
261+ libdevilutionx_parse_int
262+ libdevilutionx_primitive_render
263+ libdevilutionx_quick_messages
264+ libdevilutionx_strings
265+ )
266+
248267add_devilutionx_object_library (libdevilutionx_controller_buttons
249268 controls/controller_buttons.cpp
250269)
@@ -497,7 +516,8 @@ add_devilutionx_object_library(libdevilutionx_items
497516 tables/itemdat.cpp
498517 items.cpp
499518)
500- target_link_dependencies (libdevilutionx_items PUBLIC
519+ target_link_dependencies (libdevilutionx_items
520+ PUBLIC
501521 DevilutionX::SDL
502522 sol2::sol2
503523 tl
@@ -506,6 +526,15 @@ target_link_dependencies(libdevilutionx_items PUBLIC
506526 libdevilutionx_spells
507527 libdevilutionx_stores
508528 libdevilutionx_strings
529+ PRIVATE
530+ libdevilutionx_control
531+ )
532+
533+ add_library (libdevilutionx_sheen_bidi INTERFACE )
534+ target_include_directories (libdevilutionx_sheen_bidi INTERFACE
535+ ${PROJECT_SOURCE_DIR } /Source )
536+ target_link_dependencies (libdevilutionx_sheen_bidi INTERFACE
537+ SheenBidi::SheenBidi
509538)
510539
511540add_devilutionx_object_library (libdevilutionx_ini
@@ -564,6 +593,7 @@ target_link_dependencies(libdevilutionx_monster
564593 libdevilutionx_txtdata
565594 PRIVATE
566595 libdevilutionx_cl2_to_clx
596+ libdevilutionx_control
567597)
568598
569599add_devilutionx_object_library (libdevilutionx_palette_blending
@@ -660,16 +690,20 @@ target_link_dependencies(libdevilutionx_player
660690 unordered_dense::unordered_dense
661691 libdevilutionx_game_mode
662692 PRIVATE
693+ libdevilutionx_control
663694 libdevilutionx_load_cl2
664695 libdevilutionx_strings
665696)
666697
667698add_devilutionx_object_library (libdevilutionx_quests
668699 quests.cpp
669700)
670- target_link_dependencies (libdevilutionx_quests PUBLIC
701+ target_link_dependencies (libdevilutionx_quests
702+ PUBLIC
671703 libdevilutionx_surface
672704 libdevilutionx_gendung
705+ PRIVATE
706+ libdevilutionx_control
673707)
674708
675709add_devilutionx_object_library (libdevilutionx_random
@@ -684,10 +718,27 @@ add_devilutionx_object_library(libdevilutionx_spells
684718 tables/spelldat.cpp
685719 spells.cpp
686720)
687- target_link_dependencies (libdevilutionx_spells PUBLIC
721+ target_link_dependencies (libdevilutionx_spells
722+ PUBLIC
688723 tl
689724 libdevilutionx_player
690725 libdevilutionx_txtdata
726+ PRIVATE
727+ libdevilutionx_control
728+ )
729+
730+ add_devilutionx_object_library (libdevilutionx_text_input
731+ DiabloUI/text_input.cpp
732+ )
733+ target_link_dependencies (libdevilutionx_text_input
734+ PUBLIC
735+ DevilutionX::SDL
736+ libdevilutionx_utf8
737+ PRIVATE
738+ tl
739+ libdevilutionx_log
740+ libdevilutionx_parse_int
741+ libdevilutionx_strings
691742)
692743
693744add_devilutionx_object_library (libdevilutionx_text_render
@@ -734,8 +785,8 @@ target_link_dependencies(libdevilutionx_txtdata PUBLIC
734785add_devilutionx_object_library (libdevilutionx_utf8
735786 utils/utf8.cpp
736787)
737- target_link_dependencies (libdevilutionx_utf8 PRIVATE
738- SheenBidi::SheenBidi
788+ target_link_dependencies (libdevilutionx_utf8 PUBLIC
789+ libdevilutionx_sheen_bidi
739790)
740791
741792if (NOSOUND)
@@ -790,6 +841,7 @@ target_link_dependencies(libdevilutionx_stores PUBLIC
790841 fmt::fmt
791842 tl
792843 libdevilutionx_clx_render
844+ libdevilutionx_control
793845 libdevilutionx_options
794846 libdevilutionx_sound
795847 libdevilutionx_strings
@@ -916,6 +968,7 @@ target_link_dependencies(libdevilutionx PUBLIC
916968 libdevilutionx_clx_render
917969 libdevilutionx_codec
918970 libdevilutionx_config
971+ libdevilutionx_control
919972 libdevilutionx_controller_buttons
920973 libdevilutionx_control_mode
921974 libdevilutionx_crawl
@@ -951,6 +1004,7 @@ target_link_dependencies(libdevilutionx PUBLIC
9511004 libdevilutionx_spells
9521005 libdevilutionx_stores
9531006 libdevilutionx_strings
1007+ libdevilutionx_text_input
9541008 libdevilutionx_text_render
9551009 libdevilutionx_txtdata
9561010 libdevilutionx_ticks
0 commit comments