Difference between revisions of "Compile ECWolf on Windows"
m (→Dependencies: Provide link to prebuilt development libraries for customized SDL_mixer.) |
|||
Line 4: | Line 4: | ||
The following programs/libraries are used by ECWolf. The versions listed below are known to work, however other versions may work. | The following programs/libraries are used by ECWolf. The versions listed below are known to work, however other versions may work. | ||
− | * [http://cmake.org/ CMake] 2. | + | * [http://cmake.org/ CMake] 2.8.12 or later |
− | * [http://www.libsdl.org/ | + | * [http://www.libsdl.org/ libSDL] 2.0.5 (2.0.6 or later will compile, but there are some issues with the audio overhaul at this time.) |
− | * [http://maniacsvault.net/ecwolf/files/tools/dev/ SDL_mixer for ECWolf] (Standard [ | + | * [http://maniacsvault.net/ecwolf/files/tools/dev/ SDL_mixer for ECWolf] (Standard [https://www.libsdl.org/projects/SDL_mixer/ SDL_mixer] 2.0.1 will work, but features will be disabled.) |
− | In addition to the above, the following are | + | * [https://www.libsdl.org/projects/SDL_net/ SDL_net] 2.0.1 {{hg}} |
− | * [http://www.zlib.net/ zlib] 1.2. | + | |
− | * [http://bzip.org/ bzip2] 1.0. | + | In addition to the above, ECWolf comes with a copy of the following which can optionally be compiled separately if you are so inclined. |
+ | * [http://www.zlib.net/ zlib] 1.2.11 | ||
+ | * [http://bzip.org/ bzip2] 1.0.6 | ||
+ | * [http://ijg.org/ jpeg] 6b | ||
[http://tortoisehg.bitbucket.org/ Mercurial] is also needed to checkout a copy of the latest source. You will also need a compiler. MinGW and MSVC 2005 or later should work fine. The steps are more or less the same for both. | [http://tortoisehg.bitbucket.org/ Mercurial] is also needed to checkout a copy of the latest source. You will also need a compiler. MinGW and MSVC 2005 or later should work fine. The steps are more or less the same for both. | ||
Line 15: | Line 18: | ||
== Retrieving the Source == | == Retrieving the Source == | ||
Use Mercurial to retrieve the latest version of the source. | Use Mercurial to retrieve the latest version of the source. | ||
− | hg clone [https://bitbucket.org/ | + | hg clone [https://bitbucket.org/ecwolf/ecwolf https://bitbucket.org/ecwolf/ecwolf] |
== Compiling == | == Compiling == | ||
Line 22: | Line 25: | ||
Here select the compiler you're going to generate the project for. Use MinGW Makefiles for MinGW or select the Visual Studio version if you are using that. Once you've made your selection, click "Finish." | Here select the compiler you're going to generate the project for. Use MinGW Makefiles for MinGW or select the Visual Studio version if you are using that. Once you've made your selection, click "Finish." | ||
− | At this point CMake will likely error because it can't find SDL. Find the SDL_INCLUDE_DIR and SDL_LIBRARY_TEMP and set them accordingly (SDL_LIBRARY_TEMP should point to | + | At this point CMake will likely error because it can't find SDL. Find the SDL_INCLUDE_DIR and SDL_LIBRARY_TEMP and set them accordingly (SDL_LIBRARY_TEMP should point to SDL2.lib for MSVC or SDL2.dll for MinGW). Once you do that, clicking configure, and it will complain about SDL_mixer. Do basically the same thing only for SDL_MIXER variables and click "Configure" again. For the latest development version repeat for SDL_NET. It should succeed so click "Generate." |
For MSVC you will now have a sln file which should build successfully. For MinGW open a command propmt and cd to the build directory and type mingw32-make. With MSVC you can statically link the standard library by adding /MT to CMAKE_CXX_FLAGS_RELEASE. MinGW can do the same by adding -static-libgcc. | For MSVC you will now have a sln file which should build successfully. For MinGW open a command propmt and cd to the build directory and type mingw32-make. With MSVC you can statically link the standard library by adding /MT to CMAKE_CXX_FLAGS_RELEASE. MinGW can do the same by adding -static-libgcc. |
Revision as of 19:27, 24 March 2018
This guide will demonstrate how to compile the Mercurial version of ECWolf on Windows.
Dependencies
The following programs/libraries are used by ECWolf. The versions listed below are known to work, however other versions may work.
- CMake 2.8.12 or later
- libSDL 2.0.5 (2.0.6 or later will compile, but there are some issues with the audio overhaul at this time.)
- SDL_mixer for ECWolf (Standard SDL_mixer 2.0.1 will work, but features will be disabled.)
- SDL_net 2.0.1 (development version only)
In addition to the above, ECWolf comes with a copy of the following which can optionally be compiled separately if you are so inclined.
Mercurial is also needed to checkout a copy of the latest source. You will also need a compiler. MinGW and MSVC 2005 or later should work fine. The steps are more or less the same for both.
Retrieving the Source
Use Mercurial to retrieve the latest version of the source.
hg clone https://bitbucket.org/ecwolf/ecwolf
Compiling
First open the CMake GUI and put the location to the source code in the source code path. (Note that this is not the src directory in the repository but the root.) Then for the directory to build the binary in, create a build directory in the source code directory and use that. Once the two paths are entered click "Configure."
Here select the compiler you're going to generate the project for. Use MinGW Makefiles for MinGW or select the Visual Studio version if you are using that. Once you've made your selection, click "Finish."
At this point CMake will likely error because it can't find SDL. Find the SDL_INCLUDE_DIR and SDL_LIBRARY_TEMP and set them accordingly (SDL_LIBRARY_TEMP should point to SDL2.lib for MSVC or SDL2.dll for MinGW). Once you do that, clicking configure, and it will complain about SDL_mixer. Do basically the same thing only for SDL_MIXER variables and click "Configure" again. For the latest development version repeat for SDL_NET. It should succeed so click "Generate."
For MSVC you will now have a sln file which should build successfully. For MinGW open a command propmt and cd to the build directory and type mingw32-make. With MSVC you can statically link the standard library by adding /MT to CMAKE_CXX_FLAGS_RELEASE. MinGW can do the same by adding -static-libgcc.