set(H_FILES
    iconthemeinfo.h
)

set(MOC_FILES
    iconthemeconfig.h
    lxqtthemeconfig.h
    fontsconfig.h
    styleconfig.h
    fontconfigfile.h
    configothertoolkits.h
)

set(CPP_FILES
    main.cpp
    iconthemeconfig.cpp
    iconthemeinfo.cpp
    lxqtthemeconfig.cpp
    fontsconfig.cpp
    styleconfig.cpp
    fontconfigfile.cpp
    configothertoolkits.cpp
    colorLabel.cpp
    gtkconfig.cpp
)

set(UI_FILES
    iconthemeconfig.ui
    lxqtthemeconfig.ui
    fontsconfig.ui
    palettes.ui
    styleconfig.ui
    gtkconfig.ui
)

# Translations **********************************
lxqt_translate_ts(QM_FILES
    UPDATE_TRANSLATIONS
        ${UPDATE_TRANSLATIONS}
    SOURCES
        ${H_FILES}
        ${CPP_FILES}
        ${UI_FILES}
    TEMPLATE
        lxqt-config-appearance
    INSTALL_DIR
        "${LXQT_TRANSLATIONS_DIR}/lxqt-config-appearance"
)

lxqt_app_translation_loader(QM_LOADER lxqt-config-appearance)
lxqt_translate_desktop(DESKTOP_FILES SOURCES lxqt-config-appearance.desktop.in USE_YAML)

#************************************************

add_executable(lxqt-config-appearance
    ${CPP_FILES}
    ${QM_FILES}
    ${QM_LOADER}
    ${DESKTOP_FILES}
)

target_include_directories(lxqt-config-appearance
    PRIVATE
        "${CMAKE_CURRENT_SOURCE_DIR}/../liblxqt-config-cursor"
)

target_link_libraries(lxqt-config-appearance
    PRIVATE
        Qt6::GuiPrivate
    PUBLIC
        Qt6::Widgets
        Qt6::Xml
        lxqt
        lxqt-config-cursor
)

set_target_properties("lxqt-config-appearance"
    PROPERTIES
    INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}/${LXQT_CONFIG_PROJECT}"
)

install(TARGETS
    lxqt-config-appearance
    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
    COMPONENT Runtime
)
install(FILES
    ${DESKTOP_FILES}
    DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
    COMPONENT Runtime
)

install(FILES
    man/lxqt-config-appearance.1
    DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
    COMPONENT Runtime
)
