Skip to content

bahmanm/libscid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libscid Logo - Winged Pawn

libscid

A C++20 library for chess games, PGN, Scid databases, ECO codes and spelling files.

CI dependabot Documentation Examples

libscid is a standalone extraction of the library-grade parts of Scid and ScidUp. It is intended for chess tools, analysis pipelines and GUIs that need mature PGN, game, database, ECO and name normalisation functionality without depending on a desktop application.

What It Provides

  • LibScidCpp::Core: board state, moves, games, movetext, notation and PGN.
  • LibScidCpp::Database: Scid database sessions, indexes, names, filters, searches, opening-tree statistics and game load/save workflows.
  • LibScidCpp::Eco: ECO code values and opening-position classification.
  • LibScidCpp::Spelling: spelling-file-backed name correction and player metadata.

Start Here

Minimal CMake Consumer

cmake_minimum_required( VERSION 3.23 )

project( libscid-consumer LANGUAGES CXX )

find_package( libscid-cpp CONFIG REQUIRED )

add_executable( libscid-consumer main.cpp )
target_compile_features( libscid-consumer PRIVATE cxx_std_20 )
target_link_libraries( libscid-consumer PRIVATE LibScidCpp::Core )

Configure it with CMAKE_PREFIX_PATH pointing at a libscid installation:

cmake -S . -B _build -DCMAKE_PREFIX_PATH=/path/to/libscid
cmake --build _build

Licence

libscid is distributed under the GNU GPL v2; see COPYING. Unless stated otherwise, modifications and additions in this repository are licensed under the same terms.