From fa035c2fd70945a0b12143ce9b81284d8d24d13b Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Wed, 1 Nov 2006 15:12:22 +0000 Subject: Added CMake support --- src/CMakeLists.txt | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main.h | 2 +- 2 files changed, 300 insertions(+), 1 deletion(-) create mode 100644 src/CMakeLists.txt (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..b3bf323e --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,299 @@ +FIND_PACKAGE(SDL REQUIRED) +FIND_PACKAGE(SDL_image REQUIRED) +FIND_PACKAGE(SDL_mixer REQUIRED) +FIND_PACKAGE(ENet REQUIRED) +FIND_PACKAGE(Libcurl REQUIRED) +FIND_PACKAGE(LibXml2 REQUIRED) +FIND_PACKAGE(PhysFS REQUIRED) +FIND_PACKAGE(PNG REQUIRED) + +SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"") +SET(FLAGS "${FLAGS} -DTMW_DATADIR=\\\"${PKG_DATADIR}/\\\"") + +SET(GUICHAN_COMPONENTS "SDL") +IF (WITH_OPENGL) + SET(GUICHAN_COMPONENTS ${GUICHAN_COMPONENTS} "OpenGL") +ENDIF (WITH_OPENGL) +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( + ${CURRENT_SOURCE_DIR} + ${SDL_INCLUDE_DIR} + ${SDLIMAGE_INCLUDE_DIR} + ${SDLMIXER_INCLUDE_DIR} + ${ENET_INCLUDE_DIR} + ${PNG_INCLUDE_DIR} + ${PHYSFS_INCLUDE_DIR} + ${LIBCURL_INCLUDE_DIR} + ${LIBXML2_INCLUDE_DIR} + ${GUICHAN_INCLUDE_DIR} + ) + +SET(SRCS + graphic/imagerect.h + gui/box.cpp + gui/box.h + gui/browserbox.cpp + gui/browserbox.h + gui/buddywindow.cpp + gui/buddywindow.h + gui/button.cpp + gui/button.h + gui/buy.cpp + gui/buy.h + gui/buysell.cpp + gui/buysell.h + gui/chargedialog.cpp + gui/chargedialog.h + gui/char_select.cpp + gui/char_select.h + gui/chat.cpp + gui/chat.h + gui/chatinput.cpp + gui/chatinput.h + gui/checkbox.cpp + gui/checkbox.h + gui/confirm_dialog.cpp + gui/confirm_dialog.h + gui/connection.cpp + gui/connection.h + gui/debugwindow.cpp + gui/debugwindow.h + gui/equipmentwindow.cpp + gui/equipmentwindow.h + gui/focushandler.cpp + gui/focushandler.h + gui/gccontainer.cpp + gui/gccontainer.h + gui/gui.cpp + gui/gui.h + gui/hbox.cpp + gui/hbox.h + gui/help.cpp + gui/help.h + gui/inttextbox.cpp + gui/inttextbox.h + gui/inventorywindow.cpp + gui/inventorywindow.h + gui/item_amount.cpp + gui/item_amount.h + gui/itemcontainer.cpp + gui/itemcontainer.h + gui/linkhandler.h + gui/listbox.cpp + gui/listbox.h + gui/login.cpp + gui/login.h + gui/menuwindow.cpp + gui/menuwindow.h + gui/minimap.cpp + gui/minimap.h + gui/ministatus.cpp + gui/ministatus.h + gui/newskill.cpp + gui/newskill.h + gui/npclistdialog.cpp + gui/npclistdialog.h + gui/npc_text.cpp + gui/npc_text.h + gui/ok_dialog.cpp + gui/ok_dialog.h + gui/passwordfield.cpp + gui/passwordfield.h + gui/playerbox.cpp + gui/playerbox.h + gui/popupmenu.cpp + gui/popupmenu.h + gui/progressbar.cpp + gui/progressbar.h + gui/radiobutton.cpp + gui/radiobutton.h + gui/register.cpp + gui/register.h + gui/scrollarea.cpp + gui/scrollarea.h + gui/selectionlistener.h + gui/sell.cpp + gui/sell.h + gui/serverdialog.cpp + gui/serverdialog.h + gui/setup_audio.cpp + gui/setup_audio.h + gui/setup.cpp + gui/setup.h + gui/setup_joystick.cpp + gui/setup_joystick.h + gui/setuptab.h + gui/setup_video.cpp + gui/setup_video.h + gui/shop.cpp + gui/shop.h + gui/skill.cpp + gui/skill.h + gui/slider.cpp + gui/slider.h + gui/status.cpp + gui/status.h + gui/tabbedcontainer.cpp + gui/tabbedcontainer.h + gui/textbox.cpp + gui/textbox.h + gui/textfield.cpp + gui/textfield.h + gui/trade.cpp + gui/trade.h + gui/updatewindow.cpp + gui/updatewindow.h + gui/vbox.cpp + gui/vbox.h + gui/windowcontainer.cpp + gui/windowcontainer.h + gui/window.cpp + gui/window.h + gui/widgets/dropdown.cpp + gui/widgets/dropdown.h + net/beinghandler.cpp + net/beinghandler.h + net/buysellhandler.cpp + net/buysellhandler.h + net/charserverhandler.cpp + net/charserverhandler.h + net/chathandler.cpp + net/chathandler.h + net/equipmenthandler.cpp + net/equipmenthandler.h + net/inventoryhandler.cpp + net/inventoryhandler.h + net/itemhandler.cpp + net/itemhandler.h + net/loginhandler.cpp + net/loginhandler.h + net/maploginhandler.cpp + net/maploginhandler.h + net/messagehandler.cpp + net/messagehandler.h + net/messagein.cpp + net/messagein.h + net/messageout.cpp + net/messageout.h + net/network.cpp + net/network.h + net/npchandler.cpp + net/npchandler.h + net/playerhandler.cpp + net/playerhandler.h + net/protocol.h + net/skillhandler.cpp + net/skillhandler.h + net/tradehandler.cpp + net/tradehandler.h + resources/buddylist.cpp + resources/buddylist.h + resources/image.cpp + resources/image.h + resources/imagewriter.cpp + resources/imagewriter.h + resources/iteminfo.cpp + resources/iteminfo.h + resources/itemmanager.cpp + resources/itemmanager.h + resources/mapreader.cpp + resources/mapreader.h + resources/music.cpp + resources/music.h + resources/openglsdlimageloader.cpp + resources/openglsdlimageloader.h + resources/resource.cpp + resources/resource.h + resources/resourcemanager.cpp + resources/resourcemanager.h + resources/sdlimageloader.cpp + resources/sdlimageloader.h + resources/soundeffect.cpp + resources/soundeffect.h + resources/spriteset.cpp + resources/spriteset.h + utils/dtor.h + utils/tostring.h + animatedsprite.cpp + animatedsprite.h + animation.cpp + animation.h + base64.cpp + base64.h + being.cpp + being.h + beingmanager.cpp + beingmanager.h + configlistener.h + configuration.cpp + configuration.h + engine.cpp + engine.h + equipment.cpp + equipment.h + floor_item.cpp + floor_item.h + flooritemmanager.cpp + flooritemmanager.h + game.cpp + game.h + graphics.cpp + graphics.h + guichanfwd.h + inventory.cpp + inventory.h + item.cpp + item.h + joystick.cpp + joystick.h + localplayer.cpp + localplayer.h + lockedarray.h + log.cpp + log.h + logindata.h + main.cpp + main.h + map.cpp + map.h + monster.cpp + monster.h + npc.cpp + npc.h + openglgraphics.cpp + openglgraphics.h + player.cpp + player.h + properties.h + serverinfo.h + sound.cpp + sound.h + sprite.h + tileset.h + ) + +ADD_EXECUTABLE(tmw ${SRCS}) + +TARGET_LINK_LIBRARIES(tmw + ${SDL_LIBRARY} + ${SDLIMAGE_LIBRARY} + ${SDLMIXER_LIBRARY} + ${ENET_LIBRARIES} + ${PNG_LIBRARIES} + ${PHYSFS_LIBRARY} + ${LIBCURL_LIBRARIES} + ${LIBXML2_LIBRARIES} + ${GUICHAN_LIBRARIES} + ${OPENGL_LIBRARIES} + ) + +INSTALL(TARGETS tmw RUNTIME DESTINATION ${PKG_BINDIR}) + +SET_TARGET_PROPERTIES(tmw PROPERTIES COMPILE_FLAGS "${FLAGS}") diff --git a/src/main.h b/src/main.h index 2973f1ad..b68a4e4d 100644 --- a/src/main.h +++ b/src/main.h @@ -26,7 +26,7 @@ #include -#if (defined __USE_UNIX98 || defined __FreeBSD__) +#ifdef HAVE_CONFIG_H #include "../config.h" #elif defined WIN32 #include "../The_Mana_World_private.h" -- cgit v1.2.3-70-g09d2