Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

varqox/simlib

Repository files navigation

Repository moved to monorepo: https://github.com/varqox/sim-project

simlib Build Status

simlib is a C++ utility library for Linux originally created for the sim project.

Some functionality documentation

How to build

You will need meson build system to be installed (on most platforms it is in the meson package).

Dependencies

You need a C++ compiler with C++17 support. Meson will point out missing dependencies.

Release build

meson setup release-build/ -Dbuildtype=release -Ddefault_library=both
ninja -C release-build/ base

Development build

meson setup build/ -Dc_args=-DDEBUG -Dcpp_args='-DDEBUG -D_GLIBCXX_DEBUG' -Db_sanitize=undefined -Db_lundef=false
ninja -C build/ base

Static build

Static build is useful if you want to build executables linked statically.

meson setup static-build/ -Ddefault_library=static -Dstatic=true
ninja -C static-build/ base

Installing

Run after building:

# we will use release-build build directory, if you use other just change all release-build below
# if you want to install to default prefix
meson install -C release-build
# specifying other install directory
DESTDIR=other/install/dir/ meson install -C release-build

Running tests

ninja -C build/ test # or other build directory

Development build targets

Formating C/C++ sources

To format all sources (clang-format is required):

ninja -C build format

Linting C/C++ sources

All sources

To lint all sources:

ninja -C build tidy

or

./tidy

Specified sources

To lint specified sources:

./tidy path/to/source.cc other/source.h

Static analysis

ninja -C build scan-build

About

Sim C++ utility library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages