################################################# # # (C) 2011 Golubev Alexander # fatzer2 (AT) gmail.com # # Improvements and feedback are welcome # # This file is released under GPL >= 2 # ################################################# if( BUILD_TDEASCIIQUARIUM AND BUILD_TDESCREENSAVER ) add_subdirectory( tdeasciiquarium ) endif() include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${TDE_INCLUDE_DIR} ${TQT_INCLUDE_DIRS} ) link_directories( ${TQT_LIBRARY_DIRS} ${TDE_LIB_DIR} ) # ##### The "normal" screensavers ############### set( kbanner_SOURCES banner.cpp ) set( kbanner_DESKTOP KBanner.desktop ) set( kpolygon_SOURCES polygon.cpp ) set( kpolygon_DESKTOP KPolygon.desktop ) set( klines_SOURCES lines.cpp ) set( klines_DESKTOP KLines-saver.desktop ) set( klorenz_SOURCES lorenz.cpp ) set( klorenz_DESKTOP KLorenz.desktop ) set( kslideshow_SOURCES slideshow.cpp slideshowcfg.ui ) set( kslideshow_DESKTOP KSlideshow.desktop ) set( kblob_SOURCES blob.cpp ) set( kblob_DESKTOP KBlob.desktop ) set( kvm_SOURCES kvm.cpp vm.c vm_random.c ) set( kvm_DESKTOP KVm.desktop ) set( kslideshow_LINK tdeio-shared ) set( NORMAL_SCREENSAVERS kbanner kpolygon kslideshow klines klorenz kblob kvm ) ##### X11 screensavers ########################## set( kscience_SOURCES science.cpp ) set( kscience_DESKTOP KScience.desktop ) set( X11_SCREENSAVERS kscience) ##### The GL screensavers ####################### set( kfountain_SOURCES fountain.cpp fountaincfg.ui ) set( kfountain_DESKTOP KFountain.desktop ) set( kwave_SOURCES wave.cpp wavecfg.ui ) set( kwave_DESKTOP KWave.desktop ) set( kgravity_SOURCES gravity.cpp gravitycfg.ui ) set( kgravity_DESKTOP KGravity.desktop ) set( kflux_SOURCES Flux.cpp ) set( kflux_DESKTOP KFlux.desktop ) set( keuphoria_SOURCES Euphoria.cpp ) set( keuphoria_DESKTOP KEuphoria.desktop ) set( ksolarwinds_SOURCES SolarWinds.cpp ) set( ksolarwinds_DESKTOP KSolarWinds.desktop ) set( krotation_SOURCES rotation.cpp rotationcfg.ui sspreviewarea.cpp rkodesolver.cpp vec3.cpp ) set( krotation_DESKTOP KRotation.desktop ) set( kpendulum_SOURCES pendulum.cpp pendulumcfg.ui sspreviewarea.cpp rkodesolver.cpp ) set( kpendulum_DESKTOP KPendulum.desktop ) set( OPENGL_SCREENSAVERS kfountain kwave kgravity kflux keuphoria ksolarwinds krotation kpendulum ) ##### The GL-Arts screensavers ################## set( kfiresaver_SOURCES firesaversetup.ui firesaverparticle.cpp firesaverwriter.cpp firesaver.cpp ) set( kfiresaver_DESKTOP KFiresaver.desktop ) set( kfiresaver_LINK artskde-shared ) set( GL_ARTS_SCREENSAVERS kfiresaver ) ##### The LIBART screensavers ################### set( kclock_SOURCES kclock.cpp ) set( kclock_DESKTOP KClock.desktop ) set( LIBART_SCREENSAVERS kclock ) ##### LIBART conditions ######################### if( WITH_LIBART ) list( APPEND SCREENSAVERS ${LIBART_SCREENSAVERS} ) include_directories( ${LIBART_INCLUDE_DIRS} ) link_directories( ${LIBART_LIBRARY_DIRS} ) foreach( saver ${LIBART_SCREENSAVERS} ) list ( APPEND ${saver}_LINK ${LIBART_LIBRARIES} ) endforeach( saver ${LIBART_SCREENSAVERS} ) endif( WITH_LIBART ) ##### GL conditions ############################# if( WITH_OPENGL ) if( WITH_ARTS ) list( APPEND OPENGL_SCREENSAVERS ${GL_ARTS_SCREENSAVERS} ) endif( WITH_ARTS ) list( APPEND SCREENSAVERS ${OPENGL_SCREENSAVERS} ) include_directories( ${OPENGL_INCLUDE_DIRS} ) link_directories( ${OPENGL_LIBRARY_DIRS} ) foreach( saver ${OPENGL_SCREENSAVERS} ) list ( APPEND ${saver}_LINK ${OPENGL_LIBRARIES} ) endforeach( saver ${OPENGL_SCREENSAVERS} ) endif( WITH_OPENGL ) ##### add normal screensavers ################### # FIXME: check for X includes/libraries # this screensavers will work only in X list( APPEND SCREENSAVERS ${X11_SCREENSAVERS} ) list( APPEND SCREENSAVERS ${NORMAL_SCREENSAVERS} ) ##### create install/compile rules ############## foreach( saver ${SCREENSAVERS} ) tde_add_executable( ${saver}.kss AUTOMOC SOURCES ${${saver}_SOURCES} LINK tdescreensaver-shared tdeui-shared ${${saver}_LINK} DESTINATION ${BIN_INSTALL_DIR} ) tde_create_translated_desktop( SOURCE ${${saver}_DESKTOP} DESTINATION ${APPS_INSTALL_DIR}/System/ScreenSavers PO_DIR tdescreensaver-desktops ) endforeach( saver ${SCREENSAVERS} ) ##### install various data ###################### install( FILES image.png kscience.png particle.png DESTINATION ${DATA_INSTALL_DIR}/tdescreensaver ) # Actually the only screensaver tha uses this data is kfiresaver add_subdirectory( data )