Skip to content

Developer guide

How do you upload the non-standalone Linux executable?

In the Qt Creator project settings, use a shadow build, which will put conquer_chess in the build/Desktop-Debug folder.

That folder must have a symbolic link to the resources:

cd build/Desktop-Debug
ln -s ../../resources

Compile Conquer Chess in debug mode.

Then run ./scripts/run_steamcmd_to_upload.sh to upload the executable and resources.

How do you upload the Windows executable?

Using an AppVeyor script that uploads the executable and all required DLLs.

Then, download all these into the windows_binary folder.

Then run ./scripts/run_steamcmd_to_upload.sh to upload these.

How did you set the AppVeyor script to SFML 2.6.1?

How does that look like?

Click on SFML 2.6.1

  • Click on 'Subtree'
How does that look like?

Click on 'Subtree'

  • Extract the full commit number from the GitHub URL, in this case 163b97d4625073093ae73585695cc4cfe4480998
How does that look like?

Extract the full commit number from the GitHub URL

  • In the root folder, the file vcpkg.json must use that commit number as a builtin-baseline.
How does that look like?

Here is an example (and complete) vcpkg.json:

{
  "name": "conquer-chess",
  "version": "0.13.0",
  "dependencies": [
    {
      "name": "sfml",
      "features": [
        "audio",
        "graphics",
        "network",
        "window"
      ]
    }
  ],
  "builtin-baseline": "163b97d4625073093ae73585695cc4cfe4480998"
}

Due to this, vcpkg will look for SFML 2.6.1 and all its dependencies at that point in its commit history.

How did you generate the FEN strings

I often used https://www.365chess.com/analysis_board.php.

How is the user input handled?

See architecture

Where is the code documentation?

See the Doxygen generated documentation.