Follow this guide if you're interested in building the library to contribute (check CONTRIBUTING.md! and Coding Style) or you're simply curious to run the test suite.
The test suite and example projects uses the handmade / self-hosted SC::Build system, that describes builds in C++
SC.bat build configureSC.sh build configure_Build/_Projects).SC.sh build.Under VSCode select Tasks: Run Task and choose:
Generate ProjectsIntel Machines
SC.bat build compile SCTest --config Debug --generator default --arch intel64SC.sh build compile SCTest --config Debug --generator default --arch intel64Arm Machines
SC.bat build compile SCTest --config Debug --generator default --arch arm64SC.sh build compile SCTest --config Debug --generator default --arch arm64./SC.sh build compile SCTest --config Debug --generator native./SC.sh build compile SCTest --config Debug --generator native --arch arm64 --verbose./SC.sh build run SCBuildTest --config Debug --generator nativeSC.bat build compile SCTest --config Debug --generator nativeSC.bat build run SCBuildTest --config Debug --generator nativecompile and run commands also accept --output quiet|normal|verbose, or the --quiet, --normal, and --verbose shortcuts. Legacy positional syntax is still accepted for compatibility._Build/_Projects/VisualStudio2022/SCWorkspace/SCWorkspace.sln_Build/_Projects/XCode/SCWorkspace/SCWorkspace.xcworkspacecd _Build/_Projects/Make/SCWorkspace/linuxcd _Build/_Projects/Make/SCWorkspace/applemake -j SCTestmake -j SCTest CONFIG=ReleaseUnder VSCode select Tasks: Run Task and choose an appropriate targets like:
Build SCTest Debug intel64 [1]Build SCTest Debug arm64 [1]Build SCTest Release intel64 [1]Build SCTest Release arm64 [1]make and c++ command (can be switched to be clang or gcc). Builds only current host architecture (arm64 or x86_64). Still needs XCode installed for the sysroot. Under VSCode select Tasks: Run Task and choose an appropriate targets like:
Build SCTest Debug intel64 [1]Build SCTest Debug arm64 [1]Build SCTest Release intel64 [1]Build SCTest Release arm64 [1]make and c++ commands. Builds only current host architecture (arm64 or x86_64).Under VSCode select Tasks: Run Task and choose an appropriate targets like:
Build SCTest Debug intel64 [1]Build SCTest Debug arm64 [1]Build SCTest Release intel64 [1]Build SCTest Release arm64 [1]Visual Studio 2022 installedExecutables will be at _Build/_Outputs/${platform}-${arch}-${build}-${compiler}-${config}/${EXAMPLE_NAME}.
For example assuming host to be ARM64 Linux, compiling with the native backend through Clang in Debug will cause the folder to be _Build/_Outputs/linux-arm64-Native-clang-Debug/SCTest.
Running the default target should work out of the box, as paths are already generated accordingly.
Select one of the appropriate Run and Debug configuration like:
SCTest intel64 [apple] (gdb) [1]SCTest intel64 [apple] (lldb) [2]SCTest arm64 [apple] (gdb) [1]SCTest arm64 [apple] (lldb) [2]SCTest intel64 [linux] (gdb) [1]SCTest intel64 [linux] (lldb) [2]SCTest arm64 [linux] (gdb) [1]SCTest arm64 [linux] (lldb) [2]gdb debugger. Implicitly invokes Build SCTest Debug to build the executable. lldb debugger. Implicitly invokes Build SCTest Debug to build the executable. You need CodeLLDB or similar extension installed in VSCode.Select one of the appropriate Run and Debug configuration like:
SCTest intel64 [windows] [1]SCTest arm64 [windows] [1]Visual Studio 2022 installedThe SC-build.cpp from SC::Tool downloads Doxygen and some customization themes and then builds the documentation in _Build/_Documentation.
SC.bat build documentationSC.sh build documentationUnder VSCode select Tasks: Run Task and choose:
Build Documentation