]> Dogcows Code - chaz/tint2/blobdiff - CMakeLists.txt
add missing battery config CPP guard
[chaz/tint2] / CMakeLists.txt
index 4b40a6c8f207f0887fd29cfab3c84555d5f39d63..dda1f1a13ec092611b2d449d77b99e30bd4250f9 100644 (file)
@@ -3,16 +3,21 @@ cmake_minimum_required( VERSION 2.6 )
 
 include( FindPkgConfig )
 include( CheckLibraryExists )
-pkg_check_modules( X11 REQUIRED x11 xcomposite xdamage xinerama xrender xrandr )
+pkg_check_modules( X11 REQUIRED x11 xcomposite xdamage xinerama xrender xrandr>=1.3 )
 pkg_check_modules( PANGOCAIRO REQUIRED pangocairo )
 pkg_check_modules( PANGO REQUIRED pango )
 pkg_check_modules( CAIRO REQUIRED cairo )
 pkg_check_modules( GLIB2 REQUIRED glib-2.0 )
 pkg_check_modules( GOBJECT2 REQUIRED gobject-2.0 )
-pkg_check_modules( IMLIB2 REQUIRED imlib2 )
+pkg_check_modules( IMLIB2 REQUIRED imlib2>=1.4.2 )
+pkg_check_modules( SN libstartup-notification-1.0>=0.12 )
 find_library( RT_LIBRARY rt )
 
-string( REPLACE ";" " " FLAGS_REPLACED "${FLAGS}" )
+if( NOT X11_FOUND OR NOT PANGOCAIRO_FOUND OR NOT PANGO_FOUND OR NOT CAIRO_FOUND OR NOT GLIB2_FOUND OR NOT GOBJECT2_FOUND OR NOT IMLIB2_FOUND )
+  message( FATAL_ERROR "Not all dependencies fulfilled. See http://code.google.com/p/tint2/wiki/Install" )
+endif( NOT X11_FOUND OR NOT PANGOCAIRO_FOUND OR NOT PANGO_FOUND OR NOT CAIRO_FOUND OR NOT GLIB2_FOUND OR NOT GOBJECT2_FOUND OR NOT IMLIB2_FOUND )
+
+string( REPLACE ";" " " FLAGS_REPLACED "${IMLIB2_LDFLAGS}" )
 set( CMAKE_REQUIRED_FLAGS "${FLAGS_REPLACED}" )
 check_library_exists( "${IMLIB2_LIBRARIES}" "imlib_context_set_display" "${IMLIB2_LIBRARY_DIRS}" IMLIB_BUILD_WITH_X )
 if( NOT IMLIB_BUILD_WITH_X )
