For recent information, including updated build notes, browse ssc.lu.
SSC can be built from the unix command line using CMake version 3.11 or better, with a C++ 17 compiler such as appropriate versions of gcc or clang. It can also be built under Windows using Visual Studio 2017 or 2019.
The source code, and some prebuilt executables, can be found on the download page.
I’ve successfully built ssc under:
- Windows 8.1 & 10.0 (x86 & x64);
- macOS Mojave, Catalina and Big Sur (intel) using xCode (clang) from the command line;
- Linux centos 8 amd64 and ubuntu 20.10 server using gcc;
- openBSD 6.8 amd64 using clang.
I see no reason why it wouldn’t build under similar environments, but I make no promises.
You will need to set two environment variables:
SSCPATH to point to the ssc directory;
BOOST to point to the boost root directory.
ICU_PATH to point to the ICU root directory.
Many unii have standard packages that can install Boost and ICU. these are generally sufficient for building scc. When using standard packages, it is not necessary to set the environment variables for those packages.
To build from Visual Studio, navigate to recipe\tea, open the appropriate .sln, and build. I’ve built for Windows 7 / 8.1 / 10 using Visual Studios 2015 / 2017 / 2019 respectively. I’ve built successfully for x86 and x64; I’ve not tried ARM.
openBSD / Macos / Centos
You will need CMake 3.11 or better. You may need to configure the environment variables noted above. For macOS, I used the standard xcode command line tools. In OpenBSD 6.8, I used the default version of clang with the editions of cmake and boost found in ports. Under Centos, I used gcc 8.3.1. Gcc is the fastest for compilation.
From the home ssc directory:
cd recipe/tea cmake . make ctest -V make install
If everything works correctly, then everything will be built, a series of tests run, with a final result at the very end saying no failures. Having said that, given SSC is pre–alpha, don’t be too surprised to see some warnings or some final test errors. I wouldn’t have made a release if I didn’t think it worked, so don’t be too concerned about any test failures on systems known to work.