project( Resources ) cmake_minimum_required( VERSION 3.8 ) set( CMAKE_CXX_STANDARD 17 ) set( CMAKE_INCLUDE_CURRENT_DIR ON ) set( CMAKE_AUTOMOC ON ) set( CMAKE_BUILD_TYPE Release ) set( PROJECT_VERSION 1.0.0 ) set( PROJECT_VERSION_MAJOR 1 ) set( PROJECT_VERSION_MINOR 0 ) set( PROJECT_VERSION_PATCH 0 ) set( PROJECT_VERSION_MAJOR_MINOR ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) add_definitions ( -Wall ) if ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) set( CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Location for installing the project" FORCE ) endif() if ( CMAKE_INSTALL_LIBDIR STREQUAL "" OR NOT DEFINED CMAKE_INSTALL_LIBDIR ) message( "-- CMAKE_INSTALL_LIBDIR not set. Trying pkg-config" ) find_package( PkgConfig REQUIRED ) pkg_get_variable( LIBDIR desq-core libdir ) set( CMAKE_INSTALL_LIBDIR ${LIBDIR} ) if ( LIBDIR STREQUAL "" OR NOT DEFINED LIBDIR ) message( "-- Unable to retrieve information from pkg-config." ) set( CMAKE_INSTALL_LIBDIR "lib/x86_64-linux-gnu" ) message( "-- Using default value for CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}" ) endif() endif() find_package( PkgConfig REQUIRED ) pkg_get_variable( METADATAPATH desq-core metadatapath ) pkg_get_variable( PLUGINPATH desq-core pluginpath ) if ( METADATAPATH STREQUAL "" OR NOT DEFINED METADATAPATH ) message( "-- Unable to retrieve the value of METADATAPATH." ) set( METADATAPATH "share/desq/metadata" ) message( "-- Using default value: /etc/xdg/desq" ) else() message( "-- Installing metadata to: ${METADATAPATH}" ) endif() if ( PLUGINPATH STREQUAL "" OR NOT DEFINED PLUGINPATH ) message( "-- Unable to retrieve the value of PLUGINPATH." ) set( PLUGINPATH "${CMAKE_INSTALL_LIBDIR}/desq/plugins/" ) message( "-- Using default value: ${CMAKE_INSTALL_LIBDIR}/desq/plugins/" ) else() message( "-- Installing plugin to: ${PLUGINPATH}" ) endif() set( CMAKE_AUTOMOC ON ) set( CMAKE_AUTORCC ON ) set( CMAKE_AUTOUIC ON ) find_package( Qt5Core REQUIRED ) find_package( Qt5Gui REQUIRED ) find_package( Qt5Widgets REQUIRED ) find_package( Qt5DBus REQUIRED ) find_package( dbusmenu-qt5 REQUIRED ) find_package( PkgConfig REQUIRED ) pkg_check_modules( DESQ_GUI REQUIRED desq-gui ) pkg_check_modules( DESQ_UI REQUIRED desqui ) pkg_check_modules( DESQ_WL REQUIRED desqwl ) include_directories( ${DESQ_GUI_INCLUDE_DIRS} ${DESQ_UI_INCLUDE_DIRS} ${DESQ_WL_INCLUDE_DIRS} ) set( SRCS ResourcesWidget.cpp ResourcesWidget.hpp Plugin.cpp Plugin.hpp ) add_library( desq-plugin-resources MODULE ${SRCS} ) target_link_libraries( desq-plugin-resources Qt5::Core Qt5::Gui Qt5::Widgets Qt5::DBus ${DESQ_UI_LIBRARIES} ) install( TARGETS desq-plugin-resources DESTINATION ${PLUGINPATH}/shell ) install( FILES resources.ini DESTINATION ${METADATAPATH}/ )