cmake_minimum_required(VERSION 3.15)

project(maliit-framework NONE)

include(ExternalProject)
add_custom_target(maliit-framework)

ExternalProject_Add(maliit-framework-ext
  SOURCE_DIR          "${CMAKE_CURRENT_SOURCE_DIR}"
  BINARY_DIR          "${CMAKE_BINARY_DIR}/maliit-framework/maliit-framework"
  CONFIGURE_COMMAND   ${CMAKE_COMMAND}
                      "-DCMAKE_PREFIX_PATH:STRING=${QT_DIR}"
                      "-DCMAKE_INSTALL_PREFIX:STRING=${QT_DIR}"
                      "-DCMAKE_INSTALL_RPATH:STRING=${QT_PREFIX}"
                      -DCMAKE_SKIP_RPATH:BOOL=OFF
                      -DQT5_PLUGINS_INSTALL_DIR:STRING=plugins
                      -Denable-docs=OFF
                      -Denable-glib=ON
                      -Denable-xcb=OFF
                      -Denable-wayland=OFF
                      -Denable-dbus-activation=ON
                      -Denable-tests=OFF
                      -Dwith-qt6=ON
                      -DQT_FORCE_MIN_CMAKE_VERSION_FOR_USING_QT=3.19
                      -DCMAKE_POSITION_INDEPENDENT_CODE=ON
                      "${CMAKE_CURRENT_SOURCE_DIR}/maliit-framework"
  BUILD_COMMAND       ${CMAKE_COMMAND}
                      --build .
                      --target maliitplatforminputcontextplugin
                      --config $<IF:$<CONFIG:Debug>,Debug,Release>
  INSTALL_COMMAND     ""
  TEST_COMMAND        ""
  DEPENDS             Qt6-ext
)

install(FILES "${CMAKE_BINARY_DIR}/maliit-framework/maliit-framework/libmaliitplatforminputcontextplugin.so"
        DESTINATION ${QT_PREFIX}/plugins/platforminputcontexts
)
