summaryrefslogblamecommitdiff
path: root/src/CMakeLists.txt
blob: 929a1042a0488f9440271b64ab7e6f91365bee49 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12










                                










                                                           


                                             









                                                                
                                                    


                                                        

                                             
       
                                  
 






















                                              






























                                                                                 
                                 
                                
                                
                               
                                  
                                


                              
                                    
                                   


                                       
                                
                                  
                                        
                           
                            
                             
                             
                             
                                   




                                          
                              
                                   
                                     
                                  
                                     
                                        
                           
                           
                                       
                           
                             
                              
                                 


                                     
                                     








                                         
                             


                                          
                                   
                         
                                
                          
                               
                              
                                
                            
                            

                             
                                
                             
                                
                                        
                                   
                                 




                                 
                             




                                     
                              
                              
                                
                             


                                       
                                  
                            


                                     


                             
                              
                             
                                 
                                 
                            
                          
                              
                                  
                               
                                      
                                           
                                       
                                     
                                      
                                          
                                     
                                      
                                       
                                
                                    
                            
                              
                            
                             
                                
                                   
                                 
                              
                                
                                
                                
                               
                            
                            




                               
                                 
                                 
                                   
                         
                               


                                   
                             
                                 










                                        
                                   
















                                    


                        




                                    




                              


















                                     
                      
                   
                            




                                  
                    


                                
                               




                                       
                                   


















                                         
                         
                      
                           
                               
                                






                                  
                               


                                
                            
                
                 
                   




                                    


                       
                               
                      
                                     
                      
                   
                             

                     
                        


                          
                          








                        
                   
                      
                    
                    
                       
                             
                     
                    
                      
                      
                    





                              
                           
                         
                              
                               
                      
                             
                             
                           


                            
                        
                                
                           
                     
                        
                            
                         
                           
                            
                       
                     
                       
                             
                         


                             
                           
                             
                          
                        
                              
                        
                          
                          
                       
                           
                           
                         


                              
                                   
                           
                         
                             
                         


                              


                                 
                                 
                                         
                                
                          
                           
                            
                              
                             
                           
                            
                           
                               
                             
                               
                          
                                    
                            
                          
                           
                             




                                            
                    
                        
                        
                 
                   
                
                   
                    
                   
                           
                   
                     
                   
                        
                              
                              
                         
                         
                     
                        
                           
                       
                           
                         
                        
                   



                   
                      


                         
                     


                         
                     
                      
                                   
                                
                                   
                              
                              
                    
                      
                          
                                  
                      
              
                   
                       
                           
                          
                     
                       
                         
                    
                  
              
                      
                
                     
                        
                            
                  
                              
                     
           
                
            
              


                     
                         
               
                     


                 
                       
                       
                        
             
                    
                              






                    
                        




                     
                       
                          
                          
                     
                       




                            
                       
                    
                   
                          
                               
                 
                         
                  
              
            
                             
                             
                            
                         
                             
                                
                             
                              
                             
                                 
                                  
                           
                            
                                  
                  
                                   
                      


                         
                                   

                     
             
                          
                                     
                                 
                        
                                
                                        
                        
                      
                              
                       





                                  
                           
                             
                               
             
                                
                        
                            
                             
                            
                            
                                       
                                
                                    
                
                              
                                  
                                   
                                   


                                 
                                   
                          
                                  
               
                


                       
                 
                    
            
           
                    
                              


                   
                             
                           


                    



                  
                               
                        
                              
                                
                    
                    
                    
                 
                     
                  
               
                    
                             
                               
                  
                             
                                 
                                        
                                 
                          
               
                     
                           
                          
                                 
                       
                        
                           
                             
                               
                                   
                                
              
                           
                                 
                              
                                      
                    
                        
                              
                              
                                         
                                 
                                  
                    
                 
                          
                 
                
                          
                                   
     
             


                           




                             
                                

                          
                         
                          
                           
                               
                          
                           
                      
                         
                           
                            
                           
                  
                           
     





                             
                    






























                                  
                           

                              
                             
                             
                     


                             





                                
                       

































                                     
                                
                        


                                
          
               
                               
                   



                       
                   
                                                                                    
                    
                                                                    
                     










                              










                                                                            
FIND_PACKAGE(SDL REQUIRED)
FIND_PACKAGE(SDL_image REQUIRED)
FIND_PACKAGE(SDL_mixer REQUIRED)
FIND_PACKAGE(SDL_net REQUIRED)
FIND_PACKAGE(SDL_ttf REQUIRED)
FIND_PACKAGE(SDL_gfx REQUIRED)
FIND_PACKAGE(CURL REQUIRED)
FIND_PACKAGE(LibXml2 REQUIRED)
FIND_PACKAGE(PhysFS REQUIRED)
FIND_PACKAGE(PNG REQUIRED)
FIND_PACKAGE(Gettext REQUIRED)

IF (POLICY CMP0015)
  CMAKE_POLICY(SET CMP0015 OLD)
ENDIF()

SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"")
SET(FLAGS "${FLAGS} -DPKG_DATADIR=\\\"${PKG_DATADIR}/\\\"")
SET(FLAGS "${FLAGS} -DLOCALEDIR=\\\"${LOCALEDIR}/\\\"")

IF (ENABLE_NLS)
    SET(FLAGS "${FLAGS} -DENABLE_NLS=1")
ENDIF()

IF (ENABLE_EATHENA)
    SET(FLAGS "${FLAGS} -DEATHENA_SUPPORT=1")
ENDIF()

IF (CMAKE_BUILD_TYPE)
    STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
    IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug OR
       CMAKE_BUILD_TYPE_TOLOWER MATCHES relwithdebinfo)
        SET(FLAGS "${FLAGS} -DDEBUG")
    ENDIF()
ENDIF()

