add_library(olliecommands_lib STATIC
    texttransforms.cpp
    texttransforms.h
    olliecommands.cpp
    olliecommands.h
)
target_link_libraries(olliecommands_lib PUBLIC
    Qt6::Core
    KF6::TextEditor
    KF6::I18n
)
target_include_directories(olliecommands_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

if(Qt6Test_FOUND)
    add_executable(test_texttransforms test_texttransforms.cpp texttransforms.cpp texttransforms.h)
    target_link_libraries(test_texttransforms PRIVATE Qt6::Core Qt6::Test)
    add_test(NAME texttransforms COMMAND test_texttransforms)

    add_executable(test_olliecommands_live test_olliecommands_live.cpp)
    target_link_libraries(test_olliecommands_live PRIVATE
        olliecommands_lib Qt6::Test KF6::TextEditor)
    add_test(NAME olliecommands_live COMMAND test_olliecommands_live)

    add_executable(test_ollieregistration test_ollieregistration.cpp)
    target_link_libraries(test_ollieregistration PRIVATE
        olliecommands_lib Qt6::Test Qt6::Widgets KF6::TextEditor)
    add_test(NAME ollieregistration COMMAND test_ollieregistration)
endif()
