Install GCC/Clang, CMake, make/ninja/etc.
Install xcode, CMake.
Install MSVC.
include(FetchContent)
FetchContent_Declare(yaclib
GIT_REPOSITORY https://github.com/YACLib/YACLib.git
GIT_TAG main
)
FetchContent_MakeAvailable(yaclib)
git clone <repo-url>
- In the build directory:
cmake <source-dir> <cmake-options>
CMake options:
-G <generator-name>
(more info).-D CMAKE_BUILD_TYPE=<build-type>
(more info).-D CMAKE_CXX_COMPILER=<cxx-compiler-path>
Path to your C++ compiler.-D YACLIB_BUILD_TEST=<OFF(default) or ON or SINGLE>
If ON, then build tests, if SINGLE, then make one test target-D YACLIB_FLAGS=<EMPTY(default) or WARN or ASAN or TSAN or UBSAN or LSAN or MEMSAN or COVERAGE or CORO or DISABLE_FUTEX or DISABLE_UNSAFE_FUTEX or DISABLE_SYMMETRIC_TRANSFER or DISABLE_FINAL_SUSPEND_TRANSFER>
Any of the specified flags will enable/disable the respective build property or functionality.-D YACLIB_FAULT=<OFF(default) or THREAD or FIBER>
UsingTHREAD
will provide fault-injection functionality and usingFIBER
will execute all operations in a single-threaded cooperative fiber scheduler.
cmake --build . -- <build-options>
In POSIX-compliant shell:
git clone [email protected]:YACLib/YACLib.git
cd YACLib
cmake -S . -B ./build -GNinja -DYACLIB_TEST=ON
cmake --build ./build --parallel