IF (WIN32)
    SET(EXTRA_LIBRARIES ws2_32 winmm)
    FIND_PACKAGE(LibIntl REQUIRED)
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR BEOS)
    FIND_PACKAGE(LibIntl REQUIRED)
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL SunOS)
    # explicit linking to libintl is required on Solaris
    SET(EXTRA_LIBRARIES intl)
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL Linux)
    #some distros need this explicitly linked
    SET(EXTRA_LIBRARIES rt)
ENDIF()

SET(FLAGS "${FLAGS} -DUSE_MUMBLE")

IF (WITH_OPENGL)
    FIND_PACKAGE(OpenGL REQUIRED)
    INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
    SET(FLAGS "${FLAGS} -DUSE_OPENGL")
ENDIF (WITH_OPENGL)

IF (USE_X11)
    FIND_PACKAGE(X11 REQUIRED)
    INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
    SET(FLAGS "${FLAGS} -DUSE_X11")
ENDIF (USE_X11)

INCLUDE_DIRECTORIES(
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${SDL_INCLUDE_DIR}
    ${SDLIMAGE_INCLUDE_DIR}
    ${SDLMIXER_INCLUDE_DIR}
    ${SDLNET_INCLUDE_DIR}
    ${SDLTTF_INCLUDE_DIR}
    ${SDLGFX_INCLUDE_DIR}
    ${PNG_INCLUDE_DIR}
    ${PHYSFS_INCLUDE_DIR}
    ${CURL_INCLUDE_DIR}
    ${LIBXML2_INCLUDE_DIR}
    )

# enable rc-handling with mingw
# most likely this part can be kicked out with some later cmake version
IF (MINGW)
    FIND_PATH(MINGW_INCLUDE_DIR windows.h $ENV{INCLUDE})
    IF (MINGW_INCLUDE_DIR)
        MESSAGE(STATUS "Found mingw headers: ${MINGW_INCLUDE_DIR}")
        INCLUDE_DIRECTORIES(${MINGW_INCLUDE_DIR})
    ELSE()
        MESSAGE(FATAL_ERROR "Unable to find mingw headers. Required for windres")
    ENDIF()
    SET(CMAKE_RC_COMPILER_INIT windres)
    ENABLE_LANGUAGE(RC)
    SET(CMAKE_RC_COMPILE_OBJECT
      "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -O coff -o <OBJECT> <SOURCE>")
ENDIF()

# Fix some stuff that gets not hidden by mainline modules
MARK_AS_ADVANCED(PHYSFS_INCLUDE_DIR)
MARK_AS_ADVANCED(PHYSFS_LIBRARY)
MARK_AS_ADVANCED(SDLIMAGE_INCLUDE_DIR)
MARK_AS_ADVANCED(SDLIMAGE_LIBRARY)
MARK_AS_ADVANCED(SDLMAIN_LIBRARY)
MARK_AS_ADVANCED(SDLMIXER_INCLUDE_DIR)
MARK_AS_ADVANCED(SDLMIXER_LIBRARY)
MARK_AS_ADVANCED(SDLNET_INCLUDE_DIR)
MARK_AS_ADVANCED(SDLNET_LIBRARY)
MARK_AS_ADVANCED(SDL_INCLUDE_DIR)
MARK_AS_ADVANCED(SDL_LIBRARY)

