summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)AuthorFilesLines
2024-05-07Replaced ENet with submoduleThorbjørn Lindeijer1-2/+3
This also updates ENet from 1.3.2 to 1.3.18. The previously supported WITH_BUNDLEDHEADERS option that affected which ENet was being used has now been reversed and renamed to USE_SYSTEM_ENET, which defaults to OFF for now.
2024-04-25CMake: Fixed customization of GNUInstallDirsThorbjørn Lindeijer1-3/+3
We need to set the custom values before including GNUInstallDirs, so that GNUInstallDirs will set the CMAKE_INSTALL_FULL_<dir> variables correctly. Fixes breakage in aecbf876cd0a7894396a2e5034af9d93bf028aa0.
2024-04-20CMake: Use cmake-format to make the files more pleasant to readThorbjørn Lindeijer1-134/+145
More consistent formatting and no longer everything in uppercase, yay!
2024-04-17macOS: Create an app bundleThorbjørn Lindeijer1-15/+24
Also enable using `cpack -G DragNDrop` to create a DMG to easily drag Mana into the Applications folder. The DMG is also available as a CI artifact. The minimum deployment target has been set to 10.15, as required due to usage of std::filesystem::create_directories.
2024-04-12CMake: Use GNUInstallDirsThorbjørn Lindeijer1-8/+8
This should make CMake options a little more standardized. The Windows part could potentially still be unified further. Absolute paths are now only used for the defines and not for values going to install() commands.
2024-04-08CMake: Exclude Guichan headers and library from installThorbjørn Lindeijer1-1/+1
Otherwise they are included in the NSIS installer, as well. We don't need the Guichan library since we link to it statically.
2024-04-08Fixed choosing preferred language on WindowsThorbjørn Lindeijer1-2/+2
The linker could not find _nl_locale_name_default. Maybe it could be fixed by linking to another library, but it would likely not yield the preferred behavior. Instead, we now use GetUserPreferredUILanguages to set the LANG environment variable with one or more languages and let gettext choose the best fitting available translation. Also fixed the directory from which the translations are loaded to match the installation directory,
2024-04-08Resolved issues with winver.hThorbjørn Lindeijer1-1/+0
The configured file wasn't actually being used, because it was not in the include path. Instead, a checked in version was used. In addition, winver.h is an existing Windows header, which was conflicting with the generated file. Instead, now mana.rc itself is configured. We didn't actually need winver.h anywhere else, anyway.
2024-04-08CMake: Allow using CPack to generate an NSIS installerThorbjørn Lindeijer1-31/+83
* Set the version, description and homepage URL using modern CMake style (minimum supported version increased to CMake 3.12). * Fixed the reference to the MUI_WELCOMEFINISHPAGE_BITMAP file, which needed "\\" instead of "/" to work for me in MSYS2, and with CPACK_VERBATIM_VARIABLES enabled (otherwise "\\\\" was needed). * Fixed the icon used for the uninstall entry by setting CPACK_NSIS_INSTALLED_ICON_NAME. * Fixed missing start menu entry by setting CPACK_PACKAGE_EXECUTABLES. * Fixed running Mana when finishing the install by setting CPACK_NSIS_EXECUTABLES_DIRECTORY. * Mark the NSIS installer as DPI-aware using CPACK_NSIS_MANIFEST_DPI_AWARE. * Enabled uninstall before install using CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL.
2024-03-26CMake: Added USE_SYSTEM_GUICHAN optionThorbjørn Lindeijer1-1/+2
So that one can choose to build with the Guichan submodule also on other systems than macOS.
2024-02-21Adjusted icon and desktop file names and added metainfoThorbjørn Lindeijer1-1/+4
2024-02-19Fixed compile on macOSThorbjørn Lindeijer1-0/+14
Since Guichan is currently disabled on Homebrew, I've opted for adding it as a submodule instead. It currently references the 0.8 branch of Guichan, after I cherry-picked the CMake support from the master branch. When using SDL2 installed through Homebrew, it was necessary to use SDL2_LINK_LIBRARIES, since the libraries occupy various different directories. It no longer seems necessary to include an SDLMain.m, so I deleted it. Removed obsolete OS X instructions. Also added instructions for installing dependencies on Fedora. Removed mentioning of /announce and /who in the README, since they were removed for tmwAthena.
2024-02-05Updated C++ standard to C++17Thorbjørn Lindeijer1-2/+2
C++17 should be universal enough by now. This raises the minimum CMake to 3.8, which should also pose no problem since Ubuntu 18.04 already shipped with CMake 3.10. C++17's 'if' initialization statement is now used in an efficient implementation of 'join' for vector<string>, found on StackOverflow.
2024-02-05Require PhysFS 3.0Thorbjørn Lindeijer1-2/+1
It seems the implementation of PhysicsFS RWops shipped requires a somewhat up-to-date PhysFS (beyond just a missing PHYSFS_DECL macro). Also simplified CMake files somewhat, enabling new behavior for some policies that were triggering warnings. And removed the no longer used FindSDL_gfx.cmake module (SDL_gfx is found using pkg-config since 2c51c98625b225cecfb9628c30d62d4e30f7e3e1).
2024-02-02Fixed CMakeLists.txt reference to README.mdThorbjørn Lindeijer1-1/+1
Hadn't expected 87470d984cc8f6fe12a354aec7bf93ee4fcb95eb to break the build, heh.
2024-01-25Always use C++11 and remove related compatibility option/codeThorbjørn Lindeijer1-3/+4
2024-01-25Removed X11 dependencyThorbjørn Lindeijer1-3/+0
It was only used for the clipboard, which is now interacted with through SDL 2.
2024-01-25Ported to SDL2Thorbjørn Lindeijer1-2/+2
2024-01-24Updated website URL to httpsThorbjørn Lindeijer1-1/+1
2012-08-31Turned off C++11 mode by default to avoid linker issuesErik Schilling1-1/+1
Compiling in C++11 mode causes trouble when using GCC 4.7 and linking to a version of Guichan that was not compiled in C++11 mode. Reviewed-by: bjorn.
2012-06-26make datadir an bindir paths modifiablehasufell1-2/+2
Reviewed-by: Ablu.
2012-04-12Revert "Default manaserv support to OFF for 0.6 release"Thorbjørn Lindeijer1-1/+1
This reverts commit 2ed8a171b63e6b58262801d1f0e0cd10ba265971. Conflicts: CMakeLists.txt
2012-04-02Bumped version and updated news in preparation of 0.6.1 releaseThorbjørn Lindeijer1-1/+1
2012-03-24Introduced compile-time option to disable use of C++0xThorbjørn Lindeijer1-0/+1
This is in order to still support older compilers, in particular GCC 4.2.1, so that Mana may be compiled for Maemo 5. Reviewed-by: Yohann Ferreira
2012-02-12Default manaserv support to OFF for 0.6 releaseThorbjørn Lindeijer1-1/+1
2011-09-09Set the current build version to 0.6.0 in prevision of a release.Yohann Ferreira1-1/+1
2011-02-15Fix compilation on Haiku and set config and data paths for it.DarkWind1-1/+1
2011-02-01Enable manaserv by default nowThorbjørn Lindeijer1-1/+1
2011-02-01Merge branch '0.5'Thorbjørn Lindeijer1-3/+8
Conflicts: po/de.po src/game.cpp src/resources/wallpaper.cpp
2011-01-26Prune the enet and manaserv files dependency of the 0.5 binary.Yohann Ferreira1-1/+6
Only using cmake conditions and an ifdef. This will greatly help packaging the mana 0.5 version on other distros.
2011-01-04Fixed paste under X11Thorbjørn Lindeijer1-2/+2
The check for whether we're not compiling for Mac was evaluating to false, apparently since it used the wrong CMake syntax. Reviewed-by: Bernd Wachter
2010-10-16Changed client version to 0.5.0.Yohann Ferreira1-1/+1
Trivial fix.
2010-08-15Add included enet to CMakeBernd Wachter1-0/+2
2010-07-23Fixing compatibility with cmake 2.6.0Renato Alves1-2/+2
The syntax IF ((condition) OR (condition)) is not accepted by cmake prior to 2.6.4. The syntax IF (NOT (condition OR condition)) is also not accepted. The patch should address this without affecting newer versions. A newline character was also automatically added to the end of the file.
2010-05-02Add some basic CPack stuffBernd Wachter1-0/+17
2010-03-18Improved handling of version argument for cmakeBernd Wachter1-12/+20
Reviewed-by: Thorbjørn Lindeijer
2010-02-25Added paste facility from the Wormux projectThorbjørn Lindeijer1-0/+3
With CMakeLists.txt adaptions from the Aethyra project. Reviewed-by: Bernd Wachter Reviewed-by: Jared Adams
2010-01-28Add minimal debug flags for Windows release builds; move definition of flags ↵Bernd Wachter1-5/+0
to src/
2010-01-26Enclose -Wall option in g++ check, remove -g flagBernd Wachter1-2/+4
2010-01-26Add compilation warnings when using cmake.Bertram1-0/+3
2010-01-25Allow version overriding by CMake parameters, autogenerate winver.hBernd Wachter1-1/+14
2009-10-24More rebrandingJared Adams1-3/+3
2009-06-09Updated version and changes for 0.0.29.1 releaseBjørn Lindeijer1-1/+1
2009-04-08Added switch to disable building locales Only build locales if gettext is ↵Bernd Wachter1-1/+7
available Add a workaround for a cmake-bug in translations target
2009-04-08Added support for localesBernd Wachter1-0/+1
2009-04-06Fixed DATADIR and LOCALEDIR variables for CMake-build; fixed game data ↵Bernd Wachter1-0/+2
installation
2009-04-04Fixed CMake build files; both tmwserv and eathena clients will get built, ↵Bernd Wachter1-0/+2
the eathena-binary gets named tmw-ea Fixed gitignore for CMake files
2009-03-24Updated version to 0.0.29 in all the other placesThorbjørn Lindeijer1-1/+1
2006-11-01Added CMake supportBjörn Steinbrink1-0/+21