1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-21 17:52:10 +02:00

CMake buildsystem for plugins

This commit is contained in:
David Faure 2017-09-10 15:01:58 +02:00
parent 31d0e1f6b3
commit 6e7a14a9c2
15 changed files with 333 additions and 5 deletions

View File

@ -38,10 +38,16 @@ if (NO_SYSTEM_DATAPATH)
endif()
option(KDE_INTEGRATION "TODO" OFF)
if (KDE_INTEGRATION)
set(KF5_MIN_VERSION "5.27.0")
find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS Wallet)
add_definitions(-DKDE_INTEGRATION)
endif()
option(GNOME_INTEGRATION "TODO" OFF)
if (GNOME_INTEGRATION)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(GNOME_KEYRING gnome-keyring-1)
endif()
add_definitions(-DGNOME_INTEGRATION)
endif()
option(NO_X11 "TODO" OFF)
@ -78,10 +84,6 @@ if (NOT DISABLE_DBUS)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS DBus)
endif()
# Optional: KF5
set(KF5_MIN_VERSION "5.27.0")
find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS Wallet)
if (UNIX AND NOT APPLE AND NOT NO_X11)
find_package(X11)
if (X11_FOUND)

View File

@ -1,3 +1,3 @@
add_subdirectory(lib)
add_subdirectory(main)
# TODO add_subdirectory(plugins)
add_subdirectory(plugins)

View File