SET(SRCS
    gui/widgets/avatarlistbox.cpp
    gui/widgets/avatarlistbox.h
    gui/models/avatarlistmodel.h
    gui/models/beingslistmodel.h
    gui/models/colorlistmodel.h
    gui/widgets/tabs/battletab.cpp
    gui/widgets/tabs/battletab.h
    gui/widgets/browserbox.cpp
    gui/widgets/browserbox.h
    gui/widgets/button.cpp
    gui/widgets/button.h
    gui/widgets/characterdisplay.cpp
    gui/widgets/characterdisplay.h
    gui/widgets/characterviewbase.h
    gui/widgets/characterviewnormal.cpp
    gui/widgets/characterviewnormal.h
    gui/widgets/characterviewsmall.cpp
    gui/widgets/characterviewsmall.h
    gui/widgets/tabs/chattab.cpp
    gui/widgets/tabs/chattab.h
    gui/widgets/tabs/chattabtype.h
    gui/widgets/tabs/debugwindowtabs.cpp
    gui/widgets/tabs/debugwindowtabs.h
    gui/widgets/chatinput.h
    gui/widgets/checkbox.cpp
    gui/widgets/checkbox.h
    gui/models/colormodel.cpp
    gui/models/colormodel.h
    gui/widgets/colorpage.cpp
    gui/widgets/colorpage.h
    gui/widgets/container.cpp
    gui/widgets/container.h
    gui/widgets/containerplacer.cpp
    gui/widgets/containerplacer.h
    gui/widgets/desktop.cpp
    gui/widgets/desktop.h
    gui/widgets/dropdown.cpp
    gui/widgets/dropdown.h
    gui/widgets/emoteshortcutcontainer.cpp
    gui/widgets/emoteshortcutcontainer.h
    gui/widgets/equipmentbox.h
    gui/widgets/extendedlistbox.cpp
    gui/widgets/extendedlistbox.h
    gui/widgets/extendedlistboxitem.h
    gui/models/extendedlistmodel.h
    gui/models/extendednamesmodel.cpp
    gui/models/extendednamesmodel.h
    gui/models/fontsizechoicelistmodel.h
    gui/models/fontsmodel.h
    gui/models/iconsmodel.h
    gui/models/ignorechoiceslistmodel.h
    gui/models/itemsmodel.h
    gui/models/keylistmodel.h
    gui/models/langlistmodel.h
    gui/widgets/flowcontainer.cpp
    gui/widgets/flowcontainer.h
    gui/widgets/tabs/gmtab.cpp
    gui/widgets/tabs/gmtab.h
    gui/widgets/tabs/guildchattab.cpp
    gui/widgets/tabs/guildchattab.h
    gui/widgets/horizontcontainer.cpp
    gui/widgets/horizontcontainer.h
    gui/widgets/icon.cpp
    gui/widgets/icon.h
    gui/widgets/inttextfield.cpp
    gui/widgets/inttextfield.h
    gui/widgets/itemcontainer.cpp
    gui/widgets/itemcontainer.h
    gui/widgets/itemlinkhandler.cpp
    gui/widgets/itemlinkhandler.h
    gui/widgets/dropshortcutcontainer.cpp
    gui/widgets/dropshortcutcontainer.h
    gui/widgets/emotepage.cpp
    gui/widgets/emotepage.h
    gui/widgets/itemshortcutcontainer.cpp
    gui/widgets/itemshortcutcontainer.h
    gui/widgets/spellshortcutcontainer.cpp
    gui/widgets/spellshortcutcontainer.h
    gui/widgets/statuswindowattrs.h
    gui/widgets/label.cpp
    gui/widgets/label.h
    gui/widgets/tabs/langtab.cpp
    gui/widgets/tabs/langtab.h
    gui/widgets/layout.cpp
    gui/widgets/layout.h
    gui/widgets/layoutarray.cpp
    gui/widgets/layoutarray.h
    gui/widgets/layoutcell.cpp
    gui/widgets/layoutcell.h
    gui/widgets/layouthelper.cpp
    gui/widgets/layouthelper.h
    gui/widgets/layouttype.h
    gui/widgets/linepart.cpp
    gui/widgets/linepart.h
    gui/widgets/linkhandler.h
    gui/widgets/listbox.cpp
    gui/widgets/listbox.h
    gui/models/modelistmodel.cpp
    gui/models/modelistmodel.h
    gui/models/namesmodel.cpp
    gui/models/namesmodel.h
    gui/models/opengllistmodel.h
    gui/models/playerrelationlistmodel.h
    gui/models/playertablemodel.cpp
    gui/models/playertablemodel.h
    gui/models/questsmodel.h
    gui/models/serverslistmodel.h
    gui/widgets/passwordfield.cpp
    gui/widgets/passwordfield.h
    gui/widgets/playerbox.cpp
    gui/widgets/playerbox.h
    gui/widgets/popup.cpp
    gui/widgets/popup.h
    gui/widgets/popuplist.cpp
    gui/widgets/popuplist.h
    gui/widgets/progressbar.cpp
    gui/widgets/progressbar.h
    gui/widgets/progressindicator.cpp
    gui/widgets/progressindicator.h
    gui/widgets/radiobutton.cpp
    gui/widgets/radiobutton.h
    gui/widgets/radiogroup.cpp
    gui/widgets/radiogroup.h
    gui/widgets/scrollarea.cpp
    gui/widgets/scrollarea.h
    gui/widgets/serverslistbox.h
    gui/widgets/setupitem.cpp
    gui/widgets/setupitem.h
    gui/widgets/tabs/setuptab.cpp
    gui/widgets/tabs/setuptab.h
    gui/widgets/tabs/setuptabscroll.cpp
    gui/widgets/tabs/setuptabscroll.h
    gui/widgets/setuptouchitem.cpp
    gui/widgets/setuptouchitem.h
    gui/models/shopitems.cpp
    gui/models/shopitems.h
    gui/widgets/shoplistbox.cpp
    gui/widgets/shoplistbox.h
    gui/widgets/shortcutcontainer.cpp
    gui/widgets/shortcutcontainer.h
    gui/widgets/skilldata.cpp
    gui/widgets/skilldata.h
    gui/widgets/skillinfo.cpp
    gui/widgets/skillinfo.h
    gui/widgets/skilllistbox.h
    gui/models/skillmodel.cpp
    gui/models/skillmodel.h
    gui/models/sortlistmodelbuy.h
    gui/models/sortlistmodelinv.h
    gui/models/soundsmodel.h
    gui/widgets/slider.cpp
    gui/widgets/slider.h
    gui/widgets/sliderlist.cpp
    gui/widgets/sliderlist.h
    gui/widgets/tabs/shortcuttab.h
    gui/widgets/tabs/skilltab.h
    gui/widgets/tabs/socialattacktab.h
    gui/widgets/tabs/socialfriendsfunctor.h
    gui/widgets/tabs/socialfriendstab.h
    gui/widgets/tabs/socialguildtab.h
    gui/widgets/tabs/socialguildtab2.h
    gui/widgets/tabs/socialnavigationtab.h
    gui/widgets/tabs/socialpartytab.h
    gui/widgets/tabs/socialpickuptab.h
    gui/widgets/tabs/socialplayerstab.h
    gui/widgets/tabs/socialtab.h
    gui/widgets/tabs/socialtabbase.h
    gui/widgets/tabs/tab.cpp
    gui/widgets/tabs/tab.h
    gui/widgets/tabbedarea.cpp
    gui/widgets/tabbedarea.h
    gui/widgets/guitable.cpp
    gui/widgets/guitable.h
    gui/models/tablemodel.cpp
    gui/models/tablemodel.h
    gui/models/targettypemodel.h
    gui/models/touchactionmodel.cpp
    gui/models/touchactionmodel.h
    gui/models/typelistmodel.h
    gui/models/updatetypemodel.h
    gui/models/userstablemodel.h
    gui/models/updatelistmodel.h
    gui/models/worldlistmodel.h
    gui/models/themesmodel.h
    gui/widgets/tabstrip.cpp
    gui/widgets/tabstrip.h
    gui/widgets/textbox.cpp
    gui/widgets/textbox.h
    gui/widgets/textfield.cpp
    gui/widgets/textfield.h
    gui/widgets/textpreview.cpp
    gui/widgets/textpreview.h
    gui/widgets/tabs/tradetab.cpp
    gui/widgets/tabs/tradetab.h
    gui/widgets/vertcontainer.cpp
    gui/widgets/vertcontainer.h
    gui/widgets/tabs/whispertab.cpp
    gui/widgets/tabs/whispertab.h
    gui/widgets/widget2.h
    gui/widgets/widgetgroup.cpp
    gui/widgets/widgetgroup.h
    gui/widgets/window.cpp
    gui/widgets/window.h
    gui/widgets/windowcontainer.cpp
    gui/widgets/windowcontainer.h
    gui/popups/beingpopup.cpp
    gui/popups/beingpopup.h
    gui/popups/createpartypopup.h
    gui/windows/buydialog.cpp
    gui/windows/buydialog.h
    gui/windows/buyselldialog.cpp
    gui/windows/buyselldialog.h
    gui/windows/changeemaildialog.cpp
    gui/windows/changeemaildialog.h
    gui/windows/changepassworddialog.cpp
    gui/windows/changepassworddialog.h
    gui/windows/charselectdialog.cpp
    gui/windows/charselectdialog.h
    gui/windows/charcreatedialog.cpp
    gui/windows/charcreatedialog.h
    gui/windows/chardeleteconfirm.h
    gui/windows/chatwindow.cpp
    gui/windows/chatwindow.h
    gui/windows/confirmdialog.cpp
    gui/windows/confirmdialog.h
    gui/windows/connectiondialog.cpp
    gui/windows/connectiondialog.h
    gui/windows/debugwindow.cpp
    gui/windows/debugwindow.h
    gui/windows/didyouknowwindow.cpp
    gui/windows/didyouknowwindow.h
    gui/windows/editdialog.cpp
    gui/windows/editdialog.h
    gui/windows/editserverdialog.cpp
    gui/windows/editserverdialog.h
    gui/windows/emotewindow.cpp
    gui/windows/emotewindow.h
    gui/windows/equipmentwindow.cpp
    gui/windows/equipmentwindow.h
    gui/focushandler.cpp
    gui/focushandler.h
    gui/gui.cpp
    gui/gui.h
    gui/windows/helpwindow.cpp
    gui/windows/helpwindow.h
    gui/windows/inventorywindow.cpp
    gui/windows/inventorywindow.h
    gui/windows/itemamountwindow.cpp
    gui/windows/itemamountwindow.h
    gui/popups/itempopup.cpp
    gui/popups/itempopup.h
    gui/popups/spellpopup.cpp
    gui/popups/spellpopup.h
    gui/popups/statuspopup.cpp
    gui/popups/statuspopup.h
    gui/windows/killstats.cpp
    gui/windows/killstats.h
    gui/windows/logindialog.cpp
    gui/windows/logindialog.h
    gui/windows/minimap.cpp
    gui/windows/minimap.h
    gui/windows/ministatuswindow.cpp
    gui/windows/ministatuswindow.h
    gui/windows/npcdialog.cpp
    gui/windows/npcdialog.h
    gui/windows/npcpostdialog.cpp
    gui/windows/npcpostdialog.h
    gui/windows/okdialog.cpp
    gui/windows/okdialog.h
    gui/windows/outfitwindow.cpp
    gui/windows/outfitwindow.h
    gui/windows/botcheckerwindow.cpp
    gui/windows/botcheckerwindow.h
    gui/windows/textcommandeditor.cpp
    gui/windows/textcommandeditor.h
    gui/onlineplayer.h
    gui/palette.cpp
    gui/palette.h
    gui/popups/popupmenu.cpp
    gui/popups/popupmenu.h
    gui/windows/questswindow.cpp
    gui/windows/questswindow.h
    gui/windows/quitdialog.cpp
    gui/windows/quitdialog.h
    gui/windows/registerdialog.cpp
    gui/windows/registerdialog.h
    gui/sdlinput.cpp
    gui/sdlinput.h
    gui/windows/selldialog.cpp
    gui/windows/selldialog.h
    gui/windows/serverdialog.cpp
    gui/windows/serverdialog.h
    gui/windows/setupwindow.cpp
    gui/windows/setupwindow.h
    gui/widgets/tabs/setup_audio.cpp
    gui/widgets/tabs/setup_audio.h
    gui/widgets/tabs/setup_colors.cpp
    gui/widgets/tabs/setup_colors.h
    gui/widgets/tabs/setup_joystick.cpp
    gui/widgets/tabs/setup_joystick.h
    gui/widgets/tabs/setup_mods.cpp
    gui/widgets/tabs/setup_mods.h
    gui/widgets/tabs/setup_other.cpp
    gui/widgets/tabs/setup_other.h
    gui/widgets/tabs/setup_theme.cpp
    gui/widgets/tabs/setup_theme.h
    gui/widgets/tabs/setup_touch.cpp
    gui/widgets/tabs/setup_touch.h
    gui/widgets/tabs/setup_chat.cpp
    gui/widgets/tabs/setup_chat.h
    gui/widgets/tabs/setup_input.cpp
    gui/widgets/tabs/setup_input.h
    gui/widgets/tabs/setup_perfomance.cpp
    gui/widgets/tabs/setup_perfomance.h
    gui/widgets/tabs/setup_relations.cpp
    gui/widgets/tabs/setup_relations.h
    gui/widgets/tabs/setup_players.cpp
    gui/widgets/tabs/setup_players.h
    gui/widgets/tabs/setup_video.cpp
    gui/widgets/tabs/setup_video.h
    gui/widgets/tabs/setup_visual.cpp
    gui/widgets/tabs/setup_visual.h
    gui/setupactiondata.h
    gui/fonts/font.cpp
    gui/fonts/font.h
    gui/fonts/textchunk.cpp
    gui/fonts/textchunk.h
    gui/fonts/textchunklist.cpp
    gui/fonts/textchunklist.h
    gui/fonts/textchunksmall.cpp
    gui/fonts/textchunksmall.h
    gui/windows/shopwindow.cpp
    gui/windows/shopwindow.h
    gui/windows/shortcutwindow.cpp
    gui/windows/shortcutwindow.h
    gui/windows/skilldialog.cpp
    gui/windows/skilldialog.h
    gui/windows/socialwindow.cpp
    gui/windows/socialwindow.h
    gui/popups/speechbubble.cpp
    gui/popups/speechbubble.h
    gui/windows/statuswindow.cpp
    gui/windows/statuswindow.h
    gui/windows/textdialog.cpp
    gui/windows/textdialog.h
    gui/popups/textpopup.cpp
    gui/popups/textpopup.h
    gui/skin.cpp
    gui/skin.h
    gui/theme.cpp
    gui/theme.h
    gui/themeinfo.h
    gui/windows/tradewindow.cpp
    gui/windows/tradewindow.h
    gui/windows/unregisterdialog.cpp
    gui/windows/unregisterdialog.h
    gui/windows/updaterwindow.cpp
    gui/windows/updaterwindow.h
    gui/userpalette.cpp
    gui/userpalette.h
    gui/viewport.cpp
    gui/viewport.h
    gui/windows/whoisonline.cpp
    gui/windows/whoisonline.h
    gui/windowmenu.cpp
    gui/windowmenu.h
    gui/windows/worldselectdialog.cpp
    gui/windows/worldselectdialog.h
    net/adminhandler.h
    net/character.h
    net/charserverhandler.cpp
    net/charserverhandler.h
    net/chathandler.h
    net/download.cpp
    net/download.h
    net/downloadstatus.h
    net/gamehandler.h
    net/generalhandler.h
    net/guildhandler.h
    net/inventoryhandler.h
    net/ea/inventoryitem.h
    net/logindata.h
    net/loginhandler.h
    net/messagehandler.h
    net/messagein.cpp
    net/messagein.h
    net/messageout.cpp
    net/messageout.h
    net/npchandler.h
    net/net.cpp
    net/net.h
    net/netconsts.h
    net/partyhandler.h
    net/partyshare.h
    net/pethandler.h
    net/playerhandler.h
    net/registrationoptions.h
    net/sdltcpnet.cpp
    net/sdltcpnet.h
    net/serverinfo.h
    net/skillhandler.h
    net/tradehandler.h
    net/updatetype.h
    net/worldinfo.h
    net/packetcounters.cpp
    net/packetcounters.h
    resources/action.cpp
    resources/action.h
    resources/ambientlayer.cpp
    resources/ambientlayer.h
    resources/animation.cpp
    resources/animation.h
    resources/atlasitem.h
    resources/atlasmanager.cpp
    resources/atlasmanager.h
    resources/atlasresource.cpp
    resources/atlasresource.h
    resources/attack.h
    resources/db/avatardb.cpp
    resources/db/avatardb.h
    resources/beingcommon.cpp
    resources/beingcommon.h
    resources/beinginfo.cpp
    resources/beinginfo.h
    resources/db/chardb.cpp
    resources/db/chardb.h
    resources/db/colordb.cpp
    resources/db/colordb.h
    resources/cursor.cpp
    resources/cursor.h
    resources/delayedmanager.cpp
    resources/delayedmanager.h
    resources/db/deaddb.cpp
    resources/db/deaddb.h
    resources/dye.cpp
    resources/dye.h
    resources/dyecolor.h
    resources/dyepalette.cpp
    resources/dyepalette.h
    resources/emoteinfo.h
    resources/emotesprite.h
    resources/db/emotedb.cpp
    resources/db/emotedb.h
    resources/fboinfo.h
    resources/frame.h
    resources/image.cpp
    resources/image.h
    resources/imagehelper.cpp
    resources/imagehelper.h
    resources/imagerect.h
    resources/imageset.h
    resources/imageset.cpp
    resources/imagewriter.cpp
    resources/imagewriter.h
    resources/db/itemdb.cpp
    resources/db/itemdb.h
    resources/db/itemdbstat.h
    resources/iteminfo.h
    resources/iteminfo.cpp
    resources/itemslot.h
    resources/itemsoundevent.h
    resources/itemtype.h
    resources/db/mapdb.cpp
    resources/db/mapdb.h
    resources/db/moddb.cpp
    resources/db/moddb.h
    resources/mapinfo.h
    resources/mapitemtype.h
    resources/mapreader.cpp
    resources/mapreader.h
    resources/modinfo.cpp
    resources/modinfo.h
    resources/db/monsterdb.cpp
    resources/db/monsterdb.h
    resources/db/npcdb.cpp
    resources/db/npcdb.h
    resources/openglimagehelper.cpp
    resources/openglimagehelper.h
    resources/questeffect.h
    resources/questitem.h
    resources/questitemtext.h
    resources/questtype.h
    resources/db/palettedb.cpp
    resources/db/palettedb.h
    resources/db/petdb.cpp
    resources/db/petdb.h
    resources/resource.cpp
    resources/resource.h
    resources/resourcemanager.cpp
    resources/resourcemanager.h
    resources/sdl2imagehelper.cpp
    resources/sdl2imagehelper.h
    resources/sdl2softwareimagehelper.cpp
    resources/sdl2softwareimagehelper.h
    resources/sdlimagehelper.cpp
    resources/sdlimagehelper.h
    resources/sdlmusic.cpp
    resources/sdlmusic.h
    resources/skillconsts.h
    resources/db/sounddb.cpp
    resources/db/sounddb.h
    resources/db/weaponsdb.cpp
    resources/db/weaponsdb.h
    resources/soundeffect.cpp
    resources/soundeffect.h
    resources/soundinfo.h
    resources/spriteaction.h
    resources/spritedef.h
    resources/spritedef.cpp
    resources/spritedirection.h
    resources/spritedisplay.h
    resources/spritereference.h
    resources/subimage.cpp
    resources/subimage.h
    resources/surfaceimagehelper.cpp
    resources/surfaceimagehelper.h
    resources/textureatlas.h
    resources/updatefile.h
    resources/wallpaper.cpp
    resources/wallpaper.h
    resources/wallpaperdata.h
    utils/translation/podict.cpp
    utils/translation/podict.h
    utils/translation/poparser.cpp
    utils/translation/poparser.h
    utils/translation/translationmanager.cpp
    utils/translation/translationmanager.h
    utils/base64.cpp
    utils/base64.h
    utils/checkutils.cpp
    utils/checkutils.h
    utils/copynpaste.cpp
    utils/copynpaste.h
    utils/cpu.cpp
    utils/cpu.h
    utils/delete2.h
    utils/dtor.h
    utils/files.cpp
    utils/files.h
    utils/fuzzer.cpp
    utils/fuzzer.h
    utils/gettext.h
    utils/gettexthelper.cpp
    utils/gettexthelper.h
    utils/langs.cpp
    utils/langs.h
    utils/mathutils.h
    utils/paths.cpp
    utils/paths.h
    utils/perfomance.cpp
    utils/perfomance.h
    utils/physfscheckutils.cpp
    utils/physfscheckutils.h
    utils/physfsmemoryobject.h
    utils/physfsrwops.cpp
    utils/physfsrwops.h
    utils/physfstools.cpp
    utils/physfstools.h
    utils/process.cpp
    utils/process.h
    utils/sdl2helper.cpp
    utils/sdl2helper.h
    utils/sdlcheckutils.cpp
    utils/sdlcheckutils.h
    utils/sdlhelper.cpp
    utils/sdlhelper.h
    utils/sdlmemoryobject.h
    utils/stringutils.cpp
    utils/stringutils.h
    utils/stringvector.h
    utils/timer.cpp
    utils/timer.h
    utils/mutex.h
    utils/mkdir.cpp
    utils/mkdir.h
    utils/xml.cpp
    utils/xml.h
    utils/xmlutils.cpp
    utils/xmlutils.h
    test/testlauncher.cpp
    test/testlauncher.h
    test/testmain.cpp
    test/testmain.h
    actionmanager.cpp
    actionmanager.h
    being/actor.cpp
    being/actor.h
    being/actorsprite.cpp
    being/actorsprite.h
    being/actortype.h
    being/attributes.h
    listeners/actorspritelistener.h
    listeners/arrowslistener.cpp
    listeners/arrowslistener.h
    listeners/attributelistener.cpp
    listeners/attributelistener.h
    listeners/awaylistener.cpp
    listeners/awaylistener.h
    listeners/baselistener.hpp
    actormanager.cpp
    actormanager.h
    animatedsprite.cpp
    animatedsprite.h
    animationdelayload.cpp
    animationdelayload.h
    particle/animationparticle.cpp
    particle/animationparticle.h
    auctionmanager.cpp
    auctionmanager.h
    avatar.cpp
    avatar.h
    being/being.cpp
    being/being.h
    being/beingaction.h
    being/beingcacheentry.h
    being/beingdirection.h
    being/beingflag.h
    being/beingspeech.h
    beingequipbackend.cpp
    beingequipbackend.h
    spellmanager.cpp
    spellmanager.h
    chatlogger.cpp
    chatlogger.h
    client.cpp
    client.h
    commandhandler.cpp
    commandhandler.h
    commands.cpp
    commands.h
    configmanager.cpp
    configmanager.h
    being/compounditem.h
    being/compoundsprite.cpp
    being/compoundsprite.h
    being/gender.h
    listeners/configlistener.h
    configuration.cpp
    configuration.h
    debug.h
    defaults.cpp
    defaults.h
    dirs.cpp
    dirs.h
    dragdrop.h
    effectmanager.cpp
    effectmanager.h
    emoteshortcut.cpp
    emoteshortcut.h
    emoteshortcutconsts.h
    equipment.h
    eventsmanager.cpp
    eventsmanager.h
    flooritem.cpp
    flooritem.h
    game.cpp
    game.h
    render/graphics.cpp
    render/graphics.h
    graphicsmanager.cpp
    graphicsmanager.h
    graphicsvertexes.cpp
    graphicsvertexes.h
    guild.cpp
    guild.h
    guildmanager.cpp
    guildmanager.h
    particle/imageparticle.cpp
    particle/imageparticle.h
    imagesprite.cpp
    imagesprite.h
    inventory.cpp
    inventory.h
    item.cpp
    item.h
    itemshortcut.cpp
    itemshortcut.h
    itemsoundmanager.cpp
    itemsoundmanager.h
    dropshortcut.cpp
    dropshortcut.h
    spellshortcut.cpp
    spellshortcut.h
    textcommand.cpp
    textcommand.h
    input/inputaction.h
    input/inputcondition.h
    input/inputmanager.cpp
    input/inputmanager.h
    input/inputtype.h
    events/inputevent.h
    input/joystick.cpp
    input/joystick.h
    input/keyboardconfig.cpp
    input/keyboardconfig.h
    input/keyboarddata.h
    input/keydata.h
    input/keyfunction.h
    input/keyinput.h
    input/keyitem.h
    input/keysortfunctor.h
    input/multitouchmanager.cpp
    input/multitouchmanager.h
    localconsts.h
    being/localplayer.cpp
    being/localplayer.h
    being/pickup.h
    logger.cpp
    logger.h
    main.cpp
    main.h
    resources/map/blockmask.h
    resources/map/blocktype.h
    resources/map/location.h
    resources/map/map.cpp
    resources/map/map.h
    resources/map/mapconsts.h
    resources/map/mapheights.cpp
    resources/map/mapheights.h
    resources/map/mapitem.cpp
    resources/map/mapitem.h
    resources/map/maplayer.cpp
    resources/map/maplayer.h
    resources/map/mapobject.h
    resources/map/mapobjectlist.h
    resources/map/maprowvertexes.h
    resources/map/maptype.h
    resources/map/metatile.h
    resources/map/objectslayer.cpp
    resources/map/objectslayer.h
    render/mgl.cpp
    render/mgl.h
    render/mobileopenglgraphics.cpp
    render/mobileopenglgraphics.h
    input/mouseinput.h
    mumblemanager.cpp
    mumblemanager.h
    navigationmanager.cpp
    navigationmanager.h
    render/normalopenglgraphics.cpp
    render/normalopenglgraphics.h
    notifications.h
    notifymanager.cpp
    notifymanager.h
    options.h
    render/graphicsdef.hpp
    render/graphics_calcImageRect.hpp
    render/graphics_drawImageRect.hpp
    render/nullopenglgraphics.cpp
    render/nullopenglgraphics.h
    render/opengldebug.h
    render/openglgraphicsdef.hpp
    render/openglgraphicsdefadvanced.hpp
    render/renderers.cpp
    render/renderers.h
    render/rendererslistsdl.h
    render/rendererslistsdl2.h
    render/rendertype.h
    particle/particle.cpp
    particle/particle.h
    particle/particlecontainer.cpp
    particle/particlecontainer.h
    particle/particleemitter.cpp
    particle/particleemitter.h
    particle/particleemitterprop.h
    particle/particleinfo.h
    particle/particlelist.cpp
    particle/particlelist.h
    particle/particlevector.cpp
    particle/particlevector.h
    party.cpp
    party.h
    being/playerignorestrategy.h
    being/playerinfo.cpp
    being/playerinfo.h
    being/playerrelation.cpp
    being/playerrelation.h
    being/playerrelations.cpp
    being/playerrelations.h
    being/targetcursorsize.h
    being/targetcursortype.h
    listeners/playerrelationslistener.h
    listeners/renamelistener.cpp
    listeners/renamelistener.h
    listeners/requesttradelistener.h
    position.cpp
    position.h
    resources/map/properties.h
    resources/map/speciallayer.cpp
    resources/map/speciallayer.h
    resources/map/tileanimation.cpp
    resources/map/tileanimation.h
    particle/rotationalparticle.cpp
    particle/rotationalparticle.h
    render/safeopenglgraphics.cpp
    render/safeopenglgraphics.h
    render/sdl2graphics.cpp
    render/sdl2graphics.h
    render/sdl2softwaregraphics.cpp
    render/sdl2softwaregraphics.h
    render/sdlgraphics.cpp
    render/sdlgraphics.h
    render/softwaregraphicsdef.hpp
    sdlshared.h
    settings.cpp
    settings.h
    shopitem.cpp
    shopitem.h
    simpleanimation.cpp
    simpleanimation.h
    soundconsts.h
    soundmanager.cpp
    soundmanager.h
    sprite.h
    state.h
    statuseffect.cpp
    statuseffect.h
    render/surfacegraphics.cpp
    render/surfacegraphics.h
    text.cpp
    text.h
    textmanager.cpp
    textmanager.h
    particle/textparticle.cpp
    particle/textparticle.h
    resources/map/tileset.h
    touchactions.cpp
    touchactions.h
    touchmanager.cpp
    touchmanager.h
    units.cpp
    units.h
    variabledata.h
    vector.cpp
    vector.h
    resources/map/walklayer.cpp
    resources/map/walklayer.h
    events/actionevent.h
    listeners/actionlistener.h
    gui/widgets/basiccontainer.h
    gui/buttoninfo.h
    gui/buttontext.h
    gui/chatconsts.h
    gui/chatlog.h
    gui/chatmsgtype.h
    gui/cliprect.h
    gui/color.h
    gui/dialogtype.h
    listeners/deathlistener.h
    listeners/errorlistener.cpp
    listeners/errorlistener.h
    events/event.h
    listeners/focuslistener.h
    listeners/guiconfiglistener.h
    listeners/guitableactionlistener.cpp
    listeners/guitableactionlistener.h
    listeners/inventorylistener.h
    events/inputguievent.h
    input/key.h
    events/keyevent.h
    listeners/keylistener.h
    gui/models/listmodel.h
    gui/models/magicschoolmodel.h
    events/mouseevent.h
    events/mousebutton.h
    events/mouseeventtype.h
    listeners/mouselistener.h
    listeners/openurllistener.h
    listeners/playerdeathlistener.h
    listeners/playerlistener.cpp
    listeners/playerlistener.h
    gui/rect.h
    events/selectionevent.h
    listeners/selectionlistener.h
    listeners/statlistener.cpp
    listeners/statlistener.h
    listeners/updatestatuslistener.cpp
    listeners/updatestatuslistener.h
    utils/sdlpixel.h
    gui/widgets/widget.h
    listeners/weightlistener.h
    listeners/widgetlistener.h
    listeners/wrongdatanoticelistener.cpp
    listeners/wrongdatanoticelistener.h
    gui/widgets/basiccontainer2.h
    gui/widgets/basiccontainer.cpp
    gui/cliprect.cpp
    gui/color.cpp
    gui/dialogsmanager.cpp
    gui/dialogsmanager.h
    input/key.cpp
    gui/rect.cpp
    gui/widgets/widget.cpp
    gui/widgets/basiccontainer2.cpp
    )

