qt_add_library(languageplugin STATIC
    logic/languageplugininterface.h
    logic/abstractlanguageplugin.cpp logic/abstractlanguageplugin.h
)
set_target_properties(languageplugin PROPERTIES POSITION_INDEPENDENT_CODE ON)

target_include_directories(languageplugin PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/logic>
)

target_link_libraries(languageplugin PUBLIC
    Qt::Core
)

install(
    FILES
        logic/languageplugininterface.h
    DESTINATION ${LOMIRI_KEYBOARD_HEADERS_DIR}
)

qt_add_library(lomiri-keyboard STATIC
    coreutils.cpp coreutils.h
    logic/abstractlanguagefeatures.h
    logic/abstractwordengine.cpp logic/abstractwordengine.h
    logic/eventhandler.cpp logic/eventhandler.h
    logic/style.cpp logic/style.h
    logic/wordengine.cpp logic/wordengine.h
    models/area.cpp models/area.h
    models/key.cpp models/key.h
    models/keyarea.cpp models/keyarea.h
    models/keyboard.h
    models/keydescription.h
    models/layout.cpp models/layout.h
    models/styleattributes.cpp models/styleattributes.h
    models/text.cpp models/text.h
    models/wordcandidate.cpp models/wordcandidate.h
    models/wordribbon.cpp models/wordribbon.h
)
set_target_properties(lomiri-keyboard PROPERTIES POSITION_INDEPENDENT_CODE ON)

target_compile_definitions(lomiri-keyboard PRIVATE
    DEFAULT_PLUGIN=\"${LOMIRI_KEYBOARD_PLUGIN_DIR}/en/libenplugin.so\"
)

target_include_directories(languageplugin PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)

target_link_libraries(lomiri-keyboard PUBLIC
    Qt::Core
    Qt::Gui
    PkgConfig::MALIIT6_PLUGINS
    languageplugin
)
