|
|
libscid is a standalone extraction of the library-grade parts of Scid and ScidUp. It is intended for chess tools, analysis pipelines, language bindings and GUIs that need mature PGN, game, database and ECO functionality without depending on a desktop application.
- Opaque handles for positions, games, game cursors, PGN export options, ECO books and databases.
- PGN import, authoring, immutable cursor traversal, merge and export workflows.
- Board state, legal move handling, FEN, UCI and SAN helpers.
- Scid database creation, opening, listing, editing, import and export.
- ECO code parsing and opening-position lookup.
- Quick Start: compile a small
C ABI consumer with
cc, Make or CMake. - Installation: install a release archive or build and install from source.
- Examples and Recipes: choose a C ABI example by task.
- API Surface: understand the opaque handles, ownership rules and PGN game workflow.
- API Documentation: browse the generated public header reference.
cmake_minimum_required( VERSION 3.23 )
project( libscid-consumer LANGUAGES C )
find_package( libscid CONFIG REQUIRED )
add_executable( libscid-consumer main.c )
set_target_properties(
libscid-consumer
PROPERTIES
C_STANDARD 11
C_STANDARD_REQUIRED ON
C_EXTENSIONS OFF )
target_link_libraries( libscid-consumer PRIVATE LibScid::LibScid )Configure it with CMAKE_PREFIX_PATH pointing at a libscid installation:
cmake -S . -B _build -DCMAKE_PREFIX_PATH=/path/to/libscid
cmake --build _buildlibscid is distributed under the GNU GPL v2; see COPYING. Unless stated otherwise, modifications and additions in this repository are licensed under the same terms.