SET(SRCS_EVOL
    net/ea/gui/guildtab.cpp
    net/ea/gui/guildtab.h
    net/ea/gui/partytab.cpp
    net/ea/gui/partytab.h
    net/ea/adminhandler.cpp
    net/ea/adminhandler.h
    net/ea/beinghandler.cpp
    net/ea/beinghandler.h
    net/ea/buysellhandler.cpp
    net/ea/buysellhandler.h
    net/ea/charserverhandler.cpp
    net/ea/charserverhandler.h
    net/ea/chathandler.cpp
    net/ea/chathandler.h
    net/ea/eaprotocol.h
    net/ea/equipbackend.h
    net/ea/gamehandler.cpp
    net/ea/gamehandler.h
    net/ea/guildhandler.cpp
    net/ea/guildhandler.h
    net/ea/inventoryhandler.cpp
    net/ea/inventoryhandler.h
    net/ea/itemhandler.cpp
    net/ea/itemhandler.h
    net/ea/loginhandler.cpp
    net/ea/loginhandler.h
    net/ea/network.cpp
    net/ea/network.h
    net/ea/npchandler.cpp
    net/ea/npchandler.h
    net/ea/partyhandler.cpp
    net/ea/partyhandler.h
    net/ea/playerhandler.cpp
    net/ea/playerhandler.h
    net/ea/skillhandler.cpp
    net/ea/skillhandler.h
    net/ea/token.h
    net/ea/tradehandler.cpp
    net/ea/tradehandler.h
    )

