Clean up CMakeLists.txt
git-svn-id: http://tint2.googlecode.com/svn/trunk@686 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
5bd4bcf727
commit
f527a2639b
1 changed files with 18 additions and 14 deletions
|
@ -1,6 +1,12 @@
|
||||||
project( tint2 )
|
project( tint2 )
|
||||||
cmake_minimum_required( VERSION 2.6 )
|
cmake_minimum_required( VERSION 2.6 )
|
||||||
|
|
||||||
|
option( ENABLE_BATTERY "Enable battery status plugin" ON )
|
||||||
|
option( ENABLE_TINT2CONF "Enable tint2conf build, a GTK+2 theme configurator for tint2" ON )
|
||||||
|
option( ENABLE_EXAMPLES "Install additional tin2rc examples" OFF )
|
||||||
|
option( ENABLE_RSVG "Rsvg support (launcher only)" ON )
|
||||||
|
option( ENABLE_SN "Startup notification support" ON )
|
||||||
|
|
||||||
include( FindPkgConfig )
|
include( FindPkgConfig )
|
||||||
include( CheckLibraryExists )
|
include( CheckLibraryExists )
|
||||||
pkg_check_modules( X11 REQUIRED x11 xcomposite xdamage xinerama xrender xrandr>=1.3 )
|
pkg_check_modules( X11 REQUIRED x11 xcomposite xdamage xinerama xrender xrandr>=1.3 )
|
||||||
|
@ -10,20 +16,20 @@ pkg_check_modules( CAIRO REQUIRED cairo )
|
||||||
pkg_check_modules( GLIB2 REQUIRED glib-2.0 )
|
pkg_check_modules( GLIB2 REQUIRED glib-2.0 )
|
||||||
pkg_check_modules( GOBJECT2 REQUIRED gobject-2.0 )
|
pkg_check_modules( GOBJECT2 REQUIRED gobject-2.0 )
|
||||||
pkg_check_modules( IMLIB2 REQUIRED imlib2>=1.4.2 )
|
pkg_check_modules( IMLIB2 REQUIRED imlib2>=1.4.2 )
|
||||||
pkg_check_modules( RSVG librsvg-2.0>=2.36.0 )
|
pkg_check_modules( RSVG librsvg-2.0>=2.14.0 )
|
||||||
pkg_check_modules( SN libstartup-notification-1.0>=0.12 )
|
pkg_check_modules( SN libstartup-notification-1.0>=0.12 )
|
||||||
|
|
||||||
find_library( RT_LIBRARY rt )
|
find_library( RT_LIBRARY rt )
|
||||||
|
|
||||||
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 )
|
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" )
|
message( FATAL_ERROR "Not all dependencies fulfilled. See https://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 )
|
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}" )
|
string( REPLACE ";" " " FLAGS_REPLACED "${IMLIB2_LDFLAGS}" )
|
||||||
set( CMAKE_REQUIRED_FLAGS "${FLAGS_REPLACED}" )
|
set( CMAKE_REQUIRED_FLAGS "${FLAGS_REPLACED}" )
|
||||||
check_library_exists( "${IMLIB2_LIBRARIES}" "imlib_context_set_display" "${IMLIB2_LIBRARY_DIRS}" IMLIB_BUILD_WITH_X )
|
check_library_exists( "${IMLIB2_LIBRARIES}" "imlib_context_set_display" "${IMLIB2_LIBRARY_DIRS}" IMLIB_BUILD_WITH_X )
|
||||||
if( NOT IMLIB_BUILD_WITH_X )
|
if( NOT IMLIB_BUILD_WITH_X )
|
||||||
message( FATAL_ERROR "Imlib is not build with x support" )
|
message( FATAL_ERROR "Imlib is not built with X support" )
|
||||||
endif( NOT IMLIB_BUILD_WITH_X )
|
endif( NOT IMLIB_BUILD_WITH_X )
|
||||||
|
|
||||||
include_directories( ${PROJECT_BINARY_DIR}
|
include_directories( ${PROJECT_BINARY_DIR}
|
||||||
|
@ -65,11 +71,6 @@ set( SOURCES src/config.c
|
||||||
src/util/timer.c
|
src/util/timer.c
|
||||||
src/util/window.c )
|
src/util/window.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_RSVG "Rsvg support (launcher only)" ON )
|
|
||||||
|
|
||||||
if( ENABLE_BATTERY )
|
if( ENABLE_BATTERY )
|
||||||
set( SOURCES ${SOURCES} src/battery/battery.c )
|
set( SOURCES ${SOURCES} src/battery/battery.c )
|
||||||
add_definitions( -DENABLE_BATTERY )
|
add_definitions( -DENABLE_BATTERY )
|
||||||
|
@ -78,27 +79,30 @@ endif( ENABLE_BATTERY )
|
||||||
if( ENABLE_RSVG )
|
if( ENABLE_RSVG )
|
||||||
if( RSVG_FOUND )
|
if( RSVG_FOUND )
|
||||||
add_definitions( -DHAVE_RSVG )
|
add_definitions( -DHAVE_RSVG )
|
||||||
|
else()
|
||||||
|
message( FATAL_ERROR "SVG support enabled yet dependency not fulfilled: librsvg-2.0" )
|
||||||
endif( RSVG_FOUND )
|
endif( RSVG_FOUND )
|
||||||
endif( ENABLE_RSVG )
|
endif( ENABLE_RSVG )
|
||||||
|
|
||||||
option( ENABLE_SN "Startup notification support" ON )
|
|
||||||
if( ENABLE_SN )
|
if( ENABLE_SN )
|
||||||
if( SN_FOUND )
|
if( SN_FOUND )
|
||||||
add_definitions( -DHAVE_SN -DSN_API_NOT_YET_FROZEN )
|
add_definitions( -DHAVE_SN -DSN_API_NOT_YET_FROZEN )
|
||||||
|
else()
|
||||||
|
message( FATAL_ERROR "Startup notification support enabled yet dependency not fulfilled: libstartup-notification-1.0" )
|
||||||
endif( SN_FOUND )
|
endif( SN_FOUND )
|
||||||
endif( ENABLE_SN)
|
endif( ENABLE_SN)
|
||||||
|
|
||||||
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 )
|
if( ENABLE_TINT2CONF )
|
||||||
add_definitions( -DHAVE_VERSION_H )
|
add_definitions( -DHAVE_VERSION_H )
|
||||||
add_subdirectory( src/tint2conf )
|
add_subdirectory( src/tint2conf )
|
||||||
add_dependencies( tint2conf version )
|
add_dependencies( tint2conf version )
|
||||||
endif( ENABLE_TINT2CONF )
|
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_custom_target( version ALL "${PROJECT_SOURCE_DIR}/get_svnrev.sh" "\"${PROJECT_SOURCE_DIR}\"" )
|
||||||
|
|
||||||
link_directories( ${X11_LIBRARY_DIRS}
|
link_directories( ${X11_LIBRARY_DIRS}
|
||||||
|
|
Loading…
Reference in a new issue