blob: 76fd35452da4ffff4983fdce7a1be0c288450627 (
plain) (
tree)
|
|
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(ENet REQUIRED)
FIND_PACKAGE(CURL REQUIRED)
FIND_PACKAGE(LibXml2 REQUIRED)
FIND_PACKAGE(PhysFS REQUIRED)
FIND_PACKAGE(PNG REQUIRED)
SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"")
SET(FLAGS "${FLAGS} -DPKG_DATADIR=\\\"${PKG_DATADIR}/\\\"")
SET(FLAGS "${FLAGS} -DLOCALEDIR=\\\"${LOCALEDIR}/\\\"")
IF (WIN32)
SET(EXTRA_LIBRARIES ws2_32 winmm)
ENDIF()
SET(GUICHAN_COMPONENTS "SDL")
FIND_PACKAGE(Guichan REQUIRED ${GUICHAN_COMPONENTS})
IF (WITH_OPENGL)
FIND_PACKAGE(OpenGL REQUIRED)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
SET(FLAGS "${FLAGS} -DUSE_OPENGL")
ENDIF (WITH_OPENGL)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${SDL_INCLUDE_DIR}
${SDLIMAGE_INCLUDE_DIR}
${SDLMIXER_INCLUDE_DIR}
${SDLNET_INCLUDE_DIR}
${SDLTTF_INCLUDE_DIR}
${ENET_INCLUDE_DIR}
${PNG_INCLUDE_DIR}
${PHYSFS_INCLUDE_DIR}
${CURL_INCLUDE_DIR}
${LIBXML2_INCLUDE_DIR}
${GUICHAN_INCLUDE_DIR}
)
# 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/avatar.cpp
gui/widgets/avatar.h
gui/widgets/browserbox.cpp
gui/widgets/browserbox.h
gui/widgets/button.cpp
gui/widgets/button.h
gui/widgets/channeltab.cpp
gui/widgets/channeltab.h
gui/widgets/chattab.cpp
gui/widgets/chattab.h
gui/widgets/checkbox.cpp
gui/widgets/checkbox.h
gui/widgets/container.cpp
gui/widgets/container.h
gui/widgets/desktop.cpp
gui/widgets/desktop.h
gui/widgets/dropdown.cpp
gui/widgets/dropdown.h
gui/widgets/icon.cpp
gui/widgets/icon.h
gui/widgets/inttextfield.cpp
gui/widgets/inttextfield.h
gui/widgets/label.cpp
gui/widgets/label.h
gui/widgets/layout.cpp
gui/widgets/layout.h
gui/widgets/layouthelper.cpp
gui/widgets/layouthelper.h
gui/widgets/listbox.cpp
gui/widgets/listbox.h
gui/widgets/passwordfield.cpp
gui/widgets/passwordfield.h
gui/widgets/popup.cpp
gui/widgets/popup.h
gui/widgets/progressbar.cpp
gui/widgets/progressbar.h
gui/widgets/radiobutton.cpp
gui/widgets/radiobutton.h
gui/widgets/resizegrip.cpp
gui/widgets/resizegrip.h
gui/widgets/scrollarea.cpp
gui/widgets/scrollarea.h
gui/widgets/slider.cpp
gui/widgets/slider.h
gui/widgets/tab.cpp
gui/widgets/tab.h
gui/widgets/tabbedarea.cpp
gui/widgets/tabbedarea.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/whispertab.cpp
gui/widgets/whispertab.h
gui/widgets/window.cpp
gui/widgets/window.h
gui/widgets/windowcontainer.cpp
gui/widgets/windowcontainer.h
gui/buy.cpp
gui/buy.h
gui/buysell.cpp
gui/buysell.h
gui/changepassworddialog.cpp
gui/changepassworddialog.h
gui/charselectdialog.cpp
gui/charselectdialog.h
gui/charcreatedialog.cpp
gui/charcreatedialog.h
gui/chat.cpp
gui/chat.h
gui/confirmdialog.cpp
gui/confirmdialog.h
gui/debugwindow.cpp
gui/debugwindow.h
gui/emotepopup.cpp
gui/emotepopup.h
gui/emoteshortcutcontainer.cpp
gui/emoteshortcutcontainer.h
gui/equipmentwindow.cpp
gui/equipmentwindow.h
gui/focushandler.cpp
gui/focushandler.h
gui/gui.cpp
gui/gui.h
gui/help.cpp
gui/help.h
gui/inventorywindow.cpp
gui/inventorywindow.h
gui/itemcontainer.cpp
gui/itemcontainer.h
gui/itemlinkhandler.cpp
gui/itemlinkhandler.h
gui/itempopup.cpp
gui/itempopup.h
gui/itemshortcutcontainer.cpp
gui/itemshortcutcontainer.h
gui/itemamount.cpp
gui/itemamount.h
gui/linkhandler.h
gui/login.cpp
gui/login.h
gui/minimap.cpp
gui/minimap.h
gui/ministatus.cpp
gui/ministatus.h
gui/npcdialog.cpp
gui/npcdialog.h
gui/npcpostdialog.cpp
gui/npcpostdialog.h
gui/okdialog.cpp
gui/okdialog.h
gui/palette.cpp
gui/palette.h
gui/partywindow.cpp
gui/partywindow.h
gui/playerbox.cpp
gui/playerbox.h
gui/popupmenu.cpp
gui/popupmenu.h
gui/recorder.cpp
gui/recorder.h
gui/register.cpp
gui/register.h
gui/sdlinput.cpp
gui/sdlinput.h
gui/sell.cpp
gui/sell.h
gui/serverselectdialog.cpp
gui/serverselectdialog.h
gui/setup.cpp
gui/setup.h
gui/setup_audio.cpp
gui/setup_audio.h
gui/setup_colors.cpp
gui/setup_colors.h
gui/setup_joystick.cpp
gui/setup_joystick.h
gui/setup_keyboard.cpp
gui/setup_keyboard.h
gui/setup_players.cpp
gui/setup_players.h
gui/setup_video.cpp
gui/setup_video.h
gui/setuptab.cpp
gui/setuptab.h
gui/shop.cpp
gui/shop.h
gui/shoplistbox.cpp
gui/shoplistbox.h
gui/shortcutcontainer.cpp
gui/shortcutcontainer.h
gui/shortcutwindow.cpp
gui/shortcutwindow.h
gui/skin.cpp
gui/skin.h
gui/speechbubble.cpp
gui/speechbubble.h
gui/storagewindow.cpp
gui/storagewindow.h
gui/table.cpp
gui/table.h
gui/tablemodel.cpp
gui/tablemodel.h
gui/textdialog.cpp
gui/textdialog.h
gui/textrenderer.h
gui/trade.cpp
gui/trade.h
gui/truetypefont.cpp
gui/truetypefont.h
gui/updatewindow.cpp
gui/updatewindow.h
gui/viewport.cpp
gui/viewport.h
gui/windowmenu.cpp
gui/windowmenu.h
net/adminhandler.h
net/charhandler.h
net/chathandler.h
net/generalhandler.h
net/guildhandler.h
net/inventoryhandler.h
net/logindata.h
net/loginhandler.h
net/logouthandler.h
net/maphandler.h
net/messagehandler.cpp
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/partyhandler.h
net/playerhandler.h
net/serverinfo.h
net/skillhandler.h
net/tradehandler.h
resources/action.cpp
resources/action.h
resources/ambientoverlay.cpp
resources/ambientoverlay.h
resources/animation.cpp
resources/animation.h
resources/colordb.cpp
resources/colordb.h
resources/dye.cpp
resources/dye.h
resources/emotedb.cpp
resources/emotedb.h
resources/image.cpp
resources/image.h
resources/imageloader.cpp
resources/imageloader.h
resources/imageset.h
resources/imageset.cpp
resources/imagewriter.cpp
resources/imagewriter.h
resources/itemdb.cpp
resources/itemdb.h
resources/iteminfo.h
resources/iteminfo.cpp
resources/mapreader.cpp
resources/mapreader.h
resources/monsterdb.cpp
resources/monsterdb.h
resources/monsterinfo.cpp
resources/monsterinfo.h
resources/music.cpp
resources/music.h
resources/npcdb.cpp
resources/npcdb.h
resources/resource.cpp
resources/resource.h
resources/resourcemanager.cpp
resources/resourcemanager.h
resources/soundeffect.h
resources/soundeffect.cpp
resources/spritedef.h
resources/spritedef.cpp
resources/wallpaper.cpp
resources/wallpaper.h
utils/base64.cpp
utils/base64.h
utils/dtor.h
utils/gettext.h
utils/mathutils.h
utils/sha256.cpp
utils/sha256.h
utils/stringutils.cpp
utils/stringutils.h
utils/mutex.h
utils/xml.cpp
utils/xml.h
animatedsprite.cpp
animatedsprite.h
animationparticle.cpp
animationparticle.h
being.cpp
being.h
beingmanager.cpp
beingmanager.h
channel.cpp
channel.h
channelmanager.cpp
channelmanager.h
commandhandler.cpp
commandhandler.h
configlistener.h
configuration.cpp
configuration.h
effectmanager.cpp
effectmanager.h
emoteshortcut.cpp
emoteshortcut.h
engine.cpp
engine.h
equipment.cpp
equipment.h
flooritem.cpp
flooritem.h
flooritemmanager.cpp
flooritemmanager.h
game.cpp
game.h
graphics.cpp
graphics.h
guichanfwd.h
imageparticle.cpp
imageparticle.h
inventory.cpp
inventory.h
item.cpp
item.h
itemshortcut.cpp
itemshortcut.h
joystick.cpp
joystick.h
keyboardconfig.cpp
keyboardconfig.h
localplayer.cpp
localplayer.h
lockedarray.h
log.cpp
log.h
main.cpp
main.h
map.cpp
map.h
monster.cpp
monster.h
npc.cpp
npc.h
openglgraphics.cpp
openglgraphics.h
particle.cpp
particle.h
particlecontainer.cpp
particlecontainer.h
particleemitter.cpp
particleemitter.h
particleemitterprop.h
player.cpp
player.h
playerrelations.cpp
playerrelations.h
position.cpp
position.h
properties.h
rotationalparticle.cpp
rotationalparticle.h
shopitem.cpp
shopitem.h
simpleanimation.cpp
simpleanimation.h
sound.cpp
sound.h
sprite.h
statuseffect.cpp
statuseffect.h
text.cpp
text.h
textmanager.cpp
textmanager.h
textparticle.cpp
textparticle.h
tileset.h
units.cpp
units.h
vector.cpp
vector.h
)
SET(SRCS_EA
gui/skill.cpp
gui/skill.h
gui/status.cpp
gui/status.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/equipmenthandler.cpp
net/ea/equipmenthandler.h
net/ea/generalhandler.cpp
net/ea/generalhandler.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/logouthandler.cpp
net/ea/logouthandler.h
net/ea/maphandler.cpp
net/ea/maphandler.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/protocol.h
net/ea/skillhandler.cpp
net/ea/skillhandler.h
net/ea/tradehandler.cpp
net/ea/tradehandler.h
)
SET(SRCS_TMW
gui/buddywindow.cpp
gui/buddywindow.h
gui/changeemaildialog.cpp
gui/changeemaildialog.h
gui/connection.cpp
gui/connection.h
gui/guildlistbox.cpp
gui/guildlistbox.h
gui/guildwindow.cpp
gui/guildwindow.h
gui/magic.cpp
gui/magic.h
gui/quitdialog.cpp
gui/quitdialog.h
gui/serverdialog.cpp
gui/serverdialog.h
gui/skilldialog.cpp
gui/skilldialog.h
gui/statuswindow.cpp
gui/statuswindow.h
gui/unregisterdialog.cpp
gui/unregisterdialog.h
net/tmwserv/accountserver/account.cpp
net/tmwserv/accountserver/account.h
net/tmwserv/accountserver/accountserver.cpp
net/tmwserv/accountserver/accountserver.h
net/tmwserv/accountserver/internal.cpp
net/tmwserv/accountserver/internal.h
net/tmwserv/chatserver/chatserver.cpp
net/tmwserv/chatserver/chatserver.h
net/tmwserv/chatserver/guild.cpp
net/tmwserv/chatserver/guild.h
net/tmwserv/chatserver/internal.cpp
net/tmwserv/chatserver/internal.h
net/tmwserv/chatserver/party.cpp
net/tmwserv/chatserver/party.h
net/tmwserv/gameserver/gameserver.cpp
net/tmwserv/gameserver/gameserver.h
net/tmwserv/gameserver/internal.cpp
net/tmwserv/gameserver/internal.h
net/tmwserv/gameserver/player.cpp
net/tmwserv/gameserver/player.h
net/tmwserv/adminhandler.cpp
net/tmwserv/adminhandler.h
net/tmwserv/beinghandler.cpp
net/tmwserv/beinghandler.h
net/tmwserv/buysellhandler.cpp
net/tmwserv/buysellhandler.h
net/tmwserv/charserverhandler.cpp
net/tmwserv/charserverhandler.h
net/tmwserv/chathandler.cpp
net/tmwserv/chathandler.h
net/tmwserv/connection.cpp
net/tmwserv/connection.h
net/tmwserv/effecthandler.cpp
net/tmwserv/effecthandler.h
net/tmwserv/generalhandler.cpp
net/tmwserv/generalhandler.h
net/tmwserv/guildhandler.cpp
net/tmwserv/guildhandler.h
net/tmwserv/internal.cpp
net/tmwserv/internal.h
net/tmwserv/inventoryhandler.cpp
net/tmwserv/inventoryhandler.h
net/tmwserv/itemhandler.h
net/tmwserv/itemhandler.cpp
net/tmwserv/loginhandler.cpp
net/tmwserv/loginhandler.h
net/tmwserv/logouthandler.cpp
net/tmwserv/logouthandler.h
net/tmwserv/maphandler.cpp
net/tmwserv/maphandler.h
net/tmwserv/network.cpp
net/tmwserv/network.h
net/tmwserv/npchandler.cpp
net/tmwserv/npchandler.h
net/tmwserv/partyhandler.cpp
net/tmwserv/partyhandler.h
net/tmwserv/playerhandler.cpp
net/tmwserv/playerhandler.h
net/tmwserv/protocol.h
net/tmwserv/skillhandler.cpp
net/tmwserv/skillhandler.h
net/tmwserv/tradehandler.cpp
net/tmwserv/tradehandler.h
guild.cpp
guild.h
)
SET (PROGRAMS tmw tmw-ea)
ADD_EXECUTABLE(tmw WIN32 ${SRCS} ${SRCS_TMW})
ADD_EXECUTABLE(tmw-ea WIN32 ${SRCS} ${SRCS_EA})
FOREACH(program ${PROGRAMS})
TARGET_LINK_LIBRARIES(${program} ${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
${SDLMIXER_LIBRARY}
${SDLNET_LIBRARY}
${SDLTTF_LIBRARY}
${ENET_LIBRARIES}
${PNG_LIBRARIES}
${PHYSFS_LIBRARY}
${CURL_LIBRARIES}
${LIBXML2_LIBRARIES}
${GUICHAN_LIBRARIES}
${OPENGL_LIBRARIES}
${EXTRA_LIBRARIES})
INSTALL(TARGETS ${program} RUNTIME DESTINATION ${PKG_BINDIR})
ENDFOREACH(program)
SET(FLAGS_EA "${FLAGS} -DEATHENA_SUPPORT")
SET(FLAGS_TMW "${FLAGS} -DTMWSERV_SUPPORT")
SET_TARGET_PROPERTIES(tmw PROPERTIES COMPILE_FLAGS "${FLAGS_TMW}")
SET_TARGET_PROPERTIES(tmw-ea PROPERTIES COMPILE_FLAGS "${FLAGS_EA}")
|