SET(SRCS_TMWA
    net/tmwa/gui/guildtab.cpp
    net/tmwa/gui/guildtab.h
    net/tmwa/gui/partytab.cpp
    net/tmwa/gui/partytab.h
    net/tmwa/adminhandler.cpp
    net/tmwa/adminhandler.h
    net/tmwa/attrs.h
    net/tmwa/beinghandler.cpp
    net/tmwa/beinghandler.h
    net/tmwa/buysellhandler.cpp
    net/tmwa/buysellhandler.h
    net/tmwa/charserverhandler.cpp
    net/tmwa/charserverhandler.h
    net/tmwa/chathandler.cpp
    net/tmwa/chathandler.h
    net/tmwa/gamehandler.cpp
    net/tmwa/gamehandler.h
    net/tmwa/generalhandler.cpp
    net/tmwa/generalhandler.h
    net/tmwa/guildhandler.cpp
    net/tmwa/guildhandler.h
    net/tmwa/inventoryhandler.cpp
    net/tmwa/inventoryhandler.h
    net/tmwa/itemhandler.cpp
    net/tmwa/itemhandler.h
    net/tmwa/loginhandler.cpp
    net/tmwa/loginhandler.h
    net/tmwa/messagehandler.cpp
    net/tmwa/messagehandler.h
    net/tmwa/messagein.cpp
    net/tmwa/messagein.h
    net/tmwa/messageout.cpp
    net/tmwa/messageout.h
    net/tmwa/network.cpp
    net/tmwa/network.h
    net/tmwa/npchandler.cpp
    net/tmwa/npchandler.h
    net/tmwa/partyhandler.cpp
    net/tmwa/partyhandler.h
    net/tmwa/pethandler.cpp
    net/tmwa/pethandler.h
    net/tmwa/playerhandler.cpp
    net/tmwa/playerhandler.h
    net/tmwa/protocol.h
    net/tmwa/questhandler.cpp
    net/tmwa/questhandler.h
    net/tmwa/skillhandler.cpp
    net/tmwa/skillhandler.h
    net/tmwa/sprite.h
    net/tmwa/tradehandler.cpp
    net/tmwa/tradehandler.h
    )

