From 1259472bc05d02cd7f407dd07bf79494b3a221a2 Mon Sep 17 00:00:00 2001 From: samelian Date: Tue, 18 Jan 2011 15:58:59 +0000 Subject: [PATCH] [applications/kpowersave] initial cmake support git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kpowersave@1215405 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- CMakeLists.txt | 62 ++++++++++++++++++++++++++++++++++++ ConfigureChecks.cmake | 70 +++++++++++++++++++++++++++++++++++++++++ config.h.cmake | 1 + src/CMakeLists.txt | 53 +++++++++++++++++++++++++++++++ src/pics/CMakeLists.txt | 12 +++++++ 5 files changed, 198 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 ConfigureChecks.cmake create mode 100644 config.h.cmake create mode 100644 src/CMakeLists.txt create mode 100644 src/pics/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7385430 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,62 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.6 ) + + +##### general package setup ##################### + +project( kpowersave ) + + +##### include essential cmake modules ########### + +include( CheckCXXSourceCompiles ) +include( FindPkgConfig ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +###### global compiler settings ################# + +add_definitions( + -DHAVE_CONFIG_H + ${TQT_CFLAGS_OTHER} +) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include tqt.h" ) +set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) + + +##### source directories ######################## + +add_subdirectory( src ) + + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..1ce4bfc --- /dev/null +++ b/ConfigureChecks.cmake @@ -0,0 +1,70 @@ +################################################# +# +# (C) 2010 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +# check for hal +pkg_search_module( HAL hal ) +if( HAL_FOUND ) + if( ${HAL_VERSION} VERSION_LESS "0.5.10" ) + tde_message_fatal( "your hal version is too old; at least 0.5.10 is required" ) + else( ) + set( HAVE_HAL_0_5_10 1 ) + endif( ) +else( ) + tde_message_fatal( "hal are requested, but not found on your system" ) +endif( ) + + +# check for Xext +pkg_search_module( XEXT xext ) +if( NOT XEXT_FOUND ) + tde_message_fatal( "Xext are required, but not found on your system" ) +endif() + + +# check for Xtst +pkg_search_module( XTST xtst ) +if( NOT XTST_FOUND ) + tde_message_fatal( "Xtst are required, but not found on your system" ) +endif() + + +# check for xscrnsaver +pkg_search_module( XSCRNSAVER xscrnsaver ) +if( NOT XSCRNSAVER_FOUND ) + tde_message_fatal( "xscrnsaver are required, but not found on your system" ) +endif() + + +# required stuff +find_package( Qt ) +find_package( TQt ) +find_package( TDE ) + + +# check for dbus-1 +pkg_search_module( DBUS dbus-1 ) +if( NOT DBUS_FOUND ) + tde_message_fatal( "dbus-1 are required, but not found on your system" ) +endif( ) + + +# check for dbus-qt3 (version 0.7) +tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) +set( CMAKE_REQUIRED_INCLUDES ${QT_INCLUDE_DIRS} ${DBUS_INCLUDE_DIRS} ) +set( CMAKE_REQUIRED_LIBRARIES ${TQT_LDFLAGS} ) +check_cxx_source_compiles(" + #include + int main(int, char**) { return 0; } " + HAVE_DBUS_QT3_07 ) +tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) +if( NOT HAVE_DBUS_QT3_07 ) + tde_message_fatal( "dbus-qt3 (version 0.7) are required, but not found on your system" ) +endif( ) diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 index 0000000..77d54c6 --- /dev/null +++ b/config.h.cmake @@ -0,0 +1 @@ +#cmakedefine HAVE_HAL_0_5_10 1 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..432530c --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,53 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +add_subdirectory( pics ) + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${DBUS_INCLUDE_DIRS} + ${HAL_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +tde_install_icons( kpowersave ) +install( FILES kpowersave.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +install( FILES kpowersave-autostart.desktop DESTINATION ${AUTOSTART_INSTALL_DIR} ) +install( FILES eventsrc DESTINATION ${DATA_INSTALL_DIR}/kpowersave ) +install( FILES config/kpowersaverc_default RENAME kpowersaverc DESTINATION ${CONFIG_INSTALL_DIR} ) + + +##### kpowersave (kdeinit) ###################### + +tde_add_kdeinit_executable( kpowersave AUTOMOC + SOURCES + dummy.cpp autodimm.cpp autosuspend.cpp + blacklistedit_Dialog.ui blacklisteditdialog.cpp + configure_Dialog.ui configuredialog.cpp countdown_Dialog.ui + countdowndialog.cpp dbusHAL.cpp detailed_Dialog.ui + detaileddialog.cpp hardware.cpp hardware_battery.cpp + hardware_batteryCollection.cpp hardware_cpu.cpp + inactivity.cpp info_Dialog.ui infodialog.cpp kpowersave.cpp + kpowersave.skel log_viewer.ui logviewer.cpp main.cpp + screen.cpp settings.cpp suspenddialog.cpp suspend_Dialog.ui + LINK + dbus-qt-1 kio-shared ${DBUS_LIBRARIES} ${HAL_LIBRARIES} + ${XEXT_LIBRARIES} ${XTST_LIBRARIES} ${XSCRNSAVER_LIBRARIES} +) diff --git a/src/pics/CMakeLists.txt b/src/pics/CMakeLists.txt new file mode 100644 index 0000000..0e4a84c --- /dev/null +++ b/src/pics/CMakeLists.txt @@ -0,0 +1,12 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +tde_install_icons( DESTINATION ${DATA_INSTALL_DIR}/kpowersave/icons )