diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index de859c4f1..c00ea85af 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -191,8 +191,7 @@ set(libdevilutionx_SRCS utils/str_cat.cpp utils/str_case.cpp utils/surface_to_clx.cpp - utils/timer.cpp - utils/utf8.cpp) + utils/timer.cpp) # These files are responsible for most of the runtime in Debug mode. # Apply some optimizations to them even in Debug mode to get reasonable performance. @@ -319,6 +318,13 @@ if(SCREEN_READER_INTEGRATION AND WIN32) target_compile_definitions(libdevilutionx PRIVATE Tolk) endif() +add_devilutionx_object_library(libdevilutionx_utf8 + utils/utf8.cpp +) +target_link_libraries(libdevilutionx_utf8 PRIVATE + hoehrmann_utf8 +) + target_link_libraries(libdevilutionx PUBLIC Threads::Threads DevilutionX::SDL @@ -326,7 +332,7 @@ target_link_libraries(libdevilutionx PUBLIC libsmackerdec simpleini::simpleini tl - hoehrmann_utf8 + libdevilutionx_utf8 ${libdevilutionx_DEPS} ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 684447ab4..fdfbf5bd0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -41,11 +41,11 @@ set(tests stores_test str_cat_test timedemo_test - utf8_test writehero_test ) set( standalone_tests + utf8_test ) include(Fixtures.cmake) @@ -64,8 +64,10 @@ foreach(test_target ${tests}) endforeach() foreach(test_target ${standalone_tests}) - target_link_libraries(${test_target} GTest::gtest_main) + target_link_libraries(${test_target} PRIVATE GTest::gtest_main) target_include_directories(${test_target} PRIVATE "${PROJECT_SOURCE_DIR}/Source") endforeach() +target_link_libraries(utf8_test PRIVATE libdevilutionx_utf8) + target_include_directories(writehero_test PRIVATE ../3rdParty/PicoSHA2)