@@ -25,7 +30,9 @@ include_directories( ${PROJECT_BINARY_DIR}
                      src/clock
                      src/systray
                      src/taskbar
+                     src/launcher
                      src/tooltip
+                                        src/freespace
                      src/util
                      ${X11_INCLUDE_DIRS}
                      ${PANGOCAIRO_INCLUDE_DIRS}
@@ -33,7 +40,8 @@ include_directories( ${PROJECT_BINARY_DIR}
                      ${CAIRO_INCLUDE_DIRS}
                      ${GLIB2_INCLUDE_DIRS}
                      ${GOBJECT2_INCLUDE_DIRS}
-                     ${IMLIB2_INCLUDE_DIRS} )
+                     ${IMLIB2_INCLUDE_DIRS}
+                    ${SN_INCLUDE_DIRS} )
 
 set( SOURCES src/config.c
              src/panel.c
@@ -41,9 +49,14 @@ set( SOURCES src/config.c
              src/tint.c
              src/clock/clock.c
              src/systray/systraybar.c
+             src/launcher/launcher.c
+             src/launcher/xsettings-client.c
+             src/launcher/xsettings-common.c
              src/taskbar/task.c
              src/taskbar/taskbar.c
+             src/taskbar/taskbarname.c
              src/tooltip/tooltip.c
+             src/freespace/freespace.c
              src/util/area.c
              src/util/common.c
              src/util/timer.c
@@ -52,48 +65,55 @@ set( SOURCES src/config.c
 option( ENABLE_BATTERY "Enable battery status plugin" ON )
 option( ENABLE_TINT2CONF "Enable tint2conf build, a GTK+2 theme switcher for tint2" ON )
 option( ENABLE_EXAMPLES "Install additional tin2rc examples" OFF )
+option( ENABLE_SN "Startup notification support" ON )
+if( ENABLE_SN )
+  if( SN_FOUND )
+    add_definitions( -DHAVE_SN -DSN_API_NOT_YET_FROZEN )
+  endif( SN_FOUND )
+endif( ENABLE_SN)
 
 if( ENABLE_BATTERY )
   set( SOURCES ${SOURCES} src/battery/battery.c )
   add_definitions( -DENABLE_BATTERY )
 endif( ENABLE_BATTERY )
 
+set( MANDIR share/man CACHE PATH "Directory for man pages" )
+set( DATADIR share CACHE PATH "Directory for shared data" )
+set( SYSCONFDIR /etc CACHE PATH "Directory for configuration files" )
+set( DOCDIR share/doc/tint2 CACHE PATH "Directory for documentation files" )
+
 if( ENABLE_TINT2CONF )
   add_definitions( -DHAVE_VERSION_H )
   add_subdirectory( src/tint2conf )
   add_dependencies( tint2conf version )
 endif( ENABLE_TINT2CONF )
 
-set( MANDIR share/man CACHE PATH "Directory for man pages" )
-set( DATADIR share CACHE PATH "Directory for shared data" )
-set( SYSCONFDIR /etc CACHE PATH "Directory for configuration files" )
-set( DOCDIR share/doc/tint2 CACHE PATH "Directory for documentation files" )
-
 add_custom_target( version ALL "${PROJECT_SOURCE_DIR}/get_svnrev.sh" "\"${PROJECT_SOURCE_DIR}\"" )
 
-add_executable(tint2 ${SOURCES})
 link_directories( ${X11_LIBRARY_DIRS}
-                  ${X11_LIBRARY_DIRS}
                   ${PANGOCAIRO_LIBRARY_DIRS}
                   ${PANGO_LIBRARY_DIRS}
                   ${CAIRO_LIBRARY_DIRS}
                   ${GLIB2_LIBRARY_DIRS}
                   ${GOBJECT2_LIBRARY_DIRS}
-                  ${IMLIB2_LIBRARY_DIRS} )
+                  ${IMLIB2_LIBRARY_DIRS}
+                 ${SN_LIBRARY_DIRS} )
+add_executable(tint2 ${SOURCES})
 target_link_libraries( tint2 ${X11_LIBRARIES}
                              ${PANGOCAIRO_LIBRARIES}
                              ${PANGO_LIBRARIES}
                              ${CAIRO_LIBRARIES}
                              ${GLIB2_LIBRARIES}
                              ${GOBJECT2_LIBRARIES}
-                             ${IMLIB2_LIBRARIES} )
+                             ${IMLIB2_LIBRARIES}
+                            ${SN_LIBRARIES} )
 if( RT_LIBRARY )
   target_link_libraries( tint2 ${RT_LIBRARY} )
 endif( RT_LIBRARY )
 
 add_dependencies( tint2 version )
-set_target_properties( tint2 PROPERTIES COMPILE_FLAGS -Wall )
-#set_target_properties(tint2 PROPERTIES LINK_FLAGS -Wl,--as-needed)
+set_target_properties( tint2 PROPERTIES COMPILE_FLAGS "-Wall -pthread" )
+set_target_properties(tint2 PROPERTIES LINK_FLAGS "-pthread" )
 
 install( TARGETS tint2 DESTINATION bin )
 install( FILES sample/tint2rc DESTINATION ${SYSCONFDIR}/xdg/tint2 )
This page took 0.020368 seconds and 4 git commands to generate.