diff --git a/CMakeLists.txt b/CMakeLists.txt index a830c82..14ee676 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,67 +1,68 @@ cmake_minimum_required( VERSION 3.0 ) -project( SnoreNotify ) + +set(SNORE_VERSION_MAJOR 0) +set(SNORE_VERSION_MINOR 7) +set(SNORE_VERSION_PATCH 1) + +project( SnoreNotify VERSION "${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}.${SNORE_VERSION_PATCH}" ) include(FeatureSummary) find_package(ECM 1.7.0 REQUIRED NO_MODULE) set_package_properties(ECM PROPERTIES DESCRIPTION "Extra modules and scripts for CMake." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules" TYPE REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings) include(GenerateExportHeader) include(CMakeDependentOption) +include(CMakePackageConfigHelpers) +include(ECMSetupVersion) include(ECMAddAppIcon) include(ECMGeneratePriFile) include(ECMInstallIcons) include(ECMMarkNonGuiExecutable) include(ECMOptionalAddSubdirectory) -include(ECMPackageConfigHelpers) include(ECMPoQmTools) include(ECMSetupVersion) - -set(SNORE_VERSION_MAJOR 0) -set(SNORE_VERSION_MINOR 7) -set(SNORE_VERSION_PATCH 1) - set(SNORE_SUFFIX "-qt5") set(SNORE_CamelCase_SUFFIX "Qt5") find_package(Qt5Core REQUIRED) find_package(Qt5Network REQUIRED) find_package(Qt5Gui REQUIRED) find_package(Qt5Widgets QUIET) set_package_properties(Qt5Widgets PROPERTIES PURPOSE "Supprot for the daemon and the settings dialog as well as some backends." TYPE OPTIONAL) set(LIBSNORE_INCLUDE_DIR ${KDE_INSTALL_INCLUDEDIR}/libsnore) set(LIBSNORE_PLUGIN_PATH ${KDE_INSTALL_PLUGINDIR}/libsnore${SNORE_SUFFIX}) set(SNORE_PLUGIN_INSTALL_PATH LIBRARY DESTINATION ${LIBSNORE_PLUGIN_PATH}) message(STATUS "Installing plugins to ${LIBSNORE_PLUGIN_PATH}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) add_subdirectory(data) add_subdirectory(src) add_subdirectory(autotest) if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ecm_install_po_files_as_qm(po) endif() feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES) diff --git a/src/libsnore/CMakeLists.txt b/src/libsnore/CMakeLists.txt index b2c801e..33fe443 100644 --- a/src/libsnore/CMakeLists.txt +++ b/src/libsnore/CMakeLists.txt @@ -1,108 +1,108 @@ include(GetGitRevisionDescription) get_git_head_revision(GIT_REFSPEC SNORE_REVISION) if(NOT SNORE_REVISION) set(SNORE_REVISION "") endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/version.h") ecm_create_qm_loader(SnoreNotify_QM_LOADER snorenotify${SNORE_SUFFIX}_qt) QT5_ADD_RESOURCES(SNORENOTIFY_RCS ${SNORE_RCS}) add_subdirectory(notification) add_subdirectory(plugins) list(APPEND SnoreNotify_SRCS snore.cpp snore_p.cpp application.cpp application_p.cpp alert.cpp alert_p.cpp hint.cpp lambdahint.cpp utils.cpp ${SNORENOTIFY_RCS} ) list(APPEND SnoreNotify_HDR snore.h snore_p.h application.h alert.h hint.h lambdahint.h snoreglobals.h utils.h ${CMAKE_CURRENT_BINARY_DIR}/snore_exports.h ${CMAKE_CURRENT_BINARY_DIR}/version.h ) add_library( libsnore SHARED ${SnoreNotify_SRCS} ${SnoreNotify_QM_LOADER}) set_target_properties( libsnore PROPERTIES OUTPUT_NAME "snore${SNORE_SUFFIX}" VERSION "${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}.${SNORE_VERSION_PATCH}" SOVERSION "${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}" EXPORT_NAME Libsnore) set_property( TARGET libsnore APPEND PROPERTY COMPILE_DEFINITIONS LIBSNORE_PLUGIN_PATH="${KDE_INSTALL_FULL_PLUGINDIR}/libsnore${SNORE_SUFFIX}" SNORE_SUFFIX="${SNORE_SUFFIX}" ) target_link_libraries( libsnore PUBLIC Qt5::Core Qt5::Gui Qt5::Network) add_library(Snore::Libsnore ALIAS libsnore) generate_export_header(libsnore EXPORT_FILE_NAME snore_exports.h EXPORT_MACRO_NAME SNORE_EXPORT ) target_include_directories( libsnore PUBLIC $ $) -ecm_setup_version("${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}.${SNORE_VERSION_PATCH}" VARIABLE_PREFIX SNORE +ecm_setup_version(PROJECT VARIABLE_PREFIX SNORE PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Libsnore${SNORE_CamelCase_SUFFIX}ConfigVersion.cmake" SOVERSION ${SNORE_VERSION_MAJOR}) -ecm_configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/LibsnoreConfig.cmake.in" +configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/LibsnoreConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/Libsnore${SNORE_CamelCase_SUFFIX}Config.cmake" INSTALL_DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnore${SNORE_CamelCase_SUFFIX} ) ecm_generate_pri_file(BASE_NAME Libsnore${SNORE_CamelCase_SUFFIX} LIB_NAME snore${SNORE_SUFFIX} DEPS "core gui widgets network" INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR} FILENAME_VAR pri_filename) install(FILES ${pri_filename} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) install(TARGETS libsnore EXPORT Libsnore${SNORE_CamelCase_SUFFIX}Target ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(EXPORT Libsnore${SNORE_CamelCase_SUFFIX}Target DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnore${SNORE_CamelCase_SUFFIX} NAMESPACE Snore::) install(FILES ${SnoreNotify_HDR} DESTINATION ${LIBSNORE_INCLUDE_DIR}) install(FILES SnoreAddPlugin.cmake ${CMAKE_CURRENT_BINARY_DIR}/Libsnore${SNORE_CamelCase_SUFFIX}Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/Libsnore${SNORE_CamelCase_SUFFIX}ConfigVersion.cmake DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnore${SNORE_CamelCase_SUFFIX}) - + if(UNIX) ecm_install_icons(ICONS ${PROJECT_SOURCE_DIR}/data/128-apps-snore.png DESTINATION ${KDE_INSTALL_ICONDIR}) endif() if(Qt5Widgets_FOUND) add_subdirectory(settings) endif() \ No newline at end of file diff --git a/src/libsnore/settings/CMakeLists.txt b/src/libsnore/settings/CMakeLists.txt index 628c1bf..94690d0 100644 --- a/src/libsnore/settings/CMakeLists.txt +++ b/src/libsnore/settings/CMakeLists.txt @@ -1,67 +1,67 @@ QT5_ADD_RESOURCES(SNORENOTIFY_RCS ${SNORE_RCS}) qt5_wrap_ui(UI settingsdialog.ui) set(snoresettings_SRCS settings.cpp settingsdialog.cpp pluginsettingswidget.cpp ${UI} ) set(snoresettings_HDR settings.h settingsdialog.h pluginsettingswidget.h ${CMAKE_CURRENT_BINARY_DIR}/snore_settings_exports.h ) add_library( libsnoresettings SHARED ${snoresettings_SRCS}) set_target_properties( libsnoresettings PROPERTIES OUTPUT_NAME "snoresettings${SNORE_SUFFIX}" VERSION "${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}.${SNORE_VERSION_PATCH}" SOVERSION "${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}" EXPORT_NAME LibsnoreSettings) - + target_link_libraries( libsnoresettings PUBLIC Qt5::Widgets Snore::Libsnore) add_library(Snore::LibsnoreSettings ALIAS libsnoresettings) generate_export_header(libsnoresettings EXPORT_FILE_NAME snore_settings_exports.h EXPORT_MACRO_NAME SNORE_SETTINGS_EXPORT ) -ecm_setup_version("${SNORE_VERSION_MAJOR}.${SNORE_VERSION_MINOR}.${SNORE_VERSION_PATCH}" VARIABLE_PREFIX SNORE +ecm_setup_version(PROJECT VARIABLE_PREFIX SNORE PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibsnoreSettings${SNORE_CamelCase_SUFFIX}ConfigVersion.cmake" SOVERSION ${SNORE_VERSION_MAJOR}) -ecm_configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/LibsnoreSettingsConfig.cmake.in" +configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/LibsnoreSettingsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/LibsnoreSettings${SNORE_CamelCase_SUFFIX}Config.cmake" INSTALL_DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnoresettings${SNORE_CamelCase_SUFFIX} ) ecm_generate_pri_file(BASE_NAME LibsnoreSettings${SNORE_CamelCase_SUFFIX} LIB_NAME snoresettings${SNORE_SUFFIX} DEPS "core gui widgets network LibsnoreQt5" INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR} FILENAME_VAR pri_filename) install(FILES ${pri_filename} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) install(TARGETS libsnoresettings EXPORT LibsnoreSettings${SNORE_CamelCase_SUFFIX}Target ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(EXPORT LibsnoreSettings${SNORE_CamelCase_SUFFIX}Target DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnoresettings${SNORE_CamelCase_SUFFIX} NAMESPACE Snore::) install(FILES ${snoresettings_HDR} DESTINATION ${LIBSNORE_INCLUDE_DIR}/settings) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LibsnoreSettings${SNORE_CamelCase_SUFFIX}Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/LibsnoreSettings${SNORE_CamelCase_SUFFIX}ConfigVersion.cmake DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/libsnoresettings${SNORE_CamelCase_SUFFIX}) - +