cmake_minimum_required(VERSION 3.13.0)

project(kime VERSION 2.0.0)

option(USE_SYSTEM_ENGINE "Use system engine file" OFF)
option(ENABLE_GTK3 "Enable GTK3 immodule" OFF)
option(ENABLE_GTK4 "Enable GTK4 immodule" OFF)
option(ENABLE_QT5 "Enable Qt5 immodule" OFF)
option(ENABLE_QT6 "Enable Qt6 immodule" OFF)

set(CMAKE_SKIP_RPATH TRUE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fvisibility=hidden")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(KIME_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/engine/cffi)
if(${USE_SYSTEM_ENGINE})
    set(KIME_LIB_DIRS "")
else()
    set(KIME_LIB_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../target/debug ${CMAKE_CURRENT_SOURCE_DIR}/../target/release)
endif()
set(KIME_ENGINE kime_engine)
set(OpenGL_GL_PREFERENCE GLVND)

include(GNUInstallDirs)

if(${ENABLE_GTK3})
    add_subdirectory(frontends/gtk3)
endif()
if(${ENABLE_GTK4})
    add_subdirectory(frontends/gtk4)
endif()

if(${ENABLE_QT5})
    add_subdirectory(frontends/qt5)
endif()
if(${ENABLE_QT6})
    add_subdirectory(frontends/qt6)
endif()