@ -0,0 +1,20 @@
set( AccessKeysNavigation_SRCS
akn_plugin.cpp
akn_handler.cpp
akn_settings.cpp
)
set( AccessKeysNavigation_UIS
akn_settings.ui
)
qt5_wrap_ui(UIS ${AccessKeysNavigation_UIS})
set( AccessKeysNavigation_RSCS
akn_res.qrc
)
qt5_add_resources(RSCS ${AccessKeysNavigation_RSCS})
add_library(AccessKeysNavigation MODULE ${AccessKeysNavigation_SRCS} ${UIS} ${RSCS})
install(TARGETS AccessKeysNavigation DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(AccessKeysNavigation FalkonPrivate)

View File

@ -0,0 +1,21 @@
set( AutoScroll_SRCS
autoscrollplugin.cpp
autoscroller.cpp
framescroller.cpp
autoscrollsettings.cpp
)
set( AutoScroll_UIS
autoscrollsettings.ui
)
qt5_wrap_ui(UIS ${AutoScroll_UIS})
set( AutoScroll_RSCS
autoscroll.qrc
)
qt5_add_resources(RSCS ${AutoScroll_RSCS})
add_library(AutoScroll MODULE ${AutoScroll_SRCS} ${UIS} ${RSCS})
install(TARGETS AutoScroll DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(AutoScroll FalkonPrivate)

View File

@ -0,0 +1,59 @@
include_directories(
${CMAKE_SOURCE_DIR}/src/lib/3rdparty
${CMAKE_SOURCE_DIR}/src/lib/adblock
${CMAKE_SOURCE_DIR}/src/lib/app
${CMAKE_SOURCE_DIR}/src/lib/autofill
${CMAKE_SOURCE_DIR}/src/lib/bookmarks
${CMAKE_SOURCE_DIR}/src/lib/cookies
${CMAKE_SOURCE_DIR}/src/lib/downloads
${CMAKE_SOURCE_DIR}/src/lib/history
${CMAKE_SOURCE_DIR}/src/lib/navigation
${CMAKE_SOURCE_DIR}/src/lib/network
${CMAKE_SOURCE_DIR}/src/lib/notifications
${CMAKE_SOURCE_DIR}/src/lib/opensearch
${CMAKE_SOURCE_DIR}/src/lib/other
${CMAKE_SOURCE_DIR}/src/lib/plugins
${CMAKE_SOURCE_DIR}/src/lib/popupwindow
${CMAKE_SOURCE_DIR}/src/lib/preferences
${CMAKE_SOURCE_DIR}/src/lib/rss
${CMAKE_SOURCE_DIR}/src/lib/session
${CMAKE_SOURCE_DIR}/src/lib/sidebar
${CMAKE_SOURCE_DIR}/src/lib/tabwidget
${CMAKE_SOURCE_DIR}/src/lib/tools
${CMAKE_SOURCE_DIR}/src/lib/webengine
${CMAKE_SOURCE_DIR}/src/lib/webtab
)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugins")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugins")
# QtWebEngine disable
#add_subdirectory(AccessKeysNavigation)
add_subdirectory(AutoScroll)
add_subdirectory(FlashCookieManager)
# GnomeKeyringPasswords only with GNOME_INTEGRATION and gnome-keyring pkg-config
if (GNOME_INTEGRATION AND GNOME_KEYRING_FOUND)
add_subdirectory(GnomeKeyringPasswords)
endif()
add_subdirectory(GreaseMonkey)
add_subdirectory(ImageFinder)
# KWalletPasswords only with KDE_INTEGRATION and KWallet framework
if (KDE_INTEGRATION AND KF5Wallet_FOUND)
add_subdirectory(KWalletPasswords)
endif()
add_subdirectory(MouseGestures)
add_subdirectory(PIM)
add_subdirectory(StatusBarIcons)
add_subdirectory(TabManager)
# TestPlugin only in debug build
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_subdirectory(TestPlugin)
endif()
# Not ported to cmake, for lack of a testcase: addSubdir($$(FALKON_PLUGINS_SRCDIR))

View File

@ -0,0 +1,21 @@
set( FlashCookieManager_SRCS
fcm_plugin.cpp
fcm_dialog.cpp
fcm_notification.cpp
)
set( FlashCookieManager_UIS
fcm_dialog.ui
fcm_notification.ui
)
qt5_wrap_ui(UIS ${FlashCookieManager_UIS})
set( FlashCookieManager_RSCS
flashcookiemanager.qrc
)
qt5_add_resources(RSCS ${FlashCookieManager_RSCS})
add_library(FlashCookieManager MODULE ${FlashCookieManager_SRCS} ${UIS} ${RSCS})
install(TARGETS FlashCookieManager DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(FlashCookieManager FalkonPrivate)

View File

@ -0,0 +1,16 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GNOME_KEYRING_CFLAGS}")
set( GnomeKeyringPasswords_SRCS
gnomekeyringplugin.cpp
gnomekeyringpasswordbackend.cpp
)
set( GnomeKeyringPasswords_RSCS
gnomekeyringpasswords.qrc
)
qt5_add_resources(RSCS ${GnomeKeyringPasswords_RSCS})
add_library(GnomeKeyringPasswords MODULE ${GnomeKeyringPasswords_SRCS} ${RSCS})
install(TARGETS GnomeKeyringPasswords DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(GnomeKeyringPasswords ${GNOME_KEYRING_LIBRARIES} FalkonPrivate)

View File

@ -0,0 +1,33 @@
include_directories(settings)
set( GreaseMonkey_SRCS
gm_plugin.cpp
gm_manager.cpp
gm_script.cpp
gm_downloader.cpp
gm_addscriptdialog.cpp
gm_notification.cpp
settings/gm_settings.cpp
settings/gm_settingslistdelegate.cpp
settings/gm_settingsscriptinfo.cpp
settings/gm_settingslistwidget.cpp
gm_icon.cpp
)
set( GreaseMonkey_UIS
gm_addscriptdialog.ui
gm_notification.ui
settings/gm_settings.ui
settings/gm_settingsscriptinfo.ui
)
qt5_wrap_ui(UIS ${GreaseMonkey_UIS})
set( GreaseMonkey_RSCS
greasemonkey.qrc
)
qt5_add_resources(RSCS ${GreaseMonkey_RSCS})
add_library(GreaseMonkey MODULE ${GreaseMonkey_SRCS} ${UIS} ${RSCS})
install(TARGETS GreaseMonkey DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(GreaseMonkey FalkonPrivate)

View File

@ -0,0 +1,20 @@
set( ImageFinder_SRCS
imagefinderplugin.cpp
imagefinder.cpp
imagefindersettings.cpp
)
set( ImageFinder_UIS
imagefindersettings.ui
)
qt5_wrap_ui(UIS ${ImageFinder_UIS})
set( ImageFinder_RSCS
imagefinder.qrc
)
qt5_add_resources(RSCS ${ImageFinder_RSCS})
add_library(ImageFinder MODULE ${ImageFinder_SRCS} ${UIS} ${RSCS})
install(TARGETS ImageFinder DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(ImageFinder FalkonPrivate)

View File

@ -0,0 +1,14 @@
set( KWalletPasswords_SRCS
kwalletplugin.cpp
kwalletpasswordbackend.cpp
)
set( KWalletPasswords_RSCS
kwalletpasswords.qrc
)
qt5_add_resources(RSCS ${KWalletPasswords_RSCS})
add_library(KWalletPasswords MODULE ${KWalletPasswords_SRCS} ${RSCS})
install(TARGETS KWalletPasswords DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(KWalletPasswords KF5::KWallet)

View File

@ -0,0 +1,32 @@
include_directories(3rdparty)
set( MouseGestures_HDRS
3rdparty/QjtMouseGestureFilter.h
)
set( MouseGestures_SRCS
3rdparty/mousegesturerecognizer.cpp
3rdparty/QjtMouseGesture.cpp
3rdparty/QjtMouseGestureFilter.cpp
3rdparty/adv_recognizer.cpp
mousegestures.cpp
mousegesturesplugin.cpp
mousegesturessettingsdialog.cpp
)
set( MouseGestures_UIS
mousegesturessettingsdialog.ui
)
qt5_wrap_ui(UIS ${MouseGestures_UIS})
set( MouseGestures_RSCS
mousegestures.qrc
)
qt5_add_resources(RSCS ${MouseGestures_RSCS})
KDE_ENABLE_EXCEPTIONS()
add_library(MouseGestures MODULE ${MouseGestures_SRCS} ${UIS} ${RSCS})
install(TARGETS MouseGestures DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(MouseGestures FalkonPrivate)

View File

@ -0,0 +1,20 @@
set( PIM_SRCS
PIM_plugin.cpp
PIM_handler.cpp
PIM_settings.cpp
)
set( PIM_UIS
PIM_settings.ui
)
qt5_wrap_ui(UIS ${PIM_UIS})
set( PIM_RSCS
PIM_res.qrc
)
qt5_add_resources(RSCS ${PIM_RSCS})
add_library(PIM MODULE ${PIM_SRCS} ${UIS} ${RSCS})
install(TARGETS PIM DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(PIM FalkonPrivate)

View File

@ -0,0 +1,31 @@
set( StatusBarIcons_SRCS
statusbariconsplugin.cpp
sbi_iconsmanager.cpp
sbi_imagesicon.cpp
sbi_javascripticon.cpp
sbi_networkicon.cpp
sbi_networkproxy.cpp
sbi_proxywidget.cpp
sbi_networkicondialog.cpp
sbi_networkmanager.cpp
sbi_settingsdialog.cpp
sbi_icon.cpp
sbi_zoomwidget.cpp
)
set( StatusBarIcons_UIS
sbi_proxywidget.ui
sbi_networkicondialog.ui
sbi_settingsdialog.ui
)
qt5_wrap_ui(UIS ${StatusBarIcons_UIS})
set( StatusBarIcons_RSCS
statusbaricons.qrc
)
qt5_add_resources(RSCS ${StatusBarIcons_RSCS})
add_library(StatusBarIcons MODULE ${StatusBarIcons_SRCS} ${UIS} ${RSCS})
install(TARGETS StatusBarIcons DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(StatusBarIcons FalkonPrivate)

View File

@ -0,0 +1,25 @@
set( TabManager_SRCS
tabmanagerplugin.cpp
tabmanagerwidget.cpp
tabmanagerwidgetcontroller.cpp
tabmanagersettings.cpp
tabmanagerdelegate.cpp
tldextractor/tldextractor.cpp
)
set( TabManager_UIS
tabmanagerwidget.ui
tabmanagersettings.ui
)
qt5_wrap_ui(UIS ${TabManager_UIS})
set( TabManager_RSCS
tabmanagerplugin.qrc
tldextractor/tldextractor.qrc
)
qt5_add_resources(RSCS ${TabManager_RSCS})
add_library(TabManager MODULE ${TabManager_SRCS} ${UIS} ${RSCS})
install(TARGETS TabManager DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(TabManager FalkonPrivate)

View File

@ -0,0 +1,14 @@
set( TestPlugin_SRCS
testplugin.cpp
testplugin_sidebar.cpp
)
set( TestPlugin_RSCS
testplugin.qrc
)
qt5_add_resources(RSCS ${TestPlugin_RSCS})
add_library(TestPlugin MODULE ${TestPlugin_SRCS} ${RSCS})
install(TARGETS TestPlugin DESTINATION ${KDE_INSTALL_PLUGINDIR})
target_link_libraries(TestPlugin FalkonPrivate)