summaryrefslogtreecommitdiffstats
path: root/tdescreensaver/kdesavers/CMakeLists.txt
blob: 16eb09a8901b8e34f8affb07116d1f3d4c653008 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#################################################
#
#  (C) 2011 Golubev Alexander
#  fatzer2 (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

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 ${CMAKE_SOURCE_DIR}/translations/desktop_files/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 )