Skip to content

Instantly share code, notes, and snippets.

@Zren
Last active February 13, 2020 20:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zren/1d16e51199c9e47718ccfe41755d8ee2 to your computer and use it in GitHub Desktop.
Save Zren/1d16e51199c9e47718ccfe41755d8ee2 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Download
git clone https://github.com/KDE/plasma-desktop.git
cd plasma-desktop/applets/kimpanel/backend/ibus/emojier
wget https://gist.githubusercontent.com/Zren/1d16e51199c9e47718ccfe41755d8ee2/raw/1-CMakeLists.txt
# Patch
echo "Edit PLASMA_DESKTOP_SRC in 1-CMakeLists.txt so it points to the plasma-desktop directory: "
read yn
cp 1-CMakeLists.txt CMakeLists.txt
sed -i 's/#include "config-workspace.h"/#define WORKSPACE_VERSION_STRING "5.18.80"/' emojier.cpp
# Compile
mkdir ./build
cd ./build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
make -j
# Run
./build/bin/ibus-ui-emojier-plasma
project(emojier)
cmake_minimum_required(VERSION 3.0)
set(PLASMA_DESKTOP_SRC "/home/zren/Code/kde/plasma-desktop")
set(PROJECT_VERSION "5.18.80")
set(PROJECT_VERSION_MAJOR 5)
set(QT_MIN_VERSION "5.12.0")
set(KF5_MIN_VERSION "5.66.0")
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(ECMQtDeclareLoggingCategory)
include(KDEInstallDirs)
include(KDECMakeSettings)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS
Core
Quick
Qml
DBus
)
find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS
Plasma
I18n
Declarative
Crash
CoreAddons
DBusAddons
)
#-------------
set(CMAKE_MODULE_PATH "${PLASMA_DESKTOP_SRC}/applets/kimpanel/cmake" ${CMAKE_MODULE_PATH})
find_package(IBus 1.5.0)
find_package(GLIB2)
find_package(GIO)
find_package(GObject)
include_directories(${IBUS_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR})
#--------------
kconfig_add_kcfg_files(emojier_KCFG emojiersettings.kcfgc GENERATE_MOC)
add_executable(ibus-ui-emojier-plasma emojier.cpp resources.qrc ${emojier_KCFG})
target_link_libraries(ibus-ui-emojier-plasma Qt5::Widgets ${IBUS_LIBRARIES} ${GOBJECT_LIBRARIES} Qt5::Quick KF5::ConfigGui KF5::I18n KF5::CoreAddons KF5::Crash KF5::QuickAddons KF5::DBusAddons)
install(TARGETS ibus-ui-emojier-plasma ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES org.kde.plasma.emojier.desktop DESTINATION ${DATA_INSTALL_DIR}/kglobalaccel)
install(PROGRAMS org.kde.plasma.emojier.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment