INSTALL This file is contains installation instructions for the STEP Class Library. These installation requires that you have the following software available: - C and C++ compilers (Tested with GCC, MSVC, Embarcadero) - bison, byacc, or yacc (only bison has been tested recently) - flex or lex (only flex has been tested recently) - CMake - mingw (only on Windows) -------------------- Installation -------------------- * Known to work on Linux, OSX, and Windows * Build system uses CMake now: configure, Makefile, and all autotools files have been removed, as has mkProbe. * Building SCL from the command prompt: - cd scl - mkdir build - cd build - cmake .. - make - make install # optional * Building SCL from the GUI: - Run cmake-gui, set it to build in scl/build - Select the correct build file generator - Press Configure - Change options as necessary, configuring again afterwards - If there are errors, some options may not be visible until the error is resolved - Press Generate - Open the main build file using your preferred build tool * Build options (append to the 'cmake ..' line): -DBUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp" - this generates c++ for the schema, and compiles it into a library. Also works with directories, as long as each dir only has one express file. - multiple files/directories are separated by semicolons - this also builds a 'p21read' program, which reads one step file and writes another. It may change whitespace or remove comments; otherwise, the input and output files should be identical. If they are not identical, either the file does not match the schema, or SCL generated incorrect source code. -DBUILD_SCHEMAS=ALL - Added to make use of ctest easier. If BUILD_SCHEMAS == ALL, then CMake adds each *.exp file found in data/. -DCMAKE_BUILD_TYPE=Release - this causes binaries to be built without debugging information - without this, cmake defaults to a Debug build * Using CTest to test SCL: - Read the comments in run_ctest.cmake - (OPTIONAL) Create scl/../.SCL_CTEST_PREFS.cmake, and set variables in it (this file is required for CDash submission to be enabled) - Run tests with `ctest -S run_ctest.cmake` * Using CTest to regenerate the schema matrix on the github SCL wiki: - Requires: - git - python - a clone of the git repo for the wiki at scl/../wiki-scl - run `ctest -S ctest_matrix.cmake`