This commit is contained in:
Patrick von Reth 2014-07-08 01:15:28 +02:00
parent 358a71ce61
commit b0a4297f01
6 changed files with 204 additions and 204 deletions

View File

@ -1,88 +1,88 @@
project( SnoreNotify )
cmake_minimum_required( VERSION 2.8.9 )
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_PREFIX_PATH}/share/apps/cmake/modules)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
cmake_policy(SET CMP0020 NEW)
include(GNUInstallDirs)
include(CMakeDependentOption)
#######################################################################
option(WITH_FRONTENDS "Build frontends currently only useful if WITH_SNORE_DEAMON=ON" OFF)
option(WITH_GROWL_BACKEND "Build the Growl backend" ON)
option(WITH_SNORE_DEAMON "Build the Snore deamon, which redirects notifications" OFF)
option(WITH_QT4 "Use Qt4" ON)
cmake_dependent_option(WITH_KDE "Try to build with KDE support if availibe" ON "NOT WITH_QT4" OFF)
cmake_dependent_option(WITH_FREEDESKTOP_FRONTEND "Build the freedesktop frontend" OFF "WITH_SNORE_DEAMON" ON)
#######################################################################
set(SNORE_VERSION_MAJOR 0)
set(SNORE_VERSION_MINOR 5)
set(SNORE_VERSION_SUFFIX "alpha1")
if(WITH_KDE)
find_package(KDE4)
endif()
set(SNORE_SUFFIX "")
set(SNORE_CamelCase_SUFFIX "")
if(KDE4_FOUND)
add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS} -D_UNICODE)
include_directories(${KDE4_INCLUDES})
else()
if(WITH_QT4)
find_package(Qt4 REQUIRED)
else()
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5DBus QUIET)
find_package(Qt5Declarative REQUIRED)
include(ECMQt4To5Porting)
set(SNORE_SUFFIX "-qt5")
set(SNORE_CamelCase_SUFFIX "Qt5")
endif()
include_directories( ${QT_INCLUDES} )
include(NoKDE)
endif()
find_package( CryptoPP )
find_package( Boost COMPONENTS system thread)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @only)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
else(DOXYGEN_FOUND)
message(STATUS "No doxygen package found")
endif(DOXYGEN_FOUND)
set(LIBSNORE_PLUGIN_PATH ${CMAKE_INSTALL_LIBDIR}/libsnore${SNORE_SUFFIX})
set(LIBSNORE_FULL_PLUGIN_PATH ${CMAKE_INSTALL_FULL_LIBDIR}/libsnore${SNORE_SUFFIX})
set(SNORE_PLUGIN_INSTALL_PATH LIBRARY DESTINATION ${LIBSNORE_PLUGIN_PATH})
add_definitions(-DLIBSNORE_PLUGIN_PATH="${LIBSNORE_FULL_PLUGIN_PATH}" -DSNORE_SUFFIX="${SNORE_SUFFIX}")
message(STATUS "Installing plugins to ${LIBSNORE_PLUGIN_PATH}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_subdirectory(data)
add_subdirectory(share)
add_subdirectory(src)
project( SnoreNotify )
cmake_minimum_required( VERSION 2.8.9 )
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_PREFIX_PATH}/share/apps/cmake/modules)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
cmake_policy(SET CMP0020 NEW)
include(GNUInstallDirs)
include(CMakeDependentOption)
#######################################################################
option(WITH_FRONTENDS "Build frontends currently only useful if WITH_SNORE_DEAMON=ON" OFF)
option(WITH_GROWL_BACKEND "Build the Growl backend" ON)
option(WITH_SNORE_DEAMON "Build the Snore deamon, which redirects notifications" OFF)
option(WITH_QT4 "Use Qt4" ON)
cmake_dependent_option(WITH_KDE "Try to build with KDE support if availibe" ON "NOT WITH_QT4" OFF)
cmake_dependent_option(WITH_FREEDESKTOP_FRONTEND "Build the freedesktop frontend" OFF "WITH_SNORE_DEAMON" ON)
#######################################################################
set(SNORE_VERSION_MAJOR 0)
set(SNORE_VERSION_MINOR 5)
set(SNORE_VERSION_SUFFIX "alpha1")
if(WITH_KDE)
find_package(KDE4)
endif()
set(SNORE_SUFFIX "")
set(SNORE_CamelCase_SUFFIX "")
if(KDE4_FOUND)
add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS} -D_UNICODE)
include_directories(${KDE4_INCLUDES})
else()
if(WITH_QT4)
find_package(Qt4 REQUIRED)
else()
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Network REQUIRED)
find_package(Qt5DBus QUIET)
find_package(Qt5Declarative REQUIRED)
include(ECMQt4To5Porting)
set(SNORE_SUFFIX "-qt5")
set(SNORE_CamelCase_SUFFIX "Qt5")
endif()
include_directories( ${QT_INCLUDES} )
include(NoKDE)
endif()
find_package( CryptoPP )
find_package( Boost COMPONENTS system thread)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @only)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
else(DOXYGEN_FOUND)
message(STATUS "No doxygen package found")
endif(DOXYGEN_FOUND)
set(LIBSNORE_PLUGIN_PATH ${CMAKE_INSTALL_LIBDIR}/libsnore${SNORE_SUFFIX})
set(LIBSNORE_FULL_PLUGIN_PATH ${CMAKE_INSTALL_FULL_LIBDIR}/libsnore${SNORE_SUFFIX})
set(SNORE_PLUGIN_INSTALL_PATH LIBRARY DESTINATION ${LIBSNORE_PLUGIN_PATH})
add_definitions(-DLIBSNORE_PLUGIN_PATH="${LIBSNORE_FULL_PLUGIN_PATH}" -DSNORE_SUFFIX="${SNORE_SUFFIX}")
message(STATUS "Installing plugins to ${LIBSNORE_PLUGIN_PATH}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_subdirectory(data)
add_subdirectory(share)
add_subdirectory(src)

View File

@ -1,20 +1,20 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
add_subdirectory(core)
if(WITH_SNORE_DEAMON)
add_executable( snorenotify WIN32 main.cpp snorenotify.cpp trayicon.cpp ${SNORENOTIFY_DEAMON_DEPS})
target_link_libraries( snorenotify snorecore ${QT_QTGUI_LIBRARY} )
if(KDE4_FOUND)
target_link_libraries( snorenotify ${KDE4_KDEUI_LIBS} )
endif(KDE4_FOUND)
add_dependencies(snorenotify snorecore)
install(TARGETS snorenotify RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
endif()
add_subdirectory(plugins)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
add_subdirectory(core)
if(WITH_SNORE_DEAMON)
add_executable( snorenotify WIN32 main.cpp snorenotify.cpp trayicon.cpp ${SNORENOTIFY_DEAMON_DEPS})
target_link_libraries( snorenotify snorecore ${QT_QTGUI_LIBRARY} )
if(KDE4_FOUND)
target_link_libraries( snorenotify ${KDE4_KDEUI_LIBS} )
endif(KDE4_FOUND)
add_dependencies(snorenotify snorecore)
install(TARGETS snorenotify RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
endif()
add_subdirectory(plugins)

View File

@ -1,50 +1,50 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
include(GetGitRevisionDescription)
get_git_head_revision(GIT_REFSPEC SNORE_REVISION)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/version.cpp")
QT4_ADD_RESOURCES(SNORENOTIFY_RCS ${SNORE_RCS})
add_subdirectory(notification)
add_subdirectory(plugins)
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
snore.cpp
snore_p.cpp
application.cpp
application_p.cpp
alert.cpp
alert_p.cpp
hint.cpp
log.cpp
${CMAKE_CURRENT_BINARY_DIR}/version.cpp
${SNORENOTIFY_RCS}
)
set ( SnoreNotify_HDR ${SnoreNotify_HDR}
snore.h
snore_p.h
application.h
alert.h
hint.h
log.h
snore_exports.h
version.h
)
add_library( snorecore SHARED ${SnoreNotify_SRCS})
set_target_properties( snorecore PROPERTIES OUTPUT_NAME "snore${SNORE_SUFFIX}" DEFINE_SYMBOL "SNORECORE_DLL" )
target_link_libraries ( snorecore ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
install(TARGETS snorecore RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
install(FILES ${SnoreNotify_HDR} DESTINATION include/snore/core)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
include(GetGitRevisionDescription)
get_git_head_revision(GIT_REFSPEC SNORE_REVISION)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/version.cpp")
QT4_ADD_RESOURCES(SNORENOTIFY_RCS ${SNORE_RCS})
add_subdirectory(notification)
add_subdirectory(plugins)
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
snore.cpp
snore_p.cpp
application.cpp
application_p.cpp
alert.cpp
alert_p.cpp
hint.cpp
log.cpp
${CMAKE_CURRENT_BINARY_DIR}/version.cpp
${SNORENOTIFY_RCS}
)
set ( SnoreNotify_HDR ${SnoreNotify_HDR}
snore.h
snore_p.h
application.h
alert.h
hint.h
log.h
snore_exports.h
version.h
)
add_library( snorecore SHARED ${SnoreNotify_SRCS})
set_target_properties( snorecore PROPERTIES OUTPUT_NAME "snore${SNORE_SUFFIX}" DEFINE_SYMBOL "SNORECORE_DLL" )
target_link_libraries ( snorecore ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
install(TARGETS snorecore RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
install(FILES ${SnoreNotify_HDR} DESTINATION include/snore/core)

View File

@ -1,20 +1,20 @@
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
notification/notification.cpp
notification/notification_p.cpp
notification/notificationaction.cpp
notification/icon.cpp
notification/icon_p.cpp
PARENT_SCOPE)
set ( Notification_HDR
notification.h
notification_p.h
notificationaction.h
icon.h
)
install(FILES ${Notification_HDR} DESTINATION include/snore/core/notification)
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
notification/notification.cpp
notification/notification_p.cpp
notification/notificationaction.cpp
notification/icon.cpp
notification/icon_p.cpp
PARENT_SCOPE)
set ( Notification_HDR
notification.h
notification_p.h
notificationaction.h
icon.h
)
install(FILES ${Notification_HDR} DESTINATION include/snore/core/notification)

View File

@ -1,18 +1,18 @@
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
plugins/plugincontainer.cpp
plugins/plugins.cpp
plugins/snorefrontend.cpp
plugins/snorebackend.cpp
PARENT_SCOPE)
set ( Plugins_HDR
plugins.h
snorefrontend.h
snorebackend.h
)
install(FILES ${Plugins_HDR} DESTINATION include/snore/core/plugins)
set ( SnoreNotify_SRCS ${SnoreNotify_SRCS}
plugins/plugincontainer.cpp
plugins/plugins.cpp
plugins/snorefrontend.cpp
plugins/snorebackend.cpp
PARENT_SCOPE)
set ( Plugins_HDR
plugins.h
snorefrontend.h
snorebackend.h
)
install(FILES ${Plugins_HDR} DESTINATION include/snore/core/plugins)

View File

@ -1,8 +1,8 @@
set( SNARL_NETWORK_SRC
snarlnetwork.cpp
parser.cpp
)
add_library(libsnore_frontend_snarlnetwork MODULE ${SNARL_NETWORK_SRC} )
target_link_libraries(libsnore_frontend_snarlnetwork snorecore ${QT_QTNETWORK_LIBRARY} )
install(TARGETS libsnore_frontend_snarlnetwork ${SNORE_PLUGIN_INSTALL_PATH})
set( SNARL_NETWORK_SRC
snarlnetwork.cpp
parser.cpp
)
add_library(libsnore_frontend_snarlnetwork MODULE ${SNARL_NETWORK_SRC} )
target_link_libraries(libsnore_frontend_snarlnetwork snorecore ${QT_QTNETWORK_LIBRARY} )
install(TARGETS libsnore_frontend_snarlnetwork ${SNORE_PLUGIN_INSTALL_PATH})