Building CEED for Windows
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.
- 1 Installing the prerequisites
- 2 Installing Python
- 3 Installing pip
- 4 Installing pyside
- 5 Installing pyOpenGL
- 6 Installing boost binaries
- 7 Configuring a PyCEGUI build with cmake
- 8 Building PyCEGUI
- 9 Setting up the PyCEGUI dll dependencies
- 10 Cloning the CEED repository
- 11 Running CEED
- 12 Using Python-CEED-Migrate
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 VC10 (visual studio 2010) versions of the binaries if that is what you are using to build. (or VC9 / VC11 / VC12 / ... if you are building with those.) If you use VC14 and not for example VC9 then be sure that the paths also match this. Don't get confused about the paths listed in this article, they are exemplatory and based on VC9. Do not mix VC9 binaries with VC10 or VC11, etc. We recommend using VC9 to build CEED because this one is assured to work.
- Get Python 2.7.12 (32 bit version) for Windows and install it:
- 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.12 (default [...]", if this is the case then the install worked.
- Install the latest pip distribution: First download get-pip.py:
- 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.
- 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
- Install pyOpenGL on Windows with this installer:
Installing boost binaries
- We also need to install boost. We recommend using version boost 1.55, later versions are known to cause issues. You can use an .exe file for this that will install the necessary binaries from this download page:
(Be sure to get the version which matches the version of msvc you intend to build with. If 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 versions of MSVS on your machine, it is safe to install different versions of these boost distributions into the same root folder (e.g C:/boost_1_55_0/), as the *.h and *.hpp files are all identical, and the pre-compiled binary libs all get installed to sub-folders specific to different versions of msvc. (It is these folders and libs that we will be manually 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 from here:
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.
[The following two steps are optional but will make finding boost libraries a lot more comfortable: If you, for whatever reason, can not or do not want to add or modify environment variables, you can directly specify all of the paths manually in CMake, by setting the variables to path values analogously to those used in the boost path examples below]
- Set the following windows environment variables:
* 'BOOST_INCLUDEDIR' (Where the boost *.hpp files are) * 'BOOST_LIBRARYDIR' (Where the platform/compiler specific libs are) * 'BOOST_ROOT' (Set this to the root folder which contains the above two folders.)
- Now click 'configure'. CMake will now auto-detect most of the build requirements.
It 'should' now correctly auto-detect boost, However, if it failed to find any bost components, then you need to set them manually:
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 it may fail. So be sure to 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 CEGUI 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.
- Open the generated solution using MSVC and build the ALL_BUILDS project (You need 'Release' mode only)
- Go for a very long walk along a very long beach. Building PyCEGUI & PyCEGUI_OpenGLRenderer is very slow.
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) :
- 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) :
Cloning the CEED repository
- clone the following CEED repository, and verify that you are on the v0-8 branch.
- Go to your CEED\bin folder (the bin folder inside the folder that you just cloned CEED to)
- Edit runwrapper.bat so that the relative path CEGUI_BUILD_PATH matches the folder you just compiled 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)
You can also use the ceed-migrate tool for convert your old cegui-datafiles to the newer formats. See this page for some examples of the parameters ceed-migrate takes: Using CEED-Migrate