SET(SRCS_EATHENA
    net/eathena/gui/guildtab.cpp
    net/eathena/gui/guildtab.h
    net/eathena/gui/partytab.cpp
    net/eathena/gui/partytab.h
    net/eathena/adminhandler.cpp
    net/eathena/adminhandler.h
    net/eathena/attrs.h
    net/eathena/beinghandler.cpp
    net/eathena/beinghandler.h
    net/eathena/buysellhandler.cpp
    net/eathena/buysellhandler.h
    net/eathena/charserverhandler.cpp
    net/eathena/charserverhandler.h
    net/eathena/chathandler.cpp
    net/eathena/chathandler.h
    net/eathena/gamehandler.cpp
    net/eathena/gamehandler.h
    net/eathena/generalhandler.cpp
    net/eathena/generalhandler.h
    net/eathena/guildhandler.cpp
    net/eathena/guildhandler.h
    net/eathena/inventoryhandler.cpp
    net/eathena/inventoryhandler.h
    net/eathena/itemhandler.cpp
    net/eathena/itemhandler.h
    net/eathena/loginhandler.cpp
    net/eathena/loginhandler.h
    net/eathena/messagehandler.cpp
    net/eathena/messagehandler.h
    net/eathena/messagein.cpp
    net/eathena/messagein.h
    net/eathena/messageout.cpp
    net/eathena/messageout.h
    net/eathena/network.cpp
    net/eathena/network.h
    net/eathena/npchandler.cpp
    net/eathena/npchandler.h
    net/eathena/partyhandler.cpp
    net/eathena/partyhandler.h
    net/eathena/playerhandler.cpp
    net/eathena/playerhandler.h
    net/eathena/protocol.h
    net/eathena/skillhandler.cpp
    net/eathena/skillhandler.h
    net/eathena/sprite.h
    net/eathena/tradehandler.cpp
    net/eathena/tradehandler.h
    )

