################################################# # # (C) 2010-2011 Serghei Amelian # serghei (DOT) amelian (AT) gmail.com # # Improvements and feedback are welcome # ################################################# cmake_minimum_required( VERSION 2.6 ) ##### general package setup ##################### project( kdebase ) set( PACKAGE kdebase ) set( VERSION "3.5.13" ) ##### include essential cmake modules ########### include( FindPkgConfig ) include( CheckIncludeFile ) include( CheckCSourceRuns ) include( CheckCXXSourceCompiles ) include( CheckLibraryExists ) include( CheckFunctionExists ) include( CheckStructHasMember ) ##### include our cmake modules ################# set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) include( TDEMacros ) ##### setup install paths ####################### include( TDESetupPaths ) tde_setup_paths( ) ##### optional stuff ############################ option( WITH_SASL "Enable SASL support" OFF ) option( WITH_LDAP "Enable LDAP support" OFF ) option( WITH_SAMBA "Enable SAMBA support" OFF ) option( WITH_OPENEXR "Enable openexr support" OFF ) option( WITH_XCOMPOSITE "Enable xcomposite support" OFF ) option( WITH_XCURSOR "Enable xcursor support" OFF ) option( WITH_XFIXES "Enable xfixes support" OFF ) option( WITH_XRANDR "Enable xrandr support" OFF ) option( WITH_LIBUSB "Enable control of some mouse models through libusb" OFF ) option( WITH_LIBRAW1394 "Enable visualization of ieee1394 devices through libraw1394" OFF ) option( WITH_SUDO_KDESU_BACKEND "Use sudo as backend for kdesu (default is su)" OFF ) option( WITH_PAM "kdm should use PAM" OFF ) option( WITH_SHADOW "kdm should use shadow passwords" OFF ) option( WITH_XDMCP "xdmcp support for kdm" OFF ) option( WITH_XINERAMA "Enable xinerama extension support" OFF ) option( WITH_ARTS "Enable aRts support" OFF ) option( WITH_I8K "Enable Dell laptop support (ksysguard)" OFF ) option( WITH_HAL "Enable HAL support" OFF ) ##### user requested modules #################### option( BUILD_ALL "Build all" OFF ) option( BUILD_L10N "Build l10n" ${BUILD_ALL} ) option( BUILD_PICS "Build pics" ${BUILD_ALL} ) option( BUILD_APPLNK "Build applnk" ${BUILD_ALL} ) option( BUILD_DOC "Build doc" ${BUILD_ALL} ) option( BUILD_LIBKONQ "Build libkonq" ${BUILD_ALL} ) option( BUILD_KCMINIT "Build kcminit" ${BUILD_ALL} ) option( BUILD_KCONTROL "Build kcontrol" ${BUILD_ALL} ) option( BUILD_KWIN "Build kwin" ${BUILD_ALL} ) option( BUILD_KATE "Build kate" ${BUILD_ALL} ) option( BUILD_KONQUEROR "Build konqueror" ${BUILD_ALL} ) option( BUILD_KIOSLAVES "Build kioslaves" ${BUILD_ALL} ) option( BUILD_KICKER "Build kicker" ${BUILD_ALL} ) option( BUILD_KDESKTOP "Build kdesktop" ${BUILD_ALL} ) option( BUILD_KONSOLE "Build konsole" ${BUILD_ALL} ) option( BUILD_KLIPPER "Build klipper" ${BUILD_ALL} ) option( BUILD_KMENUEDIT "Build kmenuedit" ${BUILD_ALL} ) option( BUILD_KDEPRINT "Build kdeprint" ${BUILD_ALL} ) option( BUILD_KPERSONALIZER "Build kpersonalizer" ${BUILD_ALL} ) option( BUILD_KDEPASSWD "Build kdepasswd" ${BUILD_ALL} ) option( BUILD_KTIP "Build ktip" ${BUILD_ALL} ) option( BUILD_KDEEJECT "Build kdeeject" ${BUILD_ALL} ) option( BUILD_KDIALOG "Build kdialog" ${BUILD_ALL} ) option( BUILD_KREADCONFIG "Build kreadconfig" ${BUILD_ALL} ) option( BUILD_KDESU "Build kdesu" ${BUILD_ALL} ) option( BUILD_KDM "Build kdm" ${BUILD_ALL} ) option( BUILD_KSMSERVER "Build ksmserver" ${BUILD_ALL} ) option( BUILD_KSPLASHML "Build ksplashml" ${BUILD_ALL} ) option( BUILD_STARTKDE "Build startkde" ${BUILD_ALL} ) option( BUILD_KFIND "Build kfind" ${BUILD_ALL} ) option( BUILD_DRKONQI "Build drkonqi" ${BUILD_ALL} ) option( BUILD_KDCOP "Build kdcop" ${BUILD_ALL} ) option( BUILD_KDEBUGDIALOG "Build kdebugdialog" ${BUILD_ALL} ) option( BUILD_KNETATTACH "Build knetattach" ${BUILD_ALL} ) option( BUILD_KPAGER "Build kpager" ${BUILD_ALL} ) option( BUILD_KAPPFINDER "Build kappfinder" ${BUILD_ALL} ) option( BUILD_KCHECKPASS "Build kcheckpass" ${BUILD_ALL} ) option( BUILD_KHELPCENTER "Build khelpcenter" ${BUILD_ALL} ) option( BUILD_KHOTKEYS "Build khotkeys" ${BUILD_ALL} ) option( BUILD_KSCREENSAVER "Build kscreensaver" ${BUILD_ALL} ) option( BUILD_KSTART "Build kstart" ${BUILD_ALL} ) option( BUILD_KSYSTRAYCMD "Build ksystraycmd" ${BUILD_ALL} ) option( BUILD_NSPLUGINS "Build nsplugins" ${BUILD_ALL} ) option( BUILD_KSYSGUARD "Build ksysguard" ${BUILD_ALL} ) option( BUILD_KXKB "Build kxkb" ${BUILD_ALL} ) ##### 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" ) ##### kdebase directories ####################### add_subdirectory( kdmlib ) tde_conditional_add_subdirectory( BUILD_L10N l10n ) tde_conditional_add_subdirectory( BUILD_PICS pics ) tde_conditional_add_subdirectory( BUILD_APPLNK applnk ) tde_conditional_add_subdirectory( BUILD_DOC doc ) tde_conditional_add_subdirectory( BUILD_LIBKONQ libkonq ) tde_conditional_add_subdirectory( BUILD_KCMINIT kcminit ) add_subdirectory( kcontrol ) tde_conditional_add_subdirectory( BUILD_KWIN kwin ) tde_conditional_add_subdirectory( BUILD_KATE kate ) tde_conditional_add_subdirectory( BUILD_KONQUEROR konqueror ) tde_conditional_add_subdirectory( BUILD_KIOSLAVES kioslave ) tde_conditional_add_subdirectory( BUILD_KICKER kicker ) tde_conditional_add_subdirectory( BUILD_KDESKTOP kdesktop ) tde_conditional_add_subdirectory( BUILD_KONSOLE konsole ) tde_conditional_add_subdirectory( BUILD_KLIPPER klipper ) tde_conditional_add_subdirectory( BUILD_KMENUEDIT kmenuedit ) tde_conditional_add_subdirectory( BUILD_KDEPRINT kdeprint ) tde_conditional_add_subdirectory( BUILD_KPERSONALIZER kpersonalizer ) tde_conditional_add_subdirectory( BUILD_KDEPASSWD kdepasswd ) tde_conditional_add_subdirectory( BUILD_KTIP ktip ) tde_conditional_add_subdirectory( BUILD_KDEEJECT kdeeject ) tde_conditional_add_subdirectory( BUILD_KDIALOG kdialog ) tde_conditional_add_subdirectory( BUILD_KREADCONFIG kreadconfig ) tde_conditional_add_subdirectory( BUILD_KDESU kdesu ) tde_conditional_add_subdirectory( BUILD_KDM kdm ) tde_conditional_add_subdirectory( BUILD_KSMSERVER ksmserver ) tde_conditional_add_subdirectory( BUILD_KSPLASHML ksplashml ) tde_conditional_add_subdirectory( BUILD_KFIND kfind ) tde_conditional_add_subdirectory( BUILD_DRKONQI drkonqi ) tde_conditional_add_subdirectory( BUILD_KDCOP kdcop ) tde_conditional_add_subdirectory( BUILD_KDEBUGDIALOG kdebugdialog ) tde_conditional_add_subdirectory( BUILD_KNETATTACH knetattach ) tde_conditional_add_subdirectory( BUILD_KPAGER kpager ) tde_conditional_add_subdirectory( BUILD_KAPPFINDER kappfinder ) tde_conditional_add_subdirectory( BUILD_KCHECKPASS kcheckpass ) tde_conditional_add_subdirectory( BUILD_KHELPCENTER khelpcenter ) tde_conditional_add_subdirectory( BUILD_KHOTKEYS khotkeys ) tde_conditional_add_subdirectory( BUILD_KSCREENSAVER kscreensaver ) tde_conditional_add_subdirectory( BUILD_KSTART kstart ) tde_conditional_add_subdirectory( BUILD_KSYSTRAYCMD ksystraycmd ) tde_conditional_add_subdirectory( BUILD_NSPLUGINS nsplugins ) tde_conditional_add_subdirectory( BUILD_KSYSGUARD ksysguard ) tde_conditional_add_subdirectory( BUILD_KXKB kxkb ) ##### install startkde & related stuff ########## if( BUILD_STARTKDE ) install( PROGRAMS startkde DESTINATION ${BIN_INSTALL_DIR} ) endif() ##### write configure files ##################### configure_file( config.h.cmake config.h @ONLY )