Skip to content
Jesse Nicholson edited this page Dec 29, 2015 · 4 revisions

###Initial Setup - Windows
The GQ MSVC project builds GQ as a static library. Since GQ is a selector engine for Gumbo Parser, naturally, Gumbo Parser needs to be compiled and placed where GQ is expecting to find it. Note that if you already have a compiled DLL of Gumbo Parser present on your machine, you can simply edit the linker input and inclusion paths of the MSVC project to point to your version. If you do not already have a precompiled shared version of Gumbo Parser, then do the following:

  1. Download a current source release of Gumbo Parser.

  2. Unzip the release and place the output directory in GQ_PATH\deps. You should wind up with a directory structure similar to GQ_PATH\deps\gumbo-parser-0.10.1\, where the gumbo-parser-0.10.1 directory contains the src directory for Gumbo Parser.

  3. Browse to GQ_PATH\scripts\ and execute the following scripts with the name of the Gumbo Parser release folder as the sole argument. In our example, the release is gumbo-parser-0.10.1, so we use the scripts like so:

    • build-gumbo-parser-msvc-debug-x64.bat gumbo-parser-0.10.1
    • build-gumbo-parser-msvc-debug-x86.bat gumbo-parser-0.10.1
    • build-gumbo-parser-msvc-release-x64.bat gumbo-parser-0.10.1
    • build-gumbo-parser-msvc-release-x86.bat gumbo-parser-0.10.1
  4. If you followed these steps correctly, lib and include folders for each compiled version will have been created in GQ_PATH\deps\gumbo-parser\msvc\CONFIGURATION_NAME. The GQ project file(s) expect to find Gumbo Parser at these locations by default. You should be able to build and use GQ now.

###Initial Setup - Linux
TODO - Presently, there are no scripts or project files for building under Linux.

###Debugging Selectors
It can be pretty handy to see verbose output from GQ for debugging selectors, engine issues, and just plain seeing what's going on under the hood. If you build GQ in Debug and add GQ_VERBOSE_DEBUG_NFO to your preprocessor definitions, GQ will generate lots of console output, detailing nearly every single significant event at various stages of the program. Be advised that this will be a lot of text, so piping it to a file or something similar is recommended.

Clone this wiki locally