IF (WIN32)
    SET(SRCS
        ${SRCS}
        utils/specialfolder.cpp
        utils/specialfolder.h
        manaplus.rc
    )
ENDIF ()

SET (PROGRAMS manaplus)

IF (ENABLE_EATHENA)
    ADD_EXECUTABLE(manaplus WIN32 ${SRCS} ${SRCS_EATHENA} ${SRCS_TMWA} ${SRCS_EVOL})
ELSE(ENABLE_EATHENA)
    ADD_EXECUTABLE(manaplus WIN32 ${SRCS} ${SRCS_TMWA} ${SRCS_EVOL})
ENDIF(ENABLE_EATHENA)

TARGET_LINK_LIBRARIES(manaplus
    ${SDLGFX_LIBRARIES}
    ${SDL_LIBRARY}
    ${SDLIMAGE_LIBRARY}
    ${SDLMIXER_LIBRARY}
    ${SDLNET_LIBRARY}
    ${SDLTTF_LIBRARY}
    ${PNG_LIBRARIES}
    ${PHYSFS_LIBRARY}
    ${CURL_LIBRARIES}
    ${LIBXML2_LIBRARIES}
    ${OPENGL_LIBRARIES}
    ${LIBINTL_LIBRARIES}
    ${EXTRA_LIBRARIES})
INSTALL(TARGETS manaplus RUNTIME DESTINATION ${PKG_BINDIR})

IF (CMAKE_SYSTEM_NAME STREQUAL SunOS)
    # we expect the SMCgtxt package to be present on Solaris;
    # the Solaris gettext is not API-compatible to GNU gettext
    SET_TARGET_PROPERTIES(manaplus PROPERTIES LINK_FLAGS "-L/usr/local/lib")
ENDIF()

SET_TARGET_PROPERTIES(manaplus PROPERTIES COMPILE_FLAGS "${FLAGS}")