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