From 2c51c98625b225cecfb9628c30d62d4e30f7e3e1 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Thu, 25 Jan 2024 15:41:57 +0100 Subject: Ported to SDL2 --- src/CMakeLists.txt | 53 ++++++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 33 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6c0b3081..7aa6cdcb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,9 +1,10 @@ -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) +include(FindPkgConfig) +pkg_check_modules(SDL2 REQUIRED sdl2>=2.0.1) +pkg_check_modules(SDL2IMAGE REQUIRED SDL2_image) +pkg_check_modules(SDL2MIXER REQUIRED SDL2_mixer) +pkg_check_modules(SDL2NET REQUIRED SDL2_net) +pkg_check_modules(SDL2TTF REQUIRED SDL2_ttf) +pkg_check_modules(SDL2GFX REQUIRED SDL2_gfx) FIND_PACKAGE(CURL REQUIRED) FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(PhysFS REQUIRED) @@ -69,8 +70,7 @@ ELSEIF (CMAKE_SYSTEM_NAME STREQUAL SunOS) SET(EXTRA_LIBRARIES intl) ENDIF() -SET(GUICHAN_COMPONENTS "SDL") -FIND_PACKAGE(Guichan REQUIRED ${GUICHAN_COMPONENTS}) +FIND_PACKAGE(Guichan REQUIRED) IF (WITH_OPENGL) FIND_PACKAGE(OpenGL REQUIRED) @@ -87,12 +87,12 @@ 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} + ${SDL2_INCLUDE_DIRS} + ${SDL2IMAGE_INCLUDE_DIRS} + ${SDL2MIXER_INCLUDE_DIRS} + ${SDL2NET_INCLUDE_DIRS} + ${SDL2TTF_INCLUDE_DIRS} + ${SDL2GFX_INCLUDE_DIRS} ${PNG_INCLUDE_DIR} ${PHYSFS_INCLUDE_DIR} ${CURL_INCLUDE_DIR} @@ -116,19 +116,6 @@ IF (MINGW) " -O coff -o ") 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 @@ -677,12 +664,12 @@ ENDIF(ENABLE_MANASERV) TARGET_LINK_LIBRARIES(mana ${INTERNAL_LIBRARIES} - ${SDLGFX_LIBRARIES} - ${SDL_LIBRARY} - ${SDLIMAGE_LIBRARY} - ${SDLMIXER_LIBRARY} - ${SDLNET_LIBRARY} - ${SDLTTF_LIBRARY} + ${SDL2_LIBRARIES} + ${SDL2GFX_LIBRARIES} + ${SDL2IMAGE_LIBRARIES} + ${SDL2MIXER_LIBRARIES} + ${SDL2NET_LIBRARIES} + ${SDL2TTF_LIBRARIES} ${PNG_LIBRARIES} ${PHYSFS_LIBRARY} ${CURL_LIBRARIES} -- cgit v1.2.3-60-g2f50 From dadefbcd103bd11bc74ca35a40d18dd2c1877f70 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Thu, 25 Jan 2024 17:37:15 +0100 Subject: Removed X11 dependency It was only used for the clipboard, which is now interacted with through SDL 2. --- CMakeLists.txt | 3 --- src/CMakeLists.txt | 6 ------ 2 files changed, 9 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d0d62ab..9fbf4e1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,6 @@ IF (WIN32) SET(LOCALEDIR ".") CONFIGURE_FILE(src/winver.h.in src/winver.h) ELSE (WIN32) - IF (NOT OSX AND NOT BEOS) - OPTION(USE_X11 "Use X11 Clipboard functionality" ON) - ENDIF () SET(PKG_DATADIR ${CMAKE_INSTALL_PREFIX}/share/mana CACHE PATH "Mana datadir") SET(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale) SET(PKG_BINDIR ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "Mana bindir") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7aa6cdcb..b4227f65 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -79,12 +79,6 @@ IF (WITH_OPENGL) MESSAGE(STATUS "OpenGL support enabled") 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} ${SDL2_INCLUDE_DIRS} -- cgit v1.2.3-60-g2f50 From 8d06606835e3d01f537ebe96de8b216e64a1f969 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Thu, 25 Jan 2024 17:42:56 +0100 Subject: Always use C++11 and remove related compatibility option/code --- CMakeLists.txt | 7 ++++--- README.cmake | 2 +- src/CMakeLists.txt | 5 ----- src/cpp0x_compat/cstdint | 10 ---------- src/utils/mutex.h | 4 ---- 5 files changed, 5 insertions(+), 23 deletions(-) delete mode 100644 src/cpp0x_compat/cstdint (limited to 'src/CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 9fbf4e1b..6b0da2e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) -CMAKE_POLICY(VERSION 2.8.12) +CMAKE_MINIMUM_REQUIRED(VERSION 3.1) +CMAKE_POLICY(VERSION 3.1) PROJECT(MANA) @@ -7,6 +7,8 @@ IF (NOT VERSION) SET(VERSION 0.6.1) ENDIF() +set (CMAKE_CXX_STANDARD 11) + STRING(REPLACE "." " " _VERSION ${VERSION}) SEPARATE_ARGUMENTS(_VERSION) LIST(LENGTH _VERSION _LEN) @@ -31,7 +33,6 @@ FIND_PACKAGE(Gettext) OPTION(WITH_OPENGL "Enable OpenGL support" ON) OPTION(ENABLE_NLS "Enable building of tranlations" ON) OPTION(ENABLE_MANASERV "Enable Manaserv support" ON) -OPTION(ENABLE_CPP0X "Enable use of C++0x features" OFF) IF (WIN32) SET(PKG_DATADIR ".") diff --git a/README.cmake b/README.cmake index c9175fa5..b5691ff1 100644 --- a/README.cmake +++ b/README.cmake @@ -143,6 +143,6 @@ In your mana directory: $ export CC=/usr/bin/clang $ export CXX=/usr/bin/clang++ -$ cmake -DENABLE_CPP0X=OFF +$ cmake . $ make $ src/mana diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b4227f65..68cba816 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -35,11 +35,6 @@ ENDIF() SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"") SET(FLAGS "${FLAGS} -DPKG_DATADIR=\\\"${PKG_DATADIR}/\\\"") SET(FLAGS "${FLAGS} -DLOCALEDIR=\\\"${LOCALEDIR}/\\\"") -IF (ENABLE_CPP0X) - SET(FLAGS "${FLAGS} -std=c++0x -DENABLE_CPP0X=1") -ELSE() - INCLUDE_DIRECTORIES("cpp0x_compat") -ENDIF() IF (ENABLE_NLS) SET(FLAGS "${FLAGS} -DENABLE_NLS=1") diff --git a/src/cpp0x_compat/cstdint b/src/cpp0x_compat/cstdint deleted file mode 100644 index 05d56c6e..00000000 --- a/src/cpp0x_compat/cstdint +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Compatibility header used when the compiler doesn't support C++0x. - * - * While GCC 4.2.1 understands types like uint16_t by default, later versions - * are more strict so here are some typedefs for types used in our code. - */ - -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; diff --git a/src/utils/mutex.h b/src/utils/mutex.h index f7f26233..d0120cfa 100644 --- a/src/utils/mutex.h +++ b/src/utils/mutex.h @@ -53,9 +53,7 @@ class MutexLocker { public: MutexLocker(Mutex *mutex); -#ifdef ENABLE_CPP0X MutexLocker(MutexLocker&&); -#endif ~MutexLocker(); private: @@ -95,13 +93,11 @@ inline MutexLocker::MutexLocker(Mutex *mutex): mMutex->lock(); } -#ifdef ENABLE_CPP0X inline MutexLocker::MutexLocker(MutexLocker&& rhs): mMutex(rhs.mMutex) { rhs.mMutex = NULL; } -#endif inline MutexLocker::~MutexLocker() { -- cgit v1.2.3-60-g2f50