-
Notifications
You must be signed in to change notification settings - Fork 14
Home
###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:
-
Download a current source release of Gumbo Parser.
-
Unzip the release and place the output directory in
GQ_PATH\deps.
You should wind up with a directory structure similar toGQ_PATH\deps\gumbo-parser-0.10.1\
, where thegumbo-parser-0.10.1
directory contains thesrc
directory for Gumbo Parser. -
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 isgumbo-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
-
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.