Difference between revisions of "Building CEED for Windows"
Line 112: | Line 112: | ||
=== Python ceed-migrate examples === | === Python ceed-migrate examples === | ||
python ceed-migrate --sourceType "CEGUI layout 3" --targetType "CEGUI layout 4" layout MainMenu_0_7.layout MainMenu_0_8.layout | python ceed-migrate --sourceType "CEGUI layout 3" --targetType "CEGUI layout 4" layout MainMenu_0_7.layout MainMenu_0_8.layout | ||
+ | python ceed-migrate scheme TaharezLook.scheme TaharezLook_0_8.scheme | ||
+ | python ceed-migrate looknfeel TaharezLook.looknfeel TaharezLook_0_8.looknfeel | ||
+ | python ceed-migrate font TimesNewRoman_12.font TimesNewRoman_12___V_0_8.font |
Revision as of 08:16, 11 June 2014
Written by Ident (Lukas Meindl) & Nickenstein79 (Working correctly as of 11th June, 2014)
The following instructions need to be done in the presented order and are created for the currently available version of CEED and could therefore be outdated at some point. Please notify us if you think this is outdated.
Contents
- 1 Cloning the CEED repository
- 2 Installing the prerequisites
- 3 Installing Python
- 4 Installing pip
- 5 Installing pyside
- 6 Installing pyOpenGL
- 7 Installing boost binaries
- 8 Configuring a PyCEGUI build with cmake
- 9 Building PyCEGUI
- 10 Setting up the pyCEGUI dll dependencies
- 11 Running CEED
- 12 Using CEED-Migrate
Cloning the CEED repository
Using source-version-control software compatible with mercurial databases (I use TortoiseHG) clone the following CEED repository, and verify that you are on the v0-8 branch. https://bitbucket.org/cegui/ceed
Installing the prerequisites
When downloading/installing binaries, be sure to get the version which matches your version of visual studio, for instance choose the 32-bit and VC9 (visual studio 2008) versions of the binaries if that is what you are using to build. (or VC10 / VC11 / VC12 if you are building with those.)
Installing Python
- Get Python 2.7.7 (32 bit version) for Windows and install it: https://www.python.org/downloads/
- Add your Python install folder path to the PATH variable in your Windows environment variables, e.g.: C:Projects\Python27
- Now add the Scripts folder to the PATH environment variable, e.g.: C:\Projects\Python27\Scripts & C:\Projects\Python27\Tools\Scripts (depending on which of those folders exists in your install)
- Open up a dos-command-prompt (cmd.exe) with admin rights and type "python" - See if you get something written into the console, such as "Python 2.7.6 (default [...]", if this is the case then the install worked.
Installing pip
- Install the latest pip distribution: First download get-pip.py : http://pip.readthedocs.org/en/latest/installing.html
- Open up a dos-command-prompt (cmd.exe) with admin rights, change to the folder to which you downloaded "get-pip.py" by using the "cd" command, e.g.: cd "A:/Downloads/Not porn"
- Type "python get-pip.py" and click enter in the dos-command-prompt
- pip should now be installed
- Afterwards enter "pip" and click enter. You should get some sort of information about pip now, if the install succeeded.
Installing pyside
- Now you can install pyside easily with the following command: "pip install -U PySide"
- You should get a console output notifying you of a successful install
Installing pyOpenGL
- pip install requires a C compiler for this and some other things. We suggest just installing pyOpenGL on Windows from this installer: https://pypi.python.org/packages/any/P/PyOpenGL/PyOpenGL-3.0.2.win32.exe
Installing boost binaries
- We also need to install boost. You can use an .exe file for this that will install the necessary binaries from this download page: http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0-build2/ (Be sure to get the version which matches the version of msvc you intend to build with. If you you use MSVC2008, then get the download with 'msvc-9.0' in the name, if you use MSVC2010 get the version with 'msvc-10.0' in the name, etc...)
- Note : If you have multiple version of MSVS on your machine, it is safe to install different versions of these boost distributions into the same folder, as the *.h and *.hpp files are all identical, and the compiled binary libs all go into sub-folders specific to that version of msvc. (It is these lib folders that we will pointing cmake to in the next section.)
Configuring a PyCEGUI build with cmake
- Clone CEGUI v0-8 from the CEGUI repository to a new local folder https://bitbucket.org/cegui/cegui/branch/v0-8 , e.g. to C:/cegui-v0-8
- Check that the branch of your working directory is really v0-8 after cloning, if not then update to the latest v0-8 commit
- Add the CEGUI dependencies folder into the CEGUI_v0_8 repository folder that you just cloned.
- Open CMake and set the source code folder to your new local folder, e.g.: C:/cegui-v0-8 and the binaries to for example: C:/cegui-v0-8/build
- Set the tick-boxes 'Advanced' and 'Grouped' to true. It makes it much easier to manage variables within cmake.
- Now click 'configure'. CMake will now auto-detect most of the build requirements. However it will probably fail to auto-detect boost, and so the following paths _MUST_ be set manually by the user:
These are directory-paths and file-paths to locations inside the boost and Python distributions that you installed in the previous steps.
(Here are examples of what they are set to on my machine)
cmake Boost path examples
- Boost_PYTHON_LIBRARY_DEBUG C:/boost_1_55_0/lib32-msvc-9.0/boost_python-vc90-mt-gd-1_55.lib
- Boost_PYTHON_LIBRARY_RELEASE C:/boost_1_55_0/lib32-msvc-9.0/boost_python-vc90-mt-1_55.lib
- Boost_SYSTEM_LIBRARY_DEBUG C:/boost_1_55_0/lib32-msvc-9.0/boost_system-vc90-mt-gd-1_55.lib
- Boost_SYSTEM_LIBRARY_RELEASE C:/boost_1_55_0/lib32-msvc-9.0/boost_system-vc90-mt-1_55.lib
- Boost_INCLUDE_DIR C:/boost_1_55_0
CMake may correctly auto-find the following Python variables, but if it may fail. So inspect them, and if they were not found, you need to set them manually.
Here are examples of mine:
cmake Python path examples
- PYTHON_INCLUDE_DIR C:/Python27/include
- PYTHON_LIBRARY C:/Python27/libs/python27.lib
- PYTHON_EXECUTABLE C:/Python27/python.exe
- Unselect Building the samples and select only OpenGL3 and OpenGL out of the available renderers to build
- Select CEGUI_BUILD_PYTHON_MODULES so that this option is checked
- Click 'configure' again, and then click 'generate', this should now work without errors and generate a solution-file in the binary folder that you specified as your build location.
Building PyCEGUI
- Open the generated solution in the build folder and build it (You need 'Release' mode only)
- Go for a very long walk along a very long beach. Building pyCEGUI & pyCEGUI_Renderer will take quite a long time.
Setting up the pyCEGUI dll dependencies
- Put the following dependencies of CEGUI into your build's bin folder, e.g.: C:/cegui-v0-8/build/bin
- From your CEGUI dependencies folder (e.g.: C:/cegui-v0-8/dependencies) :
- freetype.dll
- glew.dll
- pcre.dll
- From the boost binaries folder (e.g.: A:\Programs\boost_1_55_0\lib32-msvc-9.0 )
- boost_python-vc90-mt-1_55.dll (Or higher, depending on your version of MSVS & the boost lib folder you are using.)
- From your CEGUI dependencies folder (e.g.: C:/cegui-v0-8/dependencies) :
Running CEED
- Go to your CEED bin folder (this is the folder that you cloned in the very first step)
- Edit runwrapper.bat so that the relative path CEGUI_BUILD_PATH matches the folder you just compiled to PyCEGUI to
- Run the batch file, and the CEED editor should be launched (if not, start the guide again. If it still fails, ask for help on the CEGUI forums)
Using CEED-Migrate
You can also migrate your old CEGUI_0.7.x data files to be compatible with CEGUI_0_8 by running "python ceed-migrate [params]" or by creating a batch file similar to runwrapper.bat to process all of your old data files into the new format.
Python ceed-migrate examples
python ceed-migrate --sourceType "CEGUI layout 3" --targetType "CEGUI layout 4" layout MainMenu_0_7.layout MainMenu_0_8.layout python ceed-migrate scheme TaharezLook.scheme TaharezLook_0_8.scheme python ceed-migrate looknfeel TaharezLook.looknfeel TaharezLook_0_8.looknfeel python ceed-migrate font TimesNewRoman_12.font TimesNewRoman_12___V_0_8.font