Sysquake Application Builder
Sysquake Application Builder is an application which can convert SQ files to stand-alone applications. Resulting applications can be distributed freely, without requiring any additional license from Calerga. The original contents of the SQ file and libraries it uses are included in an intermediate byte-code difficult to reverse-engineer. This makes these applications suitable in the following situations:
- when you want to distribute a stand-alone application to colleagues, students, or on the World Wide Web without requiring that your users buy Sysquake licenses or install anything else;
- when you want to let other people execute SQ files and still protect the intellectual property they contain;
- when you want to create exams or contests by letting users understand the problem from the graphical manipulation and not from looking at the code.
The drawback of applications created by Sysquake Application Builder is their size, which is not much less than Sysquake itself.
Sysquake Application Builder currently runs on Macintosh, Windows and Linux, and can create native applications (i.e. it is not possible to create applications on one platform for the other one). It supports roughly all the features implemented in Sysquake core application.
Sysquake Application Builder is a separate application. To use it, you typically launch it, then open an SQ or SQD file, test it, and save its state to an application file. Then you can launch this file and test it. The resulting application uses the title and the version strings defined in the SQ file in its About box; you should make sure that they are defined. Since Sysquake Application Builder does not include a command window, you would rather develop your SQ files with Sysquake, then use Sysquake Application Builder to check that everything works correctly (standard output and errors are displayed in a read-only window) before building the application. The result does not have an output window; all output should be displayed in the figure window.
To help you check that the application performs as intended, Sysquake Application Builder has a menu "File/Check Undefined Functions". Functions or variables which are referenced, but not defined, are listed in the output window. These functions include those available in Sysquake and not in Sysquake Application Builder, such as those implemented in extensions, and function or variable spelling errors. To perform the same check in Sysquake, you can type info f in the command window; see the description of info for more informations.
Extensions required by an SQ file must be specified explicitly with extension declarations. On Windows and Linux, extensions are copied to a directory named SQRuntimeExt which must be located at the same place as applications and distributed with them (SQRuntimeExt can contain more extensions than what is listed in the original SQ file, and hence be shared by multiple applications created by Sysquake Application Builder). On Mac OS X, extensions are copied inside the application package.
You should first make sure that your SQ file runs as intended in Sysquake or Sysquake Pro, where the editor and the command window offer more debugging facilities: you can display values by removing semicolons at the end of expressions, call functions from the command window, debug them from there with breakpoints and the profiler.
Then in Sysquake Application Builder, check if there are errors or warnings in the output window. Errors can come from missing functions or extensions.
Finally, if the applications created by Sysquake Application Builder does work differently, you can check the text output and error messages. Usually, this information is not visible because there is no command or output window. Seeing it depends on the operating system:
- Open a Command Prompt window (type cmd.exe (return) in the Start menu)
- Drag and drop the icon of the exe application created by Sysquake Application Builder to the Command Prompt window
- Add /console (following a space) to enable output to the console window
- Type return
- OS X
- Open a Terminal window (the Terminal application can be found by typing command-U in the Finder)
- Drag and drop the icon of the application created by Sysquake Application Builder to the Terminal window
- Type return
- Open a terminal window (typing control+alt+t should do it)
- Execute the application created by Sysquake Application Builder
To make the conversion of multiple SQ files easier, it is possible to execute Sysquake Application Builder as a command, typically in a batch file on Windows or in a script or makefile on Macintosh and Linux. Sysquake Application Builder loads an SQ or SQD file as usual, and then immediately saves it as an application and terminates. This can be repeated for each file without manual action.
Sysquake Application Builder should be called with command-line option /o:file.exe, where file.exe is the name of the application to create:
"C:\Program Files (x86)\SysquakePro\Sysquake_App_Builder.exe" /o:file.exe file.sq
The path of Sysquake Application Builder should reflect its actual location.
Sysquake Application Builder should be called with command-line option -o file.app, where file.app is the name of the application to create:
"/Applications/Sysquake Pro/Sysquake App Builder.app/Contents/MacOS/Sysquake App Builder" -o file.app file.sq
The path of Sysquake Application Builder should reflect its actual location. What follows Sysquake App Builder.app is the path of the executable code inside the package, as is common for Mac applications.
Sysquake Application Builder should be called with command-line option -o file, where file is the name of the application to create:
sqappbuilder -o file file.sq