Building CEED for Windows

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Revision as of 08:16, 11 June 2014 by Nickenstein79 (Talk | contribs)

Jump to: navigation, search

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.


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


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.)


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