@NobodyNothing
I'm sorry that you feel that way, I didn't intend for GQP or GQE to be so difficult to use or understand. Please help me improve the documentation and help you with the errors you are receiving. In answer to your specific question, yes GQP does support both SFML 2.0 RC and SFML 1.6 natively, the explanation on how to use GQP will follow below. GQE also supports both SFML 2.0 RC and SFML 1.6 natively too. I can appreciate your frustration with using CMake, I myself had a hard time using CMake well at first and wish that there were better instructions. The information below I hope will assist you with getting GQP setup and making it useful for you.
GQP was designed to enable you to make use of many 3rd party libraries available on the internet in one of your Game Projects and also make it easy for you to have 1 or more projects started at the same time. Currently it supports the following 3rd party libraries natively: SFML v1.6 or v2.0RC, Thor (needs some work), TinyXML, Box2D, GQE latest version, TmxParser, and zlib. Each of these 3rd party libraries have an Options.cmake file that you can adjust as desired. Some of the options that can be modified include:
- Enabling or Disabling the 3rd party module from being used by GQP
- Using v2.0 RC (default) or v1.6 version of SFML
- Building the Example programs that come with each 3rd party module
- Building the Documentation for each 3rd party module (often using Doxygen)
- Using Shared or Static libraries when building each 3rd party module
- Specifying a specific revision tag to use when downloading each 3rd party module (defaults to Tip/Master)
Simply edit the Options.cmake file in the corresponding 3rd party library folder (e.g. see GQP/external/SFML/Options.cmake) to adjust these settings.
The next step is to create a new game project folder in GQP. For example, you might like to create a Galaga space shoot-em-up game. To accomplish this you navigate to the GQP/projects folder and copy either the "_Rename_Skeleton_" folder as "Galaga" or the Example folder as "Galaga". Then navigate and edit the Galaga/Options.cmake file and change every "SKELETON_" or "EXAMPLE_" to "GALAGA_" that you see in this file (there should only be two or three of them). The directory name you choose should match this name since that is how GQP matches project options to the directory they came from during the CMake processing. You should also modify the GALAGA_DEPS option in this file and add, in capital letters, the directory names of each 3rd party library you wish to use for your GALAGA program so that CMake will link these 3rd party libraries against your project during the Linker phase of compiling. Once this has been done you are ready to proceed to the next step.
The next step is to use CMake to produce a build environment for you to use. Most people prefer Visual Studio so I will give that example first, but if your using Code::Blocks or Linux the same can apply, just change the -G portion to suit your needs or let CMake auto detect what will work best. CMake works best if you build your code "out of source". This just means that you should create and navigate to a build directory before running CMake. I usually create GQP/build for Visual Studio and GQP/build2 for MinGW/Code::Blocks. Navigate to this directory and do one of the following from a command prompt.
cd C:\GQP\build
C:\GQP\build\cmake ..
OR
C:\GQP\build\cmake -G "CodeBlocks - MinGW Makefiles" ..
OR
C:\GQP\build\cmake -G "Visual Studio 10" ..
What will happen after running one of the above is that CMake will begin to parse all the CMake logic of GQP. The first thing it will discover (on the first run) is that the GQP/SFML directory and other 3rd party libraries don't exist, so it will download each 3rd party library directly from the Internet to the GQP folder. Once downloaded, it will not attempt to pull these 3rd party libraries again unless you delete these 3rd party folders and rerun the cmake commands above. Also, if you add a new "project" folder you can simply rerun the cmake commands above to have the new project added to your list of available projects. If everything goes well you should see "-- Build files have been written to: C:/GQP/build" indicating CMake completed successfully. Now you are ready to begin editing code for your project and using GQP, GQE, SFML, and any other 3rd party library you chose for your project(s). GQP provides an additional benefit for Windows users in that it will _automatically_ copy your "resources" folder from your project directory to the resulting Debug or Release directory creating by Visual Studio or the output folder created by Code::Blocks. This makes it easy for you to run the program from within your IDE without requiring you to manually copy the SFML, GQE, or TinyXML DLL files to your project build folders.
If you're using Visual Studio, open the newly created TopLevel.sln file found in the C:\GQP\build directory. This solution file will show all the external libraries you have active and your Galaga project you are about to start. The first thing I typically do is to right click on Galaga and select "Set as StartUp Project" and then right click and select "Properties". From the Properties dialog window find the Debugging category on the left and select it. Then change the Working Directory value on the right from $(ProjectDir) to $(OutDir). VisualStudio always executes code from the ProjectDirectory not the resulting "Debug" or "Release" folder it creates which is why the step above is necessary. By doing this you can just push the Green arrow at the top to begin the process of compiling and launching your Galaga program.
I'm not as familiar with Code::Blocks, but I expect the situation to be similar to the situation described above. I will setup Code::Blocks and make sure to document my experience in a future tutorial on the GQP website soon.
At this point you can "add" files to your project knowing that GQP is handling the compiling, linking, and management of the 3rd party libraries you have selected for your project.
Please don't hesitate to ask specific questions about the process described above, please give GQP another try and let me know how I can improve the documentation. Also, know that GQP makes heavy use of multiple tools (Git, HG, SVN, CMake, Doxygen, etc) and all of these tools _must_ be found on the Path. I have a defect on GQP to download these tools and use them from a local GQP directory instead to make it easier to use GQP which I will be doing soon, this way the only tool that will need to be installed is the CMake tool and your preferred compiler tool.