Prepare 1.0 alpha3 release.
[tagua/yd.git] / src / CMakeLists.txt
blobb9eddd0b4a65a9fe6e83e0459f8a11de7381aef4
2 set(tagua_SRC
3   controllers/editgame.cpp
4   controllers/abstract.cpp
5   controllers/editposition.cpp
6   controllers/entitytoken.cpp
8   loader/image.cpp
9   loader/theme.cpp
10   loader/context.cpp
12   luaapi/lfunclib.c
13   luaapi/options.cpp
14   luaapi/luahl.cpp
15   luaapi/genericwrapper.cpp
16   luaapi/loader.cpp
17   luaapi/imaging.cpp
18   luaapi/luavalue.cpp
20   entities/gameentity.cpp
21   entities/userentity.cpp
22   entities/examinationentity.cpp
23   entities/entity.cpp
24   entities/engineentity.cpp
25   entities/icsentity.cpp
26   
27   hlvariant/chess/variant.cpp
28   hlvariant/chess/san.cpp
29   hlvariant/chess/icsverbose.cpp
30   hlvariant/chess/move.cpp
31   hlvariant/chess/gamestate.cpp
32   hlvariant/chess/piece.cpp
33   hlvariant/chess/actions.cpp
34   
35   hlvariant/dummy/variant.cpp
36   
37   hlvariant/crazyhouse/variant.cpp
38   hlvariant/crazyhouse/piece.cpp
39   
40   hlvariant/minichess5/variant.cpp
41   
42   hlvariant/shogi/variant.cpp
43   hlvariant/shogi/piece.cpp
44   hlvariant/shogi/shogiactions.cpp
46   hlvariant/minishogi/variant.cpp
48   hlvariant/sho-shogi/variant.cpp
50   hlvariant/tori-shogi/variant.cpp
51   hlvariant/tori-shogi/piece.cpp
53   animationfactory.cpp
54   constrainedtext.cpp
55   movelist.cpp
56   infodisplay.cpp
57   engineinfo.cpp
58   premove.cpp
59   mainanimation.cpp
60   random.cpp
61   point.cpp
62   sprite.cpp
63   pref_movelist.cpp
64   option.cpp
65   graphicalsystem.cpp
66   agentgroup.cpp
67   graphicalgame.cpp
68   imageeffects.cpp
69   crash.cpp
70   flash.cpp
71   histlineedit.cpp
72   pathinfo.cpp
73   pref_theme.cpp
74   gameinfo.cpp
75   console.cpp
76   animation.cpp
77   pref_engines.cpp
78   clock.cpp
79   chesstable.cpp
80   index.cpp
81   mastersettings.cpp
82   location.cpp
83   hline.cpp
84   xboardengine.cpp
85   gnushogiengine.cpp
86   settings.cpp
87   positioninfo.cpp
88   engine.cpp
89   ui.cpp
90   movelist_widget.cpp
91   pref_preferences.cpp
92   poolinfo.cpp
93   pixmaploader.cpp
94   qconnect.cpp
95   pref_board.cpp
96   game.cpp
97   piecepool.cpp
98   movelist_textual.cpp
99   icsconnection.cpp
100   mainwindow.cpp
101   board.cpp
102   common.cpp
103   pgnparser.cpp
104   movement.cpp
105   connection.cpp
106   movelist_table.cpp
107   newgame.cpp
108   option_p.cpp
109   themeinfo.cpp
110   namedsprite.cpp
111   icsgamedata.cpp
112   turnpolicy.cpp
113   decoratedmove.cpp
114   variants.cpp
115   actioncollection.cpp
116   tabwidget.cpp
119 # remove spurious xpressive warnings
120 set_source_files_properties(icsconnection.cpp
121   PROPERTIES COMPILE_FLAGS -Wno-extra)
123 kde4_add_ui_files(tagua_SRC
124   ui/pref_highlight.ui
125   ui/newgamedialog.ui
126   ui/pref_engines.ui
127   ui/preferences.ui
128   ui/gametags.ui
129   ui/pref_movelist.ui
130   ui/quickconnect.ui
131   ui/pref_theme.ui
132   ui/pref_theme_page.ui
133   ui/pref_board.ui
136 include_directories(
137   ${KDE4_INCLUDES}
138   ${LUA_INCLUDE_DIRS}
139   ${Boost_INCLUDE_DIRS}
140   ${BLITZ_INCLUDES}
141   ${CMAKE_CURRENT_BINARY_DIR}
144 add_definitions(
145   ${LUA_CFLAGS}
148 if(NOT DEFINED COMPILER_HAVE_X86_MMX)
149   check_cxx_source_compiles(" int main() { __asm__(\"pxor %mm0, %mm0\") ; }" COMPILER_HAVE_X86_MMX)
150 endif(NOT DEFINED COMPILER_HAVE_X86_MMX)
152 if(NOT DEFINED COMPILER_HAVE_X86_SSE2)
153   check_cxx_source_compiles(" int main() { __asm__(\"xorpd %xmm0, %xmm0\"); }" COMPILER_HAVE_X86_SSE2)
154 endif(NOT DEFINED COMPILER_HAVE_X86_SSE2)
156 if(COMPILER_HAVE_X86_MMX)
157   list(APPEND tagua_SRC imageeffects_mmx.cpp)
158   set_source_files_properties(imageeffects_mmx.cpp PROPERTIES COMPILE_FLAGS -mmmx)
159   set_source_files_properties(imageeffects.cpp PROPERTIES COMPILE_FLAGS -DHAVE_X86_MMX)
160 endif(COMPILER_HAVE_X86_MMX)
162 if(COMPILER_HAVE_X86_SSE2)
163   list(APPEND tagua_SRC imageeffects_sse.cpp)
164   set_source_files_properties(imageeffects_sse.cpp PROPERTIES COMPILE_FLAGS -msse2)
165   set_source_files_properties(imageeffects.cpp PROPERTIES COMPILE_FLAGS -DHAVE_X86_SSE2)
166 endif(COMPILER_HAVE_X86_SSE2)
168 if(DEBUG_BUILD)
169   set(TAGUA_TARGET taguaprivate)
170   
171   kde4_add_library(taguaprivate SHARED ${tagua_SRC})
172   kde4_add_executable(tagua main.cpp)
173 else(DEBUG_BUILD)
174   set(TAGUA_TARGET tagua)
175   kde4_add_executable(tagua main.cpp ${tagua_SRC})
176 endif(DEBUG_BUILD)
179 link_directories(
180   ${LUA_LIBRARY_DIRS}
181   ${Boost_LIBRARY_DIRS}
182   ${CMAKE_BINARY_DIR}/lib
184 target_link_libraries(${TAGUA_TARGET}
185   ${LUA_LDFLAGS}
186   ${KDE4_KDEUI_LIBS}
187   ${KDE4_KIO_LIBS}
188   ${BLITZ_LIBRARIES}
189   dl
190   kdegames
191 )  
192   
193 if(DEBUG_BUILD)
194   target_link_libraries(tagua taguaprivate)
195   install(TARGETS taguaprivate DESTINATION ${LIB_INSTALL_DIR})
196 endif(DEBUG_BUILD)
199 INSTALL(TARGETS tagua DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
200 install(FILES tagua.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
201 install(FILES taguaui.rc DESTINATION  ${DATA_INSTALL_DIR}/tagua)