Revision: 77701
          http://sourceforge.net/p/brlcad/code/77701
Author:   starseeker
Date:     2020-11-06 22:27:09 +0000 (Fri, 06 Nov 2020)
Log Message:
-----------
Rework the stepcode build, stripping it down to the core pieces we use.  
Hopefully this will be a step towards make it easier to understand and debug...

Modified Paths:
--------------
    brlcad/branches/extbuild/misc/CMake/FindSTEPCODE.cmake
    brlcad/branches/extbuild/src/conv/step/STEPWrapper.h
    brlcad/branches/extbuild/src/conv/step/g-step/AP203.h
    brlcad/branches/extbuild/src/conv/step/g-step/g-step.cpp
    brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContext.h
    brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContextElement.h
    brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedDefinition.h
    
brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedProductDefinition.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ContextDependentShapeRepresentation.h
    brlcad/branches/extbuild/src/conv/step/step-g/GeometricSetSelect.h
    brlcad/branches/extbuild/src/conv/step/step-g/ItemDefinedTransformation.h
    brlcad/branches/extbuild/src/conv/step/step-g/OpenNurbsInterfaces.cpp
    brlcad/branches/extbuild/src/conv/step/step-g/Product.h
    brlcad/branches/extbuild/src/conv/step/step-g/ProductCategory.h
    brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinition.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextAssociation.h
    brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextRole.h
    brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormation.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormationWithSpecifiedSource.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionRelationship.h
    brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionShape.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionWithAssociatedDocuments.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ProductRelatedProductCategory.h
    brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinition.h
    
brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinitionRepresentation.h
    brlcad/branches/extbuild/src/conv/step/step-g/RepresentationItem.h
    brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationship.h
    
brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationshipWithTransformation.h
    brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspect.h
    brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspectRelationship.h
    brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinition.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinitionRepresentation.h
    
brlcad/branches/extbuild/src/conv/step/step-g/ShapeRepresentationRelationship.h
    brlcad/branches/extbuild/src/conv/step/step-g/step-g.cpp
    brlcad/branches/extbuild/src/conv/step/util/list_elements.cpp
    brlcad/branches/extbuild/src/other/ext/CMake/FindSTEPCODE.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/AUTHORS
    brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/COPYING
    brlcad/branches/extbuild/src/other/ext/stepcode/README
    brlcad/branches/extbuild/src/other/ext/stepcode/data/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/data/README
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/classes.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/classes.h
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/classes_misc.c
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/classes_wrapper.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/collect.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/complexSupport.h
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/complexlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/entlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/entnode.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/expressbuild.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/match-ors.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/multlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/multpass.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/non-ors.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/orlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/print.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/selects.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/trynext.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/write.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/exppp.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/alg.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/caseitem.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/dict.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/entity.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/error.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/expr.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/express.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/expscan.l
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/generated/expscan.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/hash.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/lexact.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/linklist.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/memory.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/object.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/ordered_attrs.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/resolve.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/schema.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/scope.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/stmt.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/symbol.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/type.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/variable.c
    brlcad/branches/extbuild/src/other/ext/stepcode.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode.dist

Added Paths:
-----------
    brlcad/branches/extbuild/src/other/ext/stepcode/CMake/
    brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindLEMON.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindPERPLEX.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindRE2C.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/CMake/Path_Setup.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/include/dirobj.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/config.h.in
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/ExpDict.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/Registry.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/STEPaggregate.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/STEPattribute.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/STEPattributeList.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/STEPcomplex.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/STEPundefined.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/SingleLinkList.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/SubSuperIterators.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/baseType.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/complexSupport.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/dictdefs.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/dispnode.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/dispnodelist.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/instmgr.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/mgrnode.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/mgrnodearray.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/mgrnodelist.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/needFunc.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/read_func.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/sdai.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/sdaiApplication_instance.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/core/sdaiSelect.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiApplication_instance_set.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiBinary.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiDaObject.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiEntity_extent.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiEntity_extent_set.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiEnum.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiModel_contents.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiModel_contents_list.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiObject.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiSession_instance.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/dai/sdaiString.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/STEPfile.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/SdaiHeaderSchema.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/SdaiHeaderSchemaClasses.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/SdaiSchemaInit.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/cmdmgr.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/editordefines.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/editor/seeinfodefault.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/export.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/exppp/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/exppp/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/exppp/exppp.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/alg.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/basic.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/caseitem.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/de_end.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/decstart.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/defstart.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/dict.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/entity.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/error.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/expbasic.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/expr.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/express.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/hash.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/lexact.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/linklist.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/memory.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/object.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/ordered_attrs.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/resolve.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/schema.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/scope.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/stmt.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/symbol.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/type.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/express/variable.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/Str.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/dirobj.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/errordesc.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/gennode.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/gennodearray.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/gennodelist.h
    
brlcad/branches/extbuild/src/other/ext/stepcode/include/stepcode/utils/sc_hash.h
    brlcad/branches/extbuild/src/other/ext/stepcode/src/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/ExpDict.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/ExpDict.inline.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/README
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/Registry.inline.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPaggregate.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPattribute.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPattribute.inline.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPattributeList.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPcomplex.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/STEPundefined.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/SingleLinkList.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/core/SingleLinkList.inline.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/collect.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/complexlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/dict-pic.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/dispnode.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/dispnodelist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/entlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/entnode.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/instmgr.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/match-ors.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/mgrnode.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/mgrnodearray.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/mgrnodelist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/multlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/needFunc.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/non-ors.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/notes.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/orlist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/print.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/read_func.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/sdai.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/core/sdaiApplication_instance.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/sdaiSelect.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/core/trynext.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiApplication_instance_set.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiBinary.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiDaObject.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiEntity_extent.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiEntity_extent_set.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiEnum.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiModel_contents.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiModel_contents_list.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiObject.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiSession_instance.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/dai/sdaiString.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/README
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/STEPfile.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/STEPfile.inline.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/SdaiHeaderSchema.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/SdaiHeaderSchemaAll.cc
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/SdaiHeaderSchemaInit.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/SdaiSchemaInit.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/editor/cmdmgr.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/main.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/sc_getopt.cpp
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/sc_mkdir.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/README
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/Str.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/dirobj.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/errordesc.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/gennode.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/gennodearray.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/gennodelist.cc
    brlcad/branches/extbuild/src/other/ext/stepcode/src/utils/sc_hash.cc

Removed Paths:
-------------
    brlcad/branches/extbuild/src/other/ext/stepcode/CTestConfig.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/ChangeLog
    brlcad/branches/extbuild/src/other/ext/stepcode/INSTALL
    brlcad/branches/extbuild/src/other/ext/stepcode/NEWS
    brlcad/branches/extbuild/src/other/ext/stepcode/SC_VERSION.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/TODO
    brlcad/branches/extbuild/src/other/ext/stepcode/cmake/
    brlcad/branches/extbuild/src/other/ext/stepcode/ctest_matrix.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ISO15926/
    
brlcad/branches/extbuild/src/other/ext/stepcode/data/STEPTools_merged_schema/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap210e2/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap214e3/as1-oc-214.stp
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap214e3/dm1-id-214.stp
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap214e3/io1-cm-214.stp
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap214e3/s1-c5-214/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap214e3/sg1-c5-214.stp
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap219/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap227/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap235/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap238/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap239/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ap240/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/cd209/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/cd242/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ifc2x3/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/ifc4/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/pdm/
    brlcad/branches/extbuild/src/other/ext/stepcode/data/wip210e3/
    brlcad/branches/extbuild/src/other/ext/stepcode/doc/
    brlcad/branches/extbuild/src/other/ext/stepcode/include/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/include/exppp/
    brlcad/branches/extbuild/src/other/ext/stepcode/include/express/
    brlcad/branches/extbuild/src/other/ext/stepcode/include/ordered_attrs.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/sc_cf_cmake.h.in
    brlcad/branches/extbuild/src/other/ext/stepcode/include/sc_export.h
    brlcad/branches/extbuild/src/other/ext/stepcode/include/sc_stdbool.h
    brlcad/branches/extbuild/src/other/ext/stepcode/lcov.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/misc/
    brlcad/branches/extbuild/src/other/ext/stepcode/run_ctest.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/src/base/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/clSchemas/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/cldai/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/cleditor/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/cllazyfile/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/clprobe-ui/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/clstepcore/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/clutils/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/fedex_main.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2python/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/exppp-main.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/fedex.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/inithook.c
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/test/
    brlcad/branches/extbuild/src/other/ext/stepcode/src/test/
    brlcad/branches/extbuild/src/other/ext/stepcode/test/

Modified: brlcad/branches/extbuild/misc/CMake/FindSTEPCODE.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/FindSTEPCODE.cmake      2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/misc/CMake/FindSTEPCODE.cmake      2020-11-06 
22:27:09 UTC (rev 77701)
@@ -46,23 +46,7 @@
 # module where to look.
 # =============================================================================
 
-# Check that each of the libraries has an expected header,
-# as well as the toplevel defined headers. (TODO - are the
-# latter needed beyond the stepcode build itself?  Trim this
-# to the minimum actually needed...)
-set(STEPCODE_HDRS
-  base/sc_benchmark.h
-  cldai/sdaiObject.h
-  cleditor/STEPfile.h
-  clstepcore/sdai.h
-  clutils/gennodearray.h
-  exppp/exppp.h
-  express/express.h
-  sc_cf.h
-  )
-
 set(STEPCODE_LIBS
-  base
   express
   exppp
   stepcore
@@ -73,7 +57,6 @@
 
 set(STEPCODE_EXEC
   exp2cxx
-  exppp
   )
 
 # Search STEPCODE_ROOT first if it is set.
@@ -85,20 +68,11 @@
 
 # Try each search configuration.
 foreach(search ${_STEPCODE_SEARCHES})
-  find_path(STEPCODE_BASE_DIR NAMES sc_benchmark.h ${${search}} PATH_SUFFIXES 
include include/stepcode/base)
-  find_path(STEPCODE_DAI_DIR NAMES sdaiObject.h ${${search}} PATH_SUFFIXES 
include include/stepcode/cldai)
-  find_path(STEPCODE_EDITOR_DIR NAMES STEPfile.h ${${search}} PATH_SUFFIXES 
include include/stepcode/cleditor)
-  find_path(STEPCODE_STEPCORE_DIR NAMES sdai.h ${${search}} PATH_SUFFIXES 
include include/stepcode/clstepcore)
-  find_path(STEPCODE_UTILS_DIR NAMES gennodearray.h ${${search}} PATH_SUFFIXES 
include include/stepcode/clutils)
-  find_path(STEPCODE_EXPPP_DIR NAMES exppp.h ${${search}} PATH_SUFFIXES 
include include/stepcode/exppp)
-  find_path(STEPCODE_EXPRESS_DIR NAMES express.h ${${search}} PATH_SUFFIXES 
include include/stepcode/express)
-  find_path(STEPCODE_INCLUDE_DIR NAMES sc_cf.h ${${search}} PATH_SUFFIXES 
include include/stepcode)
-  #TODO - should be an all-or-nothing for the set...
+  find_path(STEPCODE_INCLUDE_DIR NAMES stepcode/core/sdai.h ${${search}} 
PATH_SUFFIXES include)
 endforeach()
 
 # Allow STEPCODE_LIBRARY to be set manually, as the location of the netpbm 
library
 foreach(search ${_STEPCODE_SEARCHES})
-  find_library(STEPCODE_BASE_LIBRARY NAMES base NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
   find_library(STEPCODE_EXPRESS_LIBRARY NAMES express NAMES_PER_DIR 
${${search}} PATH_SUFFIXES lib)
   find_library(STEPCODE_EXPPP_LIBRARY NAMES exppp NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
   find_library(STEPCODE_CORE_LIBRARY NAMES stepcore NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
@@ -111,19 +85,11 @@
 # Allow STEPCODE_LIBRARY to be set manually, as the location of the netpbm 
library
 foreach(search ${_STEPCODE_SEARCHES})
   find_program(EXP2CXX_EXECUTABLE exp2cxx ${${search}} PATH_SUFFIXES bin)
-  find_program(EXPPP_EXECUTABLE exppp ${${search}} PATH_SUFFIXES bin)
   #TODO - should be an all-or-nothing for the set...
 endforeach()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(STEPCODE DEFAULT_MSG
-  STEPCODE_BASE_DIR
-  STEPCODE_DAI_DIR
-  STEPCODE_EDITOR_DIR
-  STEPCODE_STEPCORE_DIR
-  STEPCODE_UTILS_DIR
-  STEPCODE_EXPPP_DIR
-  STEPCODE_EXPRESS_DIR
   STEPCODE_INCLUDE_DIR
   STEPCODE_BASE_LIBRARY
   STEPCODE_EXPRESS_LIBRARY
@@ -133,20 +99,13 @@
   STEPCODE_DAI_LIBRARY
   STEPCODE_UTILS_LIBRARY
   EXP2CXX_EXECUTABLE
-  EXPPP_EXECUTABLE
   )
 
 if (STEPCODE_FOUND)
   set(STEPCODE_INCLUDE_DIRS
     ${STEPCODE_INCLUDE_DIR}
-    ${STEPCODE_BASE_DIR}
-    ${STEPCODE_STEPCORE_DIR}
-    ${STEPCODE_EDITOR_DIR}
-    ${STEPCODE_UTILS_DIR}
-    ${STEPCODE_DAI_DIR}
     )
   set(STEPCODE_LIBRARIES
-    ${STEPCODE_BASE_LIBRARY}
     ${STEPCODE_EXPRESS_LIBRARY}
     ${STEPCODE_EXPPP_LIBRARY}
     ${STEPCODE_CORE_LIBRARY}

Modified: brlcad/branches/extbuild/src/conv/step/STEPWrapper.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/STEPWrapper.h        2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/STEPWrapper.h        2020-11-06 
22:27:09 UTC (rev 77701)
@@ -41,11 +41,11 @@
 #include <vector>
 
 /* interface headers */
-#include <sdai.h>
+#include "stepcode/core/sdai.h"
 
-#include <STEPattribute.h>
-#include <STEPcomplex.h>
-#include <STEPfile.h>
+#include "stepcode/core/STEPattribute.h"
+#include "stepcode/core/STEPcomplex.h"
+#include "stepcode/editor/STEPfile.h"
 
 #include <BRLCADWrapper.h>
 

Modified: brlcad/branches/extbuild/src/conv/step/g-step/AP203.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/g-step/AP203.h       2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/g-step/AP203.h       2020-11-06 
22:27:09 UTC (rev 77701)
@@ -30,10 +30,10 @@
 
 #include "BRLCADWrapper.h"
 #include "STEPWrapper.h"
-#include "STEPfile.h"
-#include "sdai.h"
-#include "STEPcomplex.h"
-#include "STEPattribute.h"
+#include "stepcode/editor/STEPfile.h"
+#include "stepcode/core/sdai.h"
+#include "stepcode/core/STEPcomplex.h"
+#include "stepcode/core/STEPattribute.h"
 
 #include <sstream>
 #include <map>

Modified: brlcad/branches/extbuild/src/conv/step/g-step/g-step.cpp
===================================================================
--- brlcad/branches/extbuild/src/conv/step/g-step/g-step.cpp    2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/g-step/g-step.cpp    2020-11-06 
22:27:09 UTC (rev 77701)
@@ -36,7 +36,7 @@
 #include <iostream>
 
 // step-g related headers
-#include "SdaiHeaderSchema.h"
+#include "stepcode/editor/SdaiHeaderSchema.h"
 #include "schema.h"
 
 #include "G_Objects.h"

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContext.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContext.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContext.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContextElement.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContextElement.h   
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ApplicationContextElement.h   
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedDefinition.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedDefinition.h     
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedDefinition.h     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 class CharacterizedProductDefinition;
 class ProductDefinition;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedProductDefinition.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedProductDefinition.h  
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/CharacterizedProductDefinition.h  
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 class ProductDefinition;
 class ProductDefinitionRelationship;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ContextDependentShapeRepresentation.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ContextDependentShapeRepresentation.h
 2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ContextDependentShapeRepresentation.h
 2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/GeometricSetSelect.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/GeometricSetSelect.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/GeometricSetSelect.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 class Point;
 class Curve;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ItemDefinedTransformation.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ItemDefinedTransformation.h   
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ItemDefinedTransformation.h   
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "Transformation.h"
 // forward declaration of class

Modified: brlcad/branches/extbuild/src/conv/step/step-g/OpenNurbsInterfaces.cpp
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/OpenNurbsInterfaces.cpp       
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/OpenNurbsInterfaces.cpp       
2020-11-06 22:27:09 UTC (rev 77701)
@@ -45,7 +45,7 @@
 #  pragma clang diagnostic pop
 #endif
 
-#include "sdai.h"
+#include "core/sdai.h"
 class SDAI_Application_instance;
 
 /* must come after nist step headers */

Modified: brlcad/branches/extbuild/src/conv/step/step-g/Product.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/Product.h     2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/Product.h     2020-11-06 
22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ProductCategory.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ProductCategory.h     
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ProductCategory.h     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinition.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinition.h   
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinition.h   
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextAssociation.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextAssociation.h
 2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextAssociation.h
 2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextRole.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextRole.h    
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionContextRole.h    
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormation.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormation.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormation.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormationWithSpecifiedSource.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormationWithSpecifiedSource.h
       2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionFormationWithSpecifiedSource.h
       2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "ProductDefinitionFormation.h"
 

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionRelationship.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionRelationship.h   
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionRelationship.h   
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionShape.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionShape.h      
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionShape.h      
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "PropertyDefinition.h"
 

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionWithAssociatedDocuments.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionWithAssociatedDocuments.h
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductDefinitionWithAssociatedDocuments.h
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "ProductDefinition.h"
 

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ProductRelatedProductCategory.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ProductRelatedProductCategory.h   
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ProductRelatedProductCategory.h   
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "ProductCategory.h"
 

Modified: brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinition.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinition.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinition.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinitionRepresentation.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinitionRepresentation.h
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/PropertyDefinitionRepresentation.h
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/RepresentationItem.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/RepresentationItem.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/RepresentationItem.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 class ON_Brep;
 

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationship.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationship.h  
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationship.h  
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ON_Brep;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationshipWithTransformation.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationshipWithTransformation.h
        2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/RepresentationRelationshipWithTransformation.h
        2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "RepresentationRelationship.h"
 // forward declaration of class

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspect.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspect.h 2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspect.h 2020-11-06 
22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ProductDefinitionShape;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspectRelationship.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspectRelationship.h     
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ShapeAspectRelationship.h     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 // forward declaration of class
 class ShapeAspect;

Modified: brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinition.h
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinition.h     
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinition.h     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 class ProductDefinitionShape;
 class ShapeAspect;

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinitionRepresentation.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinitionRepresentation.h   
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeDefinitionRepresentation.h   
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "PropertyDefinitionRepresentation.h"
 // forward declaration of class

Modified: 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeRepresentationRelationship.h
===================================================================
--- 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeRepresentationRelationship.h 
    2020-11-06 20:56:36 UTC (rev 77700)
+++ 
brlcad/branches/extbuild/src/conv/step/step-g/ShapeRepresentationRelationship.h 
    2020-11-06 22:27:09 UTC (rev 77701)
@@ -29,7 +29,7 @@
 
 #include "STEPEntity.h"
 
-#include "sdai.h"
+#include "core/sdai.h"
 
 #include "RepresentationRelationship.h"
 // forward declaration of class

Modified: brlcad/branches/extbuild/src/conv/step/step-g/step-g.cpp
===================================================================
--- brlcad/branches/extbuild/src/conv/step/step-g/step-g.cpp    2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/step-g/step-g.cpp    2020-11-06 
22:27:09 UTC (rev 77701)
@@ -43,8 +43,8 @@
 //
 // include NIST step related headers
 //
-#include <sdai.h>
-#include <STEPfile.h>
+#include "core/sdai.h"
+#include "editor/STEPfile.h"
 #include "Factory.h"
 #include "schema.h"
 

Modified: brlcad/branches/extbuild/src/conv/step/util/list_elements.cpp
===================================================================
--- brlcad/branches/extbuild/src/conv/step/util/list_elements.cpp       
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/conv/step/util/list_elements.cpp       
2020-11-06 22:27:09 UTC (rev 77701)
@@ -18,12 +18,12 @@
 #include <iostream>
 
 /* General SCL stuff */
-#include <ExpDict.h>
-#include <STEPfile.h>
-#include <STEPattribute.h>
-#include <STEPcomplex.h>
-#include <SdaiHeaderSchema.h>
-#include <sdai.h>
+#include "stepcode/core/ExpDict.h"
+#include "stepcode/editor/STEPfile.h"
+#include "stepcode/core/STEPattribute.h"
+#include "stepcode/core/STEPcomplex.h"
+#include "stepcode/editor/SdaiHeaderSchema.h"
+#include "stepcode/core/sdai.h"
 #include "schema.h"
 
 #include "ap_schema.h"

Modified: brlcad/branches/extbuild/src/other/ext/CMake/FindSTEPCODE.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/CMake/FindSTEPCODE.cmake     
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/CMake/FindSTEPCODE.cmake     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -1,4 +1,4 @@
-#                   F I N D V D S . C M A K E
+#               F I N D S T E P C O D E . C M A K E
 # BRL-CAD
 #
 # Copyright (c) 2013-2020 United States Government as represented by
@@ -35,24 +35,84 @@
 ###
 # - Find STEPCODE
 #
-# TODO - this is a stub.  Doing this correctly means looking for
-# multiple libraries and headers
-
 # The following variables are set:
 #
-#  STEPCODE_INCLUDE_DIRS   - where to find vds.h, etc.
-#  STEPCODE_LIBRARIES      - List of libraries when using vds.
-#  STEPCODE_FOUND          - True if vds found.
+#  STEPCODE_INCLUDE_DIRS   - where to find stepcode headers
+#  STEPCODE_LIBRARIES      - List of libraries when using stepcode.
+#  STEPCODE_FOUND          - True if stepcode found.
 
-find_path(STEPCODE_INCLUDE_DIR stepcode.h)
-find_library(STEPCODE_LIBRARY NAMES stepcode)
 
+# A user may set ``STEPCODE_ROOT`` to a stepcode installation root to tell this
+# module where to look.
+# =============================================================================
+
+set(STEPCODE_LIBS
+  express
+  exppp
+  stepcore
+  stepeditor
+  stepdai
+  steputils
+  )
+
+set(STEPCODE_EXEC
+  exp2cxx
+  )
+
+# Search STEPCODE_ROOT first if it is set.
+set(_STEPCODE_SEARCHES)
+if(STEPCODE_ROOT)
+  set(_STEPCODE_SEARCH_ROOT PATHS ${STEPCODE_ROOT} NO_DEFAULT_PATH)
+  list(APPEND _STEPCODE_SEARCHES _STEPCODE_SEARCH_ROOT)
+endif()
+
+# Try each search configuration.
+foreach(search ${_STEPCODE_SEARCHES})
+  find_path(STEPCODE_INCLUDE_DIR NAMES stepcode/core/sdai.h ${${search}} 
PATH_SUFFIXES include)
+endforeach()
+
+# Allow STEPCODE_LIBRARY to be set manually, as the location of the netpbm 
library
+foreach(search ${_STEPCODE_SEARCHES})
+  find_library(STEPCODE_EXPRESS_LIBRARY NAMES express NAMES_PER_DIR 
${${search}} PATH_SUFFIXES lib)
+  find_library(STEPCODE_EXPPP_LIBRARY NAMES exppp NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
+  find_library(STEPCODE_CORE_LIBRARY NAMES stepcore NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
+  find_library(STEPCODE_EDITOR_LIBRARY NAMES stepeditor NAMES_PER_DIR 
${${search}} PATH_SUFFIXES lib)
+  find_library(STEPCODE_DAI_LIBRARY NAMES stepdai NAMES_PER_DIR ${${search}} 
PATH_SUFFIXES lib)
+  find_library(STEPCODE_UTILS_LIBRARY NAMES steputils NAMES_PER_DIR 
${${search}} PATH_SUFFIXES lib)
+  #TODO - should be an all-or-nothing for the set...
+endforeach()
+
+# Allow STEPCODE_LIBRARY to be set manually, as the location of the netpbm 
library
+foreach(search ${_STEPCODE_SEARCHES})
+  find_program(EXP2CXX_EXECUTABLE exp2cxx ${${search}} PATH_SUFFIXES bin)
+  #TODO - should be an all-or-nothing for the set...
+endforeach()
+
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(STEPCODE DEFAULT_MSG STEPCODE_LIBRARY 
STEPCODE_INCLUDE_DIR)
+find_package_handle_standard_args(STEPCODE DEFAULT_MSG
+  STEPCODE_INCLUDE_DIR
+  STEPCODE_BASE_LIBRARY
+  STEPCODE_EXPRESS_LIBRARY
+  STEPCODE_EXPPP_LIBRARY
+  STEPCODE_CORE_LIBRARY
+  STEPCODE_EDITOR_LIBRARY
+  STEPCODE_DAI_LIBRARY
+  STEPCODE_UTILS_LIBRARY
+  EXP2CXX_EXECUTABLE
+  )
 
 if (STEPCODE_FOUND)
-  set(STEPCODE_INCLUDE_DIRS ${STEPCODE_INCLUDE_DIR})
-  set(STEPCODE_LIBRARIES    ${STEPCODE_LIBRARY})
+  set(STEPCODE_INCLUDE_DIRS
+    ${STEPCODE_INCLUDE_DIR}
+    )
+  set(STEPCODE_LIBRARIES
+    ${STEPCODE_EXPRESS_LIBRARY}
+    ${STEPCODE_EXPPP_LIBRARY}
+    ${STEPCODE_CORE_LIBRARY}
+    ${STEPCODE_EDITOR_LIBRARY}
+    ${STEPCODE_DAI_LIBRARY}
+    ${STEPCODE_UTILS_LIBRARY}
+    )
 endif()
 
 # Local Variables:

Modified: brlcad/branches/extbuild/src/other/ext/stepcode/AUTHORS
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/AUTHORS     2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/AUTHORS     2020-11-06 
22:27:09 UTC (rev 77701)
@@ -1,6 +1,6 @@
-Various authors have contributed to SCL since 2009. Their work is available at 
-https://github.com/mpictor/StepClassLibrary and/or
-http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?view=log
+Various authors have contributed to STEPCODE since 2009. Their work is 
available at
+https://github.com/stepcode/stepcode
+https://github.com/mpictor/StepClassLibrary
 
 In alphabetical order:
 Bertucat, Roch (rbertucat)

Added: brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindLEMON.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindLEMON.cmake       
                        (rev 0)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindLEMON.cmake       
2020-11-06 22:27:09 UTC (rev 77701)
@@ -0,0 +1,241 @@
+#
+# - Find lemon executable and provides macros to generate custom build rules
+# The module defines the following variables
+#
+#  LEMON_EXECUTABLE - path to the lemon program
+#  LEMON_TEMPLATE - location of the lemon template file
+
+#=============================================================================
+#                 F I N D L E M O N . C M A K E
+#
+# Originally based off of FindBISON.cmake from Kitware's CMake distribution
+#
+# Copyright (c) 2010-2020 United States Government as represented by
+#                the U.S. Army Research Laboratory.
+# Copyright 2009 Kitware, Inc.
+# Copyright 2006 Tristan Carel
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+#
+# * The names of the authors may not be used to endorse or promote
+#   products derived from this software without specific prior written
+#   permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+set(_LEMON_SEARCHES)
+
+# Search LEMON_ROOT first if it is set.
+if(LEMON_ROOT)
+  set(_LEMON_SEARCH_ROOT PATHS ${LEMON_ROOT} NO_DEFAULT_PATH)
+  list(APPEND _LEMON_SEARCHES _LEMON_SEARCH_ROOT)
+endif()
+
+# Normal search.
+set(_LEMON_x86 "(x86)")
+set(_LEMON_SEARCH_NORMAL
+    PATHS  "$ENV{ProgramFiles}/lemon"
+          "$ENV{ProgramFiles${_LEMON_x86}}/lemon")
+unset(_LEMON_x86)
+list(APPEND _LEMON_SEARCHES _LEMON_SEARCH_NORMAL)
+
+set(LEMON_NAMES lemon)
+
+# Try each search configuration.
+foreach(search ${_LEMON_SEARCHES})
+  find_program(LEMON_EXECUTABLE lemon ${${search}} PATH_SUFFIXES bin)
+endforeach()
+mark_as_advanced(LEMON_EXECUTABLE)
+
+foreach(search ${_LEMON_SEARCHES})
+  find_file(LEMON_TEMPLATE lempar.c ${${search}} PATH_SUFFIXES ${DATA_DIR} 
${DATA_DIR}/lemon)
+endforeach()
+mark_as_advanced(LEMON_TEMPLATE)
+
+if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+  # look for the template in share
+  if (DATA_DIR AND EXISTS "${DATA_DIR}/lemon/lempar.c")
+    set (LEMON_TEMPLATE "${DATA_DIR}/lemon/lempar.c")
+  elseif (EXISTS "share/lemon/lempar.c")
+    set (LEMON_TEMPLATE "share/lemon/lempar.c")
+  elseif (EXISTS "/usr/share/lemon/lempar.c")
+    set (LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
+  endif (DATA_DIR AND EXISTS "${DATA_DIR}/lemon/lempar.c")
+endif (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+
+if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+  # look for the template in bin dir
+  get_filename_component(lemon_path ${LEMON_EXECUTABLE} PATH)
+  if (lemon_path)
+    if (EXISTS ${lemon_path}/lempar.c)
+      set (LEMON_TEMPLATE "${lemon_path}/lempar.c")
+    endif (EXISTS ${lemon_path}/lempar.c)
+    if (EXISTS /usr/share/lemon/lempar.c)
+      set (LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
+    endif (EXISTS /usr/share/lemon/lempar.c)
+  endif (lemon_path)
+endif(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+
+if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+  # fallback
+  set (LEMON_TEMPLATE "lempar.c")
+  if (NOT EXISTS ${LEMON_TEMPLATE})
+    message(WARNING "Lemon's lempar.c template file could not be found 
automatically, set LEMON_TEMPLATE")
+  endif (NOT EXISTS ${LEMON_TEMPLATE})
+endif (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
+
+mark_as_advanced(LEMON_TEMPLATE)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE 
LEMON_TEMPLATE)
+
+# Define the macro
+#  LEMON_TARGET(<Name> <LemonInput> <LemonSource> <LemonHeader>
+#              [<ArgString>])
+# which will create a custom rule to generate a parser. <LemonInput> is
+# the path to a lemon file. <LemonSource> is the desired name for the
+# generated source file. <LemonHeader> is the desired name for the
+# generated header which contains the token list. Anything in the optional
+# <ArgString> parameter is appended to the lemon command line.
+#
+#  ====================================================================
+#  Example:
+#
+#   find_package(LEMON)
+#   LEMON_TARGET(MyParser parser.y parser.c parser.h)
+#   add_executable(Foo main.cpp ${LEMON_MyParser_OUTPUTS})
+#  ====================================================================
+
+include(CMakeParseArguments)
+
+if(NOT COMMAND LEMON_TARGET)
+  macro(LEMON_TARGET Name Input)
+
+    get_filename_component(IN_FILE_WE ${Input} NAME_WE)
+    set(LVAR_PREFIX ${Name}_${IN_FILE_WE})
+
+    if(${ARGC} GREATER 3)
+      CMAKE_PARSE_ARGUMENTS(${LVAR_PREFIX} "" 
"OUT_SRC_FILE;OUT_HDR_FILE;WORKING_DIR;EXTRA_ARGS" "" ${ARGN})
+    endif(${ARGC} GREATER 3)
+
+    if (TARGET perplex_stage)
+      set(DEPS_TARGET perplex_stage)
+    endif (TARGET perplex_stage)
+
+    # Need a working directory
+    if("${${LVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
+      set(${LVAR_PREFIX}_WORKING_DIR 
"${CMAKE_CURRENT_BINARY_DIR}/${LVAR_PREFIX}")
+    endif("${${LVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
+    file(MAKE_DIRECTORY ${${LVAR_PREFIX}_WORKING_DIR})
+
+    # Output source file
+    if ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+      set(${LVAR_PREFIX}_OUT_SRC_FILE 
${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
+    else ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+      get_filename_component(specified_out_dir ${${LVAR_PREFIX}_OUT_SRC_FILE} 
PATH)
+      if(NOT "${specified_out_dir}" STREQUAL "")
+       message(FATAL_ERROR "\nFull path specified for OUT_SRC_FILE - should be 
filename only.\n")
+      endif(NOT "${specified_out_dir}" STREQUAL "")
+      set(${LVAR_PREFIX}_OUT_SRC_FILE 
${${LVAR_PREFIX}_WORKING_DIR}/${${LVAR_PREFIX}_OUT_SRC_FILE})
+    endif ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+
+    # Output header file
+    if ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+      set(${LVAR_PREFIX}_OUT_HDR_FILE 
${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
+    else ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+      get_filename_component(specified_out_dir ${${LVAR_PREFIX}_OUT_HDR_FILE} 
PATH)
+      if(NOT "${specified_out_dir}" STREQUAL "")
+       message(FATAL_ERROR "\nFull path specified for OUT_HDR_FILE - should be 
filename only.\n")
+      endif(NOT "${specified_out_dir}" STREQUAL "")
+      set(${LVAR_PREFIX}_OUT_HDR_FILE 
${${LVAR_PREFIX}_WORKING_DIR}/${${LVAR_PREFIX}_OUT_HDR_FILE})
+    endif ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+
+    # input file
+    get_filename_component(in_full ${Input} ABSOLUTE)
+    if("${in_full}" STREQUAL "${Input}")
+      set(lemon_in_file ${Input})
+    else("${in_full}" STREQUAL "${Input}")
+      set(lemon_in_file "${CMAKE_CURRENT_SOURCE_DIR}/${Input}")
+    endif("${in_full}" STREQUAL "${Input}")
+
+
+    # names of lemon output files will be based on the name of the input file
+    set(LEMON_GEN_SOURCE ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
+    set(LEMON_GEN_HEADER ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
+    set(LEMON_GEN_OUT ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.out)
+
+    # copy input to bin directory and run lemon
+    get_filename_component(INPUT_NAME ${Input} NAME)
+    add_custom_command(
+      OUTPUT ${LEMON_GEN_OUT} ${LEMON_GEN_SOURCE} ${LEMON_GEN_HEADER}
+      COMMAND ${CMAKE_COMMAND} -E copy ${lemon_in_file} 
${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME}
+      COMMAND ${LEMON_EXECUTABLE} -T${LEMON_TEMPLATE} 
${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME} ${${LVAR_PREFIX}__EXTRA_ARGS}
+      DEPENDS ${Input} ${LEMON_EXECUTABLE_TARGET} ${DEPS_TARGET}
+      WORKING_DIRECTORY ${${LVAR_PREFIX}_WORKING_DIR}
+      COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}"
+      )
+
+    # rename generated outputs
+    if(NOT "${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "${LEMON_GEN_SOURCE}")
+      add_custom_command(
+       OUTPUT ${${LVAR_PREFIX}_OUT_SRC_FILE}
+       COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_SOURCE} 
${${LVAR_PREFIX}_OUT_SRC_FILE}
+       DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_SOURCE} 
${DEPS_TARGET}
+       )
+      set(LEMON_${Name}_OUTPUTS ${${LVAR_PREFIX}_OUT_SRC_FILE} 
${LEMON_${Name}_OUTPUTS})
+    endif(NOT "${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "${LEMON_GEN_SOURCE}")
+    if(NOT "${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "${LEMON_GEN_HEADER}")
+      add_custom_command(
+       OUTPUT ${${LVAR_PREFIX}_OUT_HDR_FILE}
+       COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_HEADER} 
${${LVAR_PREFIX}_OUT_HDR_FILE}
+       DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_HEADER} 
${DEPS_TARGET}
+       )
+      set(LEMON_${Name}_OUTPUTS ${${LVAR_PREFIX}_OUT_HDR_FILE} 
${LEMON_${Name}_OUTPUTS})
+    endif(NOT "${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "${LEMON_GEN_HEADER}")
+
+    set(LEMON_${Name}_OUTPUTS ${LEMON_${Name}_OUTPUTS} ${LEMON_GEN_OUT})
+
+    # make sure we clean up generated output and copied input
+    set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES 
"${LEMON_${Name}_OUTPUTS}")
+    set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES 
"${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME}")
+
+    # macro ran successfully
+    set(LEMON_${Name}_DEFINED TRUE)
+
+    set(LEMON_${Name}_SRC ${${LVAR_PREFIX}_OUT_SRC_FILE})
+    set(LEMON_${Name}_HDR ${${LVAR_PREFIX}_OUT_HDR_FILE})
+    set(LEMON_${Name}_INCLUDE_DIR ${${LVAR_PREFIX}_WORKING_DIR})
+
+  endmacro(LEMON_TARGET)
+endif(NOT COMMAND LEMON_TARGET)
+
+#============================================================
+# FindLEMON.cmake ends here
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8


Property changes on: 
brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindLEMON.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindPERPLEX.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindPERPLEX.cmake     
                        (rev 0)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindPERPLEX.cmake     
2020-11-06 22:27:09 UTC (rev 77701)
@@ -0,0 +1,290 @@
+#
+# - Find perplex executable and provides macros to generate custom build rules
+# The module defines the following variables
+#
+#  PERPLEX_EXECUTABLE - path to the perplex program
+#  PERPLEX_TEMPLATE - location of the perplex template file
+
+#=============================================================================
+#                 F I N D P E R P L E X . C M A K E
+#
+# Originally based off of FindBISON.cmake from Kitware's CMake distribution
+#
+# Copyright (c) 2010-2020 United States Government as represented by
+#                the U.S. Army Research Laboratory.
+# Copyright 2009 Kitware, Inc.
+# Copyright 2006 Tristan Carel
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+#
+# * The names of the authors may not be used to endorse or promote
+#   products derived from this software without specific prior written
+#   permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+set(_PERPLEX_SEARCHES)
+
+# Search PERPLEX_ROOT first if it is set.
+if(PERPLEX_ROOT)
+  set(_PERPLEX_SEARCH_ROOT PATHS ${PERPLEX_ROOT} NO_DEFAULT_PATH)
+  list(APPEND _PERPLEX_SEARCHES _PERPLEX_SEARCH_ROOT)
+endif()
+
+# Normal search.
+set(_PERPLEX_x86 "(x86)")
+set(_PERPLEX_SEARCH_NORMAL
+    PATHS  "$ENV{ProgramFiles}/perplex"
+          "$ENV{ProgramFiles${_PERPLEX_x86}}/perplex")
+unset(_PERPLEX_x86)
+list(APPEND _PERPLEX_SEARCHES _PERPLEX_SEARCH_NORMAL)
+
+set(PERPLEX_NAMES perplex)
+
+# Try each search configuration.
+foreach(search ${_PERPLEX_SEARCHES})
+  find_program(PERPLEX_EXECUTABLE perplex ${${search}} PATH_SUFFIXES bin)
+endforeach()
+mark_as_advanced(PERPLEX_EXECUTABLE)
+
+foreach(search ${_PERPLEX_SEARCHES})
+  find_file(PERPLEX_TEMPLATE perplex_template.c ${${search}} PATH_SUFFIXES 
${DATA_DIR} ${DATA_DIR}/perplex)
+endforeach()
+mark_as_advanced(PERPLEX_TEMPLATE)
+
+if(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
+  get_filename_component(perplex_path ${PERPLEX_EXECUTABLE} PATH)
+  if(perplex_path)
+    set(PERPLEX_TEMPLATE "")
+    if(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
+      get_filename_component(perplex_template_path 
"${perplex_path}/../share/perplex/perplex_template.c" ABSOLUTE)
+      set(PERPLEX_TEMPLATE "${perplex_template_path}")
+    endif(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
+    if(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT 
PERPLEX_TEMPLATE)
+      get_filename_component(perplex_template_path 
"${perplex_path}/../share/perplex_template.c" ABSOLUTE)
+      set(PERPLEX_TEMPLATE "${perplex_template_path}")
+    endif(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT 
PERPLEX_TEMPLATE)
+  endif(perplex_path)
+  if(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
+    set(PERPLEX_TEMPLATE "/usr/share/perplex/perplex_template.c")
+  endif(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
+endif(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE 
PERPLEX_TEMPLATE)
+mark_as_advanced(PERPLEX_TEMPLATE)
+
+# Defines two macros - PERPLEX_TARGET, which takes perplex inputs and
+# runs both perplex and re2c to generate C source code/headers, and
+# ADD_PERPLEX_LEMON_DEPENDENCY which is used to set up dependencies between
+# scanner and parser targets when necessary.
+#
+# #====================================================================
+#  Example:
+#
+#   find_package(LEMON)
+#   find_package(RE2C)
+#   find_package(PERPLEX)
+#
+#   LEMON_TARGET(MyParser parser.y "${CMAKE_CURRENT_BINARY_DIR}/parser.cpp")
+#   PERPLEX_TARGET(MyScanner scanner.re  
"${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp" 
"${CMAKE_CURRENT_BINARY_DIR}/scanner_header.hpp")
+#   ADD_PERPLEX_LEMON_DEPENDENCY(MyScanner MyParser)
+#
+#   include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+#   add_executable(Foo
+#      Foo.cc
+#      ${LEMON_MyParser_OUTPUTS}
+#      ${PERPLEX_MyScanner_OUTPUTS}
+#   )
+#  ====================================================================
+#
+#=============================================================================
+#
+# Originally based off of FindBISON.cmake from Kitware's CMake distribution
+#
+# Copyright (c) 2010-2020 United States Government as represented by
+#                the U.S. Army Research Laboratory.
+# Copyright 2009 Kitware, Inc.
+# Copyright 2006 Tristan Carel
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+#
+# * The names of the authors may not be used to endorse or promote
+#   products derived from this software without specific prior written
+#   permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+#============================================================
+# PERPLEX_TARGET (public macro)
+#============================================================
+
+include(CMakeParseArguments)
+
+if(NOT COMMAND PERPLEX_TARGET)
+  macro(PERPLEX_TARGET Name Input)
+    get_filename_component(IN_FILE_WE ${Input} NAME_WE)
+    set(PVAR_PREFIX ${Name}_${IN_FILE_WE})
+
+    if (TARGET perplex_stage)
+      set(DEP_TARGET perplex_stage)
+    endif (TARGET perplex_stage)
+
+    if(${ARGC} GREATER 3)
+      CMAKE_PARSE_ARGUMENTS(${PVAR_PREFIX} "" 
"TEMPLATE;OUT_SRC_FILE;OUT_HDR_FILE;WORKING_DIR" "" ${ARGN})
+    endif(${ARGC} GREATER 3)
+
+    # Need a working directory
+    if("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
+      set(${PVAR_PREFIX}_WORKING_DIR 
"${CMAKE_CURRENT_BINARY_DIR}/${PVAR_PREFIX}")
+    endif("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
+    file(MAKE_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR})
+
+    # Set up intermediate and final output names
+
+    # Output source file
+    if ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+      set(${PVAR_PREFIX}_OUT_SRC_FILE 
${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
+    else ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+      get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_SRC_FILE} 
PATH)
+      if(NOT "${specified_out_dir}" STREQUAL "")
+       message(FATAL_ERROR "\nFull path specified for OUT_SRC_FILE - should be 
filename only.\n")
+      endif(NOT "${specified_out_dir}" STREQUAL "")
+      set(${PVAR_PREFIX}_OUT_SRC_FILE 
${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_SRC_FILE})
+    endif ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
+
+    # Output header file
+    if ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+      set(${PVAR_PREFIX}_OUT_HDR_FILE 
${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
+    else ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+      get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_HDR_FILE} 
PATH)
+      if(NOT "${specified_out_dir}" STREQUAL "")
+       message(FATAL_ERROR "\nFull path specified for OUT_HDR_FILE - should be 
filename only.\n")
+      endif(NOT "${specified_out_dir}" STREQUAL "")
+      set(${PVAR_PREFIX}_OUT_HDR_FILE 
${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_HDR_FILE})
+    endif ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
+
+    # input file
+    get_filename_component(in_full ${Input} ABSOLUTE)
+    if("${in_full}" STREQUAL "${Input}")
+      set(perplex_in_file ${Input})
+    else("${in_full}" STREQUAL "${Input}")
+      set(perplex_in_file "${CMAKE_CURRENT_SOURCE_DIR}/${Input}")
+    endif("${in_full}" STREQUAL "${Input}")
+
+    # Intermediate file
+    set(re2c_src "${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.re")
+
+    # Make sure we have a template
+    if ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "")
+      if(PERPLEX_TEMPLATE)
+       set(${PVAR_PREFIX}_TEMPLATE ${PERPLEX_TEMPLATE})
+      else(PERPLEX_TEMPLATE)
+       message(FATAL_ERROR "\nNo Perplex template file specified - please 
specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. 
-DPERPLEX_TEMPLATE=/path/to/template_file.c\n")
+      endif(PERPLEX_TEMPLATE)
+    endif ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "")
+
+    get_filename_component(IN_FILE ${Input} NAME)
+    add_custom_command(
+      OUTPUT ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} 
${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
+      COMMAND ${CMAKE_COMMAND} -E copy ${perplex_in_file} 
${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
+      COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i 
${${PVAR_PREFIX}_OUT_HDR_FILE} -t ${${PVAR_PREFIX}_TEMPLATE} 
${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
+      DEPENDS ${Input} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} 
${DEP_TARGET}
+      WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
+      COMMENT "[PERPLEX][${Name}] Generating re2c input with 
${PERPLEX_EXECUTABLE}"
+      )
+
+    if(NOT DEBUGGING_GENERATED_SOURCES)
+      add_custom_command(
+       OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE}
+       COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o 
${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src}
+       DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} 
${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} ${DEP_TARGET}
+       WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
+       COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
+       )
+    else(NOT DEBUGGING_GENERATED_SOURCES)
+      add_custom_command(
+       OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE}
+       COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o 
${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src}
+       DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} 
${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} ${DEP_TARGET}
+       WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
+       COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
+       )
+    endif(NOT DEBUGGING_GENERATED_SOURCES)
+
+    set(PERPLEX_${Name}_DEFINED TRUE)
+    set(PERPLEX_${Name}_SRC ${${PVAR_PREFIX}_OUT_SRC_FILE})
+    set(PERPLEX_${Name}_HDR ${${PVAR_PREFIX}_OUT_HDR_FILE})
+    set(PERPLEX_${Name}_INCLUDE_DIR ${${PVAR_PREFIX}_WORKING_DIR})
+  endmacro(PERPLEX_TARGET)
+endif(NOT COMMAND PERPLEX_TARGET)
+
+#============================================================
+# ADD_PERPLEX_LEMON_DEPENDENCY (public macro)
+#============================================================
+if(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY)
+  macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget)
+
+    if(NOT PERPLEX_${PERPLEXTarget}_SRC)
+      message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.")
+    endif()
+
+    if(NOT LEMON_${LemonTarget}_HDR)
+      message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
+    endif()
+
+    set_source_files_properties(${PERPLEX_${PERPLEXTarget}_SRC}
+      PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_HDR})
+  endmacro(ADD_PERPLEX_LEMON_DEPENDENCY)
+endif(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY)
+
+#============================================================
+# FindPERPLEX.cmake ends here
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8


Property changes on: 
brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindPERPLEX.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindRE2C.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindRE2C.cmake        
                        (rev 0)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindRE2C.cmake        
2020-11-06 22:27:09 UTC (rev 77701)
@@ -0,0 +1,167 @@
+# The module defines the following variables:
+#  RE2C_EXECUTABLE - the path to the re2c executable
+#
+#=============================================================================
+
+set(_RE2C_SEARCHES)
+
+# Search RE2C_ROOT first if it is set.
+if(RE2C_ROOT)
+  set(_RE2C_SEARCH_ROOT PATHS ${RE2C_ROOT} NO_DEFAULT_PATH)
+  list(APPEND _RE2C_SEARCHES _RE2C_SEARCH_ROOT)
+endif()
+
+# Normal search.
+set(_RE2C_x86 "(x86)")
+set(_RE2C_SEARCH_NORMAL
+    PATHS  "$ENV{ProgramFiles}/re2c"
+          "$ENV{ProgramFiles${_RE2C_x86}}/re2c")
+unset(_RE2C_x86)
+list(APPEND _RE2C_SEARCHES _RE2C_SEARCH_NORMAL)
+
+set(RE2C_NAMES re2c)
+
+# Try each search configuration.
+foreach(search ${_RE2C_SEARCHES})
+  find_program(RE2C_EXECUTABLE re2c ${${search}} PATH_SUFFIXES bin)
+endforeach()
+
+mark_as_advanced(RE2C_EXECUTABLE)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE)
+
+# Provide a macro to generate custom build rules:
+
+# RE2C_TARGET(Name RE2CInput RE2COutput [COMPILE_FLAGS <string>])
+# which creates a custom command  to generate the <RE2COutput> file from
+# the <RE2CInput> file.  If  COMPILE_FLAGS option is specified, the next
+# parameter is added to the re2c  command line. Name is an alias used to
+# get  details of  this custom  command.
+
+# This module also defines a macro:
+#  ADD_RE2C_LEMON_DEPENDENCY(RE2CTarget LemonTarget)
+# which  adds the  required dependency  between a  scanner and  a parser
+# where  <RE2CTarget>  and <LemonTarget>  are  the  first parameters  of
+# respectively RE2C_TARGET and LEMON_TARGET macros.
+#
+#  ====================================================================
+#  Example:
+#
+#   find_package(LEMON)
+#   find_package(RE2C)
+#
+#   LEMON_TARGET(MyParser parser.y "${CMAKE_CURRENT_BINARY_DIR}/parser.cpp")
+#   RE2C_TARGET(MyScanner scanner.re  
"${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp")
+#   ADD_RE2C_LEMON_DEPENDENCY(MyScanner MyParser)
+#
+#   include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+#   add_executable(Foo
+#      Foo.cc
+#      ${LEMON_MyParser_OUTPUTS}
+#      ${RE2C_MyScanner_OUTPUTS}
+#   )
+#  ====================================================================
+#
+#=============================================================================
+# Copyright (c) 2010-2020 United States Government as represented by
+#                the U.S. Army Research Laboratory.
+# Copyright 2009 Kitware, Inc.
+# Copyright 2006 Tristan Carel
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+#
+# * The names of the authors may not be used to endorse or promote
+#   products derived from this software without specific prior written
+#   permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+#============================================================
+# RE2C_TARGET (public macro)
+#============================================================
+#
+# TODO - rework this macro to make use of CMakeParseArguments, see
+# http://www.cmake.org/pipermail/cmake/2012-July/051309.html
+if(NOT COMMAND RE2C_TARGET)
+  macro(RE2C_TARGET Name Input Output)
+    set(RE2C_TARGET_usage "RE2C_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS 
<string>]")
+    if(${ARGC} GREATER 3)
+      if(${ARGC} EQUAL 5)
+       if("${ARGV3}" STREQUAL "COMPILE_FLAGS")
+         set(RE2C_EXECUTABLE_opts  "${ARGV4}")
+         SEPARATE_ARGUMENTS(RE2C_EXECUTABLE_opts)
+       else()
+         message(SEND_ERROR ${RE2C_TARGET_usage})
+       endif()
+      else()
+       message(SEND_ERROR ${RE2C_TARGET_usage})
+      endif()
+    endif()
+
+    add_custom_command(OUTPUT ${Output}
+      COMMAND ${RE2C_EXECUTABLE}
+      ARGS ${RE2C_EXECUTABLE_opts} -o${Output} ${Input}
+      DEPENDS ${Input} ${RE2C_EXECUTABLE_TARGET}
+      COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
+      WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+
+    set(RE2C_${Name}_DEFINED TRUE)
+    set(RE2C_${Name}_OUTPUTS ${Output})
+    set(RE2C_${Name}_INPUT ${Input})
+    set(RE2C_${Name}_COMPILE_FLAGS ${RE2C_EXECUTABLE_opts})
+    set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES 
"${Output}")
+  endmacro(RE2C_TARGET)
+endif(NOT COMMAND RE2C_TARGET)
+#============================================================
+
+#============================================================
+# ADD_RE2C_LEMON_DEPENDENCY (public macro)
+#============================================================
+#
+if(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY)
+  macro(ADD_RE2C_LEMON_DEPENDENCY RE2CTarget LemonTarget)
+
+    if(NOT RE2C_${RE2CTarget}_OUTPUTS)
+      message(SEND_ERROR "RE2C target `${RE2CTarget}' does not exists.")
+    endif()
+
+    if(NOT LEMON_${LemonTarget}_HDR)
+      message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
+    endif()
+
+    set_source_files_properties(${RE2C_${RE2CTarget}_OUTPUTS}
+      PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_HDR})
+  endmacro(ADD_RE2C_LEMON_DEPENDENCY)
+endif(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY)
+#============================================================
+
+# RE2C_Util.cmake ends here
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8


Property changes on: 
brlcad/branches/extbuild/src/other/ext/stepcode/CMake/FindRE2C.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: brlcad/branches/extbuild/src/other/ext/stepcode/CMake/Path_Setup.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMake/Path_Setup.cmake      
                        (rev 0)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMake/Path_Setup.cmake      
2020-11-06 22:27:09 UTC (rev 77701)
@@ -0,0 +1,164 @@
+# Copyright (c) 2010-2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+#---------------------------------------------------------------------
+# Define relative install locations.  Don't set these if they have already
+# been set by some other means (like a higher level CMakeLists.txt file
+# including this one).
+
+# The location in which to install BRL-CAD executables.
+if(NOT BIN_DIR)
+  set(BIN_DIR bin)
+endif(NOT BIN_DIR)
+
+# Define a relative path that will "reset" a path back to
+# the point before BIN_DIR was appended.  This is primarily
+# useful when working with generator expressions
+unset(RBIN_DIR CACHE)
+set(LBIN_DIR "${BIN_DIR}")
+while (NOT "${LBIN_DIR}" STREQUAL "")
+  get_filename_component(LBDIR "${LBIN_DIR}" DIRECTORY)
+  set(LBIN_DIR "${LBDIR}")
+  if ("${RBIN_DIR}" STREQUAL "")
+    set(RBIN_DIR "..")
+  else ("${RBIN_DIR}" STREQUAL "")
+    set(RBIN_DIR "../${RBIN_DIR}")
+  endif ("${RBIN_DIR}" STREQUAL "")
+endwhile (NOT "${LBIN_DIR}" STREQUAL "")
+
+# The location in which to install BRL-CAD libraries.
+if(NOT LIB_DIR)
+  set(LIB_DIR lib)
+endif(NOT LIB_DIR)
+if(NOT LIBEXEC_DIR)
+  set(LIBEXEC_DIR libexec)
+endif(NOT LIBEXEC_DIR)
+
+# The location in which to install BRL-CAD header files.
+if(NOT INCLUDE_DIR)
+  set(INCLUDE_DIR include)
+endif(NOT INCLUDE_DIR)
+
+# The location in which to install BRL-CAD data files
+if(NOT DATA_DIR)
+  set(DATA_DIR share)
+endif(NOT DATA_DIR)
+
+# The location in which to install BRL-CAD documentation files
+if(NOT DOC_DIR)
+  set(DOC_DIR ${DATA_DIR}/doc)
+endif(NOT DOC_DIR)
+
+# The location in which to install BRL-CAD Manual pages
+if(NOT MAN_DIR)
+  set(MAN_DIR ${DATA_DIR}/man)
+endif(NOT MAN_DIR)
+
+# Make sure no absolute paths have been supplied to these variables
+set(INSTALL_DIRS BIN INCLUDE LIB LIBEXEC DATA MAN DOC)
+foreach(instdir ${INSTALL_DIRS})
+  get_filename_component(instdir_full ${${instdir}_DIR} ABSOLUTE)
+  if("${${instdir}_DIR}" STREQUAL "${instdir_full}")
+    message(FATAL_ERROR "Error - absolute path supplied for ${instdir}_DIR.  
This path must be relative - e.g. \"bin\" instead of \"/usr/bin\"")
+    set(HAVE_INSTALL_DIR_FULL_PATH 1)
+  endif("${${instdir}_DIR}" STREQUAL "${instdir_full}")
+endforeach(instdir ${INSTALL_DIRS})
+
+#---------------------------------------------------------------------
+# Output directories - this is where built library and executable
+# files will be placed after building but prior to install.  The
+# necessary variables change between single and multi configuration
+# build systems, so it is necessary to handle both cases on a
+# conditional basis.
+
+if(NOT CMAKE_CONFIGURATION_TYPES)
+  # If we're not doing multi-configuration, just set the three main
+  # variables to the correct values.
+  if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY 
${${PROJECT_NAME}_BINARY_DIR}/${LIB_DIR} CACHE INTERNAL "Single output 
directory for building all libraries.")
+  endif(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+  if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
+    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY 
${${PROJECT_NAME}_BINARY_DIR}/${LIB_DIR} CACHE INTERNAL "Single output 
directory for building all archives.")
+  endif(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
+  if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 
${${PROJECT_NAME}_BINARY_DIR}/${BIN_DIR} CACHE INTERNAL "Single output 
directory for building all executables.")
+  endif(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+else(NOT CMAKE_CONFIGURATION_TYPES)
+  # Multi-configuration is more difficult.  Not only do we need to
+  # properly set the output directories, but we also need to
+  # identify the "toplevel" directory for each configuration so
+  # we can place files, documentation, etc. in the correct
+  # relative positions.  Because files may be placed by CMake
+  # without a build target to put them in their proper relative build
+  # directory position using these paths, we must fully qualify them
+  # without using CMAKE_CFG_INTDIR.
+  #
+  # We define directories that may not be quite "standard"
+  # for a particular build tool - for example, native VS2010 projects use
+  # another directory to denote CPU type being compiled for - but CMake only
+  # supports multi-configuration setups having multiple configurations,
+  # not multiple compilers.
+  #
+  # One additional wrinkle we must watch for here is the case where
+  # a multi-configuration setup uses "." for its internal directory -
+  # if that's the case, we need to just set the various config output
+  # directories to the same value.
+  set(CFG_ROOT ${${PROJECT_NAME}_BINARY_DIR})
+  foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
+    if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+      set(CFG_ROOT ${${PROJECT_NAME}_BINARY_DIR}/${CFG_TYPE})
+    endif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+    string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+    if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+      set("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" 
${CFG_ROOT}/${LIB_DIR} CACHE INTERNAL "Single output directory for building 
${CFG_TYPE} libraries.")
+    endif(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+    if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+      set("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" 
${CFG_ROOT}/${LIB_DIR} CACHE INTERNAL "Single output directory for building 
${CFG_TYPE} archives.")
+    endif(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+    if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+      set("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" 
${CFG_ROOT}/${BIN_DIR} CACHE INTERNAL "Single output directory for building 
${CFG_TYPE} executables.")
+    endif(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER})
+    if(NOT DEFINED CMAKE_BINARY_DIR_${CFG_TYPE_UPPER})
+      set("CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}" ${CFG_ROOT} CACHE INTERNAL 
"Toplevel binary dir for ${CFG_TYPE} building.")
+    endif(NOT DEFINED CMAKE_BINARY_DIR_${CFG_TYPE_UPPER})
+    if(NOT DEFINED ${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER})
+      set("${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER}" ${CFG_ROOT} CACHE 
INTERNAL "Toplevel binary dir for ${CFG_TYPE} building.")
+    endif(NOT DEFINED ${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER})
+  endforeach()
+endif(NOT CMAKE_CONFIGURATION_TYPES)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8


Property changes on: 
brlcad/branches/extbuild/src/other/ext/stepcode/CMake/Path_Setup.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt      
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt      
2020-11-06 22:27:09 UTC (rev 77701)
@@ -1,8 +1,6 @@
-#       C M A K E L I S T S . T X T   F O R   S C L
+# Copyright (c) 2010-2016 United States Government as represented by
+# the U.S. Army Research Laboratory.
 #
-# This file is Copyright (c) 2010 United States Government as
-# represented by the U.S. Army Research Laboratory.
-#
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
 # are met:
@@ -31,433 +29,73 @@
 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# *******************************************************************
-# ***                   SC's CMakeLists.txt                      ***
-# *******************************************************************
+# ******************************************************************
+# ***                stepcode CMakeLists.txt                     ***
+# ******************************************************************
 
-# This file contains the top level CMakeLists.txt logic for the
-# SC software package.
-
-project(SC)
-
-# Minimum required version of CMake
 cmake_minimum_required(VERSION 3.12)
 
-# install(CODE) uses generator expressions - requires 3.14 or newer.
-# We want it to be on, but until we can bump our minimum requirement
-# set it to OLD to make sure we don't break anything.
-if (POLICY CMP0087)
-  cmake_policy(SET CMP0087 OLD)
-endif (POLICY CMP0087)
+project(STEPCODE)
 
-# SC version
-SET(SC_VERSION_MAJOR 0)
-if(NOT SC_IS_SUBBUILD)
-       SET(SC_VERSION_MINOR 7-dev)
-else(NOT SC_IS_SUBBUILD)
-       SET(SC_VERSION_MINOR 7)
-endif(NOT SC_IS_SUBBUILD)
-SET(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+# STEPCODE version
+set(STEPCODE_VERSION_MAJOR 0)
+set(STEPCODE_VERSION_MINOR 8-dev)
+set(STEPCODE_VERSION ${STEPCODE_VERSION_MAJOR}.${STEPCODE_VERSION_MINOR})
 
-# SC ABI version. SC_ABI_SOVERSION should be incremented
+# STEPCODE ABI version. STEPCODE_ABI_SOVERSION should be incremented
 # for each release introducing API incompatibilities
-SET(SC_ABI_SOVERSION 2)
-SET(SC_ABI_VERSION ${SC_ABI_SOVERSION}.0.0)
+set(STEPCODE_ABI_SOVERSION 3)
+set(STEPCODE_ABI_VERSION ${STEPCODE_ABI_SOVERSION}.0.0)
 
-IF( NOT DEFINED INCLUDE_INSTALL_DIR )
-  SET( INCLUDE_INSTALL_DIR include )
-ENDIF( NOT DEFINED INCLUDE_INSTALL_DIR )
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake)
 
-IF( NOT DEFINED LIB_INSTALL_DIR )
-  SET( LIB_INSTALL_DIR lib )
-ENDIF( NOT DEFINED LIB_INSTALL_DIR )
+include(Path_Setup)
 
-IF( NOT DEFINED BIN_INSTALL_DIR )
-  SET( BIN_INSTALL_DIR bin )
-ENDIF( NOT DEFINED BIN_INSTALL_DIR )
+# Require C/C++11
+set(CMAKE_C_EXTENSIONS OFF)
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
-if(NOT DEFINED BIN_DIR)
-  set(BIN_DIR bin)
-endif(NOT DEFINED BIN_DIR)
+include(CheckIncludeFiles)
+check_include_files(ndir.h HAVE_NDIR_H)
+check_include_files(stdarg.h HAVE_STDARG_H)
+check_include_files(sys/stat.h HAVE_SYS_STAT_H)
+check_include_files(sys/param.h HAVE_SYS_PARAM_H)
+check_include_files(sysent.h HAVE_SYSENT_H)
+check_include_files(unistd.h HAVE_UNISTD_H)
+check_include_files(dirent.h HAVE_DIRENT_H)
+check_include_files(stdbool.h HAVE_STDBOOL_H)
+check_include_files(process.h HAVE_PROCESS_H)
+check_include_files(io.h HAVE_IO_H)
 
-if(NOT DEFINED LIB_DIR)
-  set(LIB_DIR lib)
-endif(NOT DEFINED LIB_DIR)
+include(CheckSymbolExists)
+check_symbol_exists(abs "stdlib.h" HAVE_ABS)
+check_symbol_exists(memcpy "string.h" HAVE_MEMCPY)
+check_symbol_exists(memmove "string.h" HAVE_MEMMOVE)
+check_symbol_exists(getopt "getopt.h" HAVE_GETOPT)
+check_symbol_exists(snprintf "stdio.h" HAVE_SNPRINTF)
+check_symbol_exists(vsnprintf "stdio.h" HAVE_VSNPRINTF)
 
-if(NOT DEFINED DATA_DIR)
-  set(DATA_DIR share)
-endif(NOT DEFINED DATA_DIR)
+include(CheckTypeSize)
+check_type_size("ssize_t" SSIZE_T)
 
-# Because the STEPcode headers are used in BRL-CAD, we have added some decl 
code
-# to the headers for strict c89/c++98.  Don't use it for the stepcode build 
itself
-add_definitions(-DHAVE_DECL_FSEEKO)
+configure_file(include/stepcode/config.h.in 
${CMAKE_CURRENT_BINARY_DIR}/include/stepcode/config.h)
 
-IF( NOT DEFINED SC_BUILD_TYPE )
-  SET( SC_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set 
debug build
-ENDIF( NOT DEFINED SC_BUILD_TYPE )
-IF(NOT SC_IS_SUBBUILD)
-  SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" 
FORCE )
-ELSE(NOT SC_IS_SUBBUILD)
-  SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} )
-ENDIF(NOT SC_IS_SUBBUILD)
-
-# build shared libs by default
-OPTION(SC_BUILD_SHARED_LIBS "Build shared libs" ON)
-
-# don't build static libs by default
-OPTION(SC_BUILD_STATIC_LIBS "Build static libs" OFF)
-
-OPTION(SC_PYTHON_GENERATOR "Compile exp2python" ON)
-OPTION(SC_CPP_GENERATOR "Compile exp2cxx" ON)
-
-OPTION(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
-OPTION(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's 
source in exp2cxx may be located" OFF)
-
-if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
-  set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for 
additional executables to be linked with SDAI libs" )
-endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
-
-if( NOT DEFINED SC_BUILD_SCHEMAS )
-    message( "** CMake variable SC_BUILD_SCHEMAS not set. Defaults to building 
ALL schemas. This will take a while; see 
http://stepcode.org/mw/index.php?title=STEPcode_CMake_variables#SC_BUILD_SCHEMAS";
 )
-    #this makes SC_BUILD_SCHEMAS show up in cmake-gui
-    SET(SC_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths 
to EXPRESS schemas to be built" )
-endif( NOT DEFINED SC_BUILD_SCHEMAS )
-
-# CMake derives much of its functionality from modules, typically
-# stored in one directory - let CMake know where to find them.
-SET(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
-if(NOT IS_SUBBUILD)
-  SET(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
-else(NOT IS_SUBBUILD)
-  SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
-endif(NOT IS_SUBBUILD)
-
-INCLUDE(${SC_CMAKE_DIR}/SC_Utils.cmake)
-
-# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set 
them
-# to "C" so things like date output are as expected
-SET(_orig_lc_all      $ENV{LC_ALL})
-SET(_orig_lc_messages $ENV{LC_MESSAGES})
-SET(_orig_lang        $ENV{LANG})
-IF(_orig_lc_all)
-  SET(ENV{LC_ALL}      C)
-ENDIF(_orig_lc_all)
-IF(_orig_lc_messages)
-  SET(ENV{LC_MESSAGES} C)
-ENDIF(_orig_lc_messages)
-IF(_orig_lang)
-  SET(ENV{LANG}        C)
-ENDIF(_orig_lang)
-
-
-#---------------------------------------------------------------------
-# Coverage option
-OPTION( SC_ENABLE_COVERAGE "Enable code coverage test" OFF )
-IF(SC_ENABLE_COVERAGE)
-  SET(SC_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" 
FORCE)
-  # build static libs, better coverage report
-  SET(SC_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
-  SET(SC_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
-  SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE 
STRING "Extra compile flags required by code coverage" FORCE)
-  SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING 
"Extra compile flags required by code coverage" FORCE)
-  SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE 
STRING "Extra linker flags required by code coverage" FORCE)
-  SET(SC_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing 
framework" FORCE)
-  SET( SC_PYTHON_GENERATOR OFF ) #won't build with static libs
-ENDIF(SC_ENABLE_COVERAGE)
-
-#---------------------------------------------------------------------
-# Testing option
-OPTION( SC_ENABLE_TESTING "Enable unittesting framework" OFF )
-IF(SC_ENABLE_TESTING)
-  if( NOT DEFINED SC_BUILD_SCHEMAS )
-    set( SC_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
-  endif()
-  INCLUDE(CTest)
-  ENABLE_TESTING()
-ENDIF(SC_ENABLE_TESTING)
-
-#-----------------------------------------------------------------------------
-# Output directories.
-IF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
-  SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL 
"Single output directory for building all libraries.")
-ENDIF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
-IF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
-  SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL 
"Single output directory for building all archives.")
-ENDIF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
-IF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-  SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/bin CACHE INTERNAL 
"Single output directory for building all executables.")
-ENDIF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-
-FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-  STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
-  IF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE})
-    SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib 
CACHE INTERNAL "Single output directory for building all libraries.")
- ENDIF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE})
- IF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE})
-    SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib 
CACHE INTERNAL "Single output directory for building all archives.")
- ENDIF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE})
- IF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE})
-    SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/bin 
CACHE INTERNAL "Single output directory for building all executables.")
- ENDIF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE})
-ENDFOREACH()
-
-
-#-----------------------------------------------------------------------------
-# Configure install locations.
-
-# The location in which to install SC. Need a good Debug location
-# for Windows.  Only do this if CMAKE_INSTALL_PREFIX hasn't been set
-# already, to try and allow parent builds (if any) some control.
-if(NOT SC_IS_SUBBUILD)
-  IF(NOT WIN32)
-    IF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
-      SET(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install")
-    ELSE()
-      SET(SC_INSTALL_PREFIX "/usr/local")
-    ENDIF()
-  ENDIF(NOT WIN32)
-  SET( SC_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE
-    PATH "Install prefix prepended to target to create install location" )
-  SET( CMAKE_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE INTERNAL "Prefix 
prepended to install directories if target destination is not absolute, 
immutable" FORCE )
-endif(NOT SC_IS_SUBBUILD)
-
-if(SC_SKIP_EXEC_INSTALL)
-  set(SC_EXEC_NOINSTALL "NO_INSTALL")
-endif(SC_SKIP_EXEC_INSTALL)
-
-OPTION(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
-MARK_AS_ADVANCED(SC_BUILD_EXPRESS_ONLY)
-
-# Take the sc config file template as the starting point for
-# sc_cf.h.in - scripts may need to append to the template, so
-# it is read into memory initially.
-SET(CONFIG_H_FILE ${SC_BINARY_DIR}/include/sc_cf.h.in)
-set_source_files_properties(${CONFIG_H_FILE} PROPERTIES GENERATED TRUE)
-set(CMAKE_CURRENT_PROJECT SC)
-define_property(GLOBAL PROPERTY SC_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in 
contents" FULL_DOCS "config.h.in contents for SC project")
-if(NOT COMMAND CONFIG_H_APPEND)
-  macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS)
-    if(PROJECT_NAME)
-      get_property(${PROJECT_NAME}_CONFIG_H_CONTENTS GLOBAL PROPERTY 
${PROJECT_NAME}_CONFIG_H_CONTENTS)
-      set(${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS 
"${${PROJECT_NAME}_CONFIG_H_CONTENTS}${NEW_CONTENTS}")
-      set_property(GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS 
"${${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS}")
-    endif(PROJECT_NAME)
-  endmacro(CONFIG_H_APPEND NEW_CONTENTS)
-endif(NOT COMMAND CONFIG_H_APPEND)
-file(READ ${SC_SOURCE_DIR}/include/sc_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
-CONFIG_H_APPEND(SC "${CONFIG_H_FILE_CONTENTS}")
-
-# The Express parser uses the tools Perplex, RE2C and Lemon to generate code
-# from higher level inputs.  Depending on available tools and options, the
-# SC build can either re-generate code as part of the build, or use cached
-# files that are ready for compilation.
-#
-# SC_GENERATE_LEXER_PARSER is the "high level" control a user sets to determine
-# how the SC build will interact (or not) with these tools.  AUTO (the
-# default) means it will search for the necessary tools, and use them only if
-# everything is found.  If not, it will fall back to the cached versions.  If
-# this option is set to ON and the necessary tools are not found, the
-# configure step will fail.  If it is set to OFF, SC will not even try to use
-# the generators and will instead use the cached sources.
-if(NOT SC_GENERATE_LEXER_PARSER)
-  set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and 
Lemon to generate C source code.")
-else(NOT SC_GENERATE_LEXER_PARSER)
-  string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
-endif(NOT SC_GENERATE_LEXER_PARSER)
-set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS AUTO ON OFF)
-if (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT 
"${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT 
"${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
-       message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for 
BRLCAD_WORD_SIZE - defaulting to AUTO")
-       message(WARNING "Valid options are AUTO, ON and OFF")
-       set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and 
Lemon to generate C source code.")
-endif (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT 
"${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT 
"${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
-
-# If the generators have not been turned off, we need to check for them
-if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
-       find_package(LEMON)
-       find_package(RE2C)
-       find_package(PERPLEX)
-       if(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND 
PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
-               # Templates may be anywhere - make sure we have a stable path 
if a relative
-               # path was specified at CMake time
-               get_filename_component(lemon_template_fpath "${LEMON_TEMPLATE}" 
ABSOLUTE)
-               if(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
-                       get_filename_component(LEMON_TEMPLATE 
"${CMAKE_BINARY_DIR}/${LEMON_TEMPLATE}" ABSOLUTE)
-               endif(NOT "${lemon_template_fpath}" STREQUAL 
"${LEMON_TEMPLATE}")
-               get_filename_component(perplex_template_fpath 
"${PERPLEX_TEMPLATE}" ABSOLUTE)
-               if(NOT "${perplex_template_fpath}" STREQUAL 
"${PERPLEX_TEMPLATE}")
-                       get_filename_component(PERPLEX_TEMPLATE 
"${CMAKE_BINARY_DIR}/${PERPLEX_TEMPLATE}" ABSOLUTE)
-               endif(NOT "${perplex_template_fpath}" STREQUAL 
"${PERPLEX_TEMPLATE}")
-
-               set(SC_GENERATE_LP_SOURCES 1)
-       else(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND 
PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
-               if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
-                       message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to 
ON, but one or more components of the Perplex/RE2C/Lemon toolchain were not 
found.\n")
-               else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
-                       set(SC_GENERATE_LP_SOURCES 0)
-               endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
-       endif(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND 
PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
-else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
-       set(SC_GENERATE_LP_SOURCES 0)
-endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
-
-INCLUDE(CheckLibraryExists)
-INCLUDE(CheckIncludeFile)
-INCLUDE(CheckFunctionExists)
-INCLUDE(CheckTypeSize)
-INCLUDE(CMakePushCheckState)
-INCLUDE(CheckCXXSourceRuns)
-
-CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
-CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
-CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
-CHECK_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H)
-CHECK_INCLUDE_FILE(sysent.h HAVE_SYSENT_H)
-CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
-CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
-CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H)
-CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H)
-CHECK_INCLUDE_FILE(io.h HAVE_IO_H)
-
-CHECK_FUNCTION_EXISTS(abs HAVE_ABS)
-CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY)
-CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
-CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT)
-
-CHECK_TYPE_SIZE("ssize_t" SSIZE_T)
-
-set( TEST_STD_THREAD "
-#include <iostream>
-#include <thread>
-void do_work() {
-        std::cout << \"thread\" << std::endl;
-}
-int main() {
-        std::thread t(do_work);
-        t.join();
-}
-" )
-cmake_push_check_state()
-  if( UNIX )
-    set( CMAKE_REQUIRED_FLAGS "-pthread -std=c++0x" )
-  else( UNIX )
-    # vars probably need set for MSVC11, embarcadero, etc
-  endif( UNIX )
-  CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD )   #quotes are 
*required*!
-cmake_pop_check_state()
-
-# Now that all the tests are done, configure the sc_cf.h file:
-get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SC_CONFIG_H_CONTENTS)
-file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}")
-configure_file(${CONFIG_H_FILE} 
${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_cf.h)
-
-if(NOT SC_IS_SUBBUILD)
-  ################ create sc_version_string.h, 
http://stackoverflow.com/questions/3780667
-  # Using 'ver_string' instead of 'sc_version_string.h' is a trick to force the
-  # command to always execute when the custom target is built. It works because
-  # a file by that name never exists.
-  configure_file(${SC_CMAKE_DIR}/sc_version_string.cmake 
${SC_BINARY_DIR}/sc_version_string.cmake @ONLY)
-  add_custom_target(version_string ALL DEPENDS ver_string )
-  # creates sc_version_string.h using cmake script
-  add_custom_command(OUTPUT ver_string 
${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
-    COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SC_SOURCE_DIR}
-    -DBINARY_DIR=${SC_BINARY_DIR}
-    -P ${SC_BINARY_DIR}/sc_version_string.cmake)
-  # sc_version_string.h is a generated file
-  
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
-    PROPERTIES GENERATED TRUE
-    HEADER_FILE_ONLY TRUE )
-  ################
-else(NOT SC_IS_SUBBUILD)
-  set(vstring "
-//sc_version_string.h - written by cmake. Changes will be lost!\n
-#ifndef SC_VERSION_STRING\n
-#define SC_VERSION_STRING\n\n
-const char* sc_version() {\n
-return \"${SC_VERSION}\";\n
-}\n\n
-#endif\n"
-  )
-
-file(WRITE
-  ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h.tmp
-  "${vstring}")
-execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
-  ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h.tmp
-  ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h)
-execute_process(COMMAND ${CMAKE_COMMAND} -E remove
-  ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h.tmp)
-
-endif(NOT SC_IS_SUBBUILD)
-
-if(MSVC)
-  # add_definitions( -Wall )
-  add_definitions( -D__MSVC__ -D__WIN32__ )
-  # Disable warning for preferred usage of secure functions (example strcpy 
should be strcpy_s, ...)
-  add_definitions( -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS )
-elseif(BORLAND)
-  add_definitions( -D__BORLAND__ -D__WIN32__ )
-else()
-  add_definitions( -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline 
-Wno-long-long )
-endif()
-
+# Common to all libraries/executables
 include_directories(
-  ${SC_SOURCE_DIR}/include
-  ${SC_BINARY_DIR}/include
+  ${CMAKE_CURRENT_SOURCE_DIR}/include/stepcode
+  ${CMAKE_CURRENT_BINARY_DIR}/include/stepcode
   )
 
-ADD_SUBDIRECTORY(src/base)
-ADD_SUBDIRECTORY(src/express)
-ADD_SUBDIRECTORY(src/exppp)
-ADD_SUBDIRECTORY(src/exp2cxx)
-ADD_SUBDIRECTORY(src/exp2python)
-ADD_SUBDIRECTORY(src/clstepcore)
-ADD_SUBDIRECTORY(src/cleditor)
-ADD_SUBDIRECTORY(src/cldai)
-ADD_SUBDIRECTORY(src/clutils)
-#if( NOT WIN32 ) # don't build cllazyfile on windows until export/import 
macros are in place
-#  ADD_SUBDIRECTORY( src/cllazyfile )
-#endif( NOT WIN32 )
-ADD_SUBDIRECTORY(include)
-ADD_SUBDIRECTORY(data)
-IF(SC_ENABLE_TESTING)
-  ADD_SUBDIRECTORY( test )
-ENDIF(SC_ENABLE_TESTING)
-ADD_SUBDIRECTORY(doc)
+add_subdirectory(src)
 
-# this is for testing - 'make core' builds everything that isn't generated
-add_custom_target( core )
-add_dependencies( core stepdai check-express stepeditor exp2cxx )
+# Get install rules for headers and data files
+add_subdirectory(include/stepcode)
+add_subdirectory(data)
 
-if(NOT SC_IS_SUBBUILD)
-  
###############################################################################
-  # SC Packaging                                                               
#
-  # $make package                                                              
 #
-  
###############################################################################
-
-  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode")
-  SET(CPACK_SET_DESTDIR "ON")
-
-  SET(CPACK_PACKAGE_VERSION_MAJOR ${SC_VERSION_MAJOR})
-  SET(CPACK_PACKAGE_VERSION_MINOR ${SC_VERSION_MINOR})
-  SET(CPACK_PACKAGE_NAME SC )
-
-  SET(CPACK_PACKAGE_CONTACT "SC Developers <[email protected]>")
-  INCLUDE(CPack)
-
-  
########################################################################################
-  # Uninstall code                                                             
          #
-  # From 
http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F 
#
-  # 
######################################################################################
-  configure_file(
-    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
-    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-    IMMEDIATE @ONLY)
-
-  add_custom_target(uninstall
-    COMMAND ${CMAKE_COMMAND} -P 
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
-
-endif(NOT SC_IS_SUBBUILD)
-
 # Local Variables:
 # tab-width: 8
 # mode: cmake

Modified: brlcad/branches/extbuild/src/other/ext/stepcode/COPYING
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/COPYING     2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/COPYING     2020-11-06 
22:27:09 UTC (rev 77701)
@@ -1,12 +1,12 @@
-Modifications to the original NIST code are (C)opyright by their 
+Modifications to the original NIST code are (C)opyright by their
 respective authors. Unless otherwise specified, they are copyright
-on the date those changes were committed to whichever repository 
-they were committed to first (i.e. BRL-CAD on SourceForge.net, 
+on the date those changes were committed to whichever repository
+they were committed to first (i.e. BRL-CAD on SourceForge.net,
 mpictor/StepClassLibrary or stepcode/stepcode on github).
 
-Modifications which were first commited to the repository on github
+Modifications which were first committed to the repository on github
 are licensed under the 3-clause BSD license below. Changes committed
-to BRL-CAD either contain license information mentioning BRL-CAD 
+to BRL-CAD either contain license information mentioning BRL-CAD
 near the top of the file, or are licensed under the same terms that
 NIST used.
 
@@ -44,23 +44,23 @@
                     ORIGINAL NIST TEXT FOLLOWS
 ********************************************************************
 
-This software was produced by the National Institute of Standards and 
-Technology (NIST), an agency of the U.S. government, and by statute is 
-not subject to copyright in the United States. Recipients of this 
-software assume all responsibility associated with its operation, 
+This software was produced by the National Institute of Standards and
+Technology (NIST), an agency of the U.S. government, and by statute is
+not subject to copyright in the United States. Recipients of this
+software assume all responsibility associated with its operation,
 modification, maintenance, and subsequent redistribution.
 
 Acknowledgements:
-The STEP Class Library (SCL) was developed by the Manufacturing 
-Systems Integration Division at NIST to support testing of the 
-Standard for the Exchange of Product Model Data (a.k.a STEP) and 
-validation of STEP's emerging implementation specifications. Funding 
-for the project has come from the Department of Commerce and the 
-Department of Defense agencies including the Office of the Defense 
-CALS (Continuous Acquisition and Life-Cycle Support) Executive and 
-the Defense Advanced Research Projects Agency (DARPA). Recent 
-enhancements were sponsored by the National Information Infrastructure 
-Protocols Consortium and NIST's Systems Integration for Manufacturing 
+The STEP Class Library (SCL) was developed by the Manufacturing
+Systems Integration Division at NIST to support testing of the
+Standard for the Exchange of Product Model Data (a.k.a STEP) and
+validation of STEP's emerging implementation specifications. Funding
+for the project has come from the Department of Commerce and the
+Department of Defense agencies including the Office of the Defense
+CALS (Continuous Acquisition and Life-Cycle Support) Executive and
+the Defense Advanced Research Projects Agency (DARPA). Recent
+enhancements were sponsored by the National Information Infrastructure
+Protocols Consortium and NIST's Systems Integration for Manufacturing
 Applications (SIMA) program.
 
 
@@ -67,26 +67,26 @@
 /* ********************************************************************
  *                            D I S C L A I M E R
  *                              (February 6, 1992)
- *  
+ *
  * There is no warranty for the NIST PDES Toolkit.
  * If the NIST PDES Toolkit
  * is modified by someone else and passed on, NIST wants
  * the Toolkit's recipients to know that what they have is not what NIST
  * distributed.
- * 
+ *
  * Policies
- * 
- * 1. Anyone may copy and distribute verbatim copies of the NIST PDES Toolkit 
+ *
+ * 1. Anyone may copy and distribute verbatim copies of the NIST PDES Toolkit
  *    source code as received in any medium.
- * 
+ *
  * 2. Anyone may modify your copy or copies of the NIST PDES Toolkit source
  *    code or any portion of it, and copy and distribute such modifications
  *    provided that all modifications are clearly associated with the entity
  *    that performs the modifications.
- * 
+ *
  * NO WARRANTY
  * ===========
- * 
+ *
  * NIST PROVIDES ABSOLUTELY NO WARRANTY.  THE NIST PDES TOOLKIT
  * IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -94,7 +94,7 @@
  * THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  * WITH YOU.  SHOULD ANY PORTION OF THE NIST PDES TOOLKIT PROVE DEFECTIVE,
  * YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- * 
+ *
  * IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES,
  * INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
  * INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR

Deleted: brlcad/branches/extbuild/src/other/ext/stepcode/CTestConfig.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CTestConfig.cmake   
2020-11-06 20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CTestConfig.cmake   
2020-11-06 22:27:09 UTC (rev 77701)
@@ -1,10 +0,0 @@
-set(CTEST_CUSTOM_WARNING_MATCH ${CTEST_CUSTOM_WARNING_MATCH} "{standard 
input}:[0-9][0-9]*: WARNING: ")
-set(CTEST_CUSTOM_ERROR_MATCH ${CTEST_CUSTOM_ERROR_MATCH} "{standard 
input}:[0-9][0-9]*: ERROR  : ")
-
-set(CTEST_PROJECT_NAME "StepClassLibrary")
-set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
-
-set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "my.cdash.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=StepClassLibrary")
-set(CTEST_DROP_SITE_CDASH TRUE)

Deleted: brlcad/branches/extbuild/src/other/ext/stepcode/ChangeLog
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/ChangeLog   2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/ChangeLog   2020-11-06 
22:27:09 UTC (rev 77701)
@@ -1,20 +0,0 @@
-Recent changes are recorded in the publicly available repository:
-http://github.com/stepcode/stepcode
-
-This repo was moved and renamed in May 2012. Previously, it was at
-http://github.com/mpictor/StepClassLibrary
-
-Some are duplicates of changes recorded in the BRL-CAD repo:
-http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?view=log
-
-Pre-BRL-CAD changes:
-************************************************************************
- Updates from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
-            Jan 2005 - Mar 2006
-************************************************************************
- STEP Class Library Release 3.2 February 1998
-************************************************************************
- STEP Class Library Release 3.1 October 1997
-************************************************************************
- STEP Class Library and Data Probe release 2.1 June 1995
-************************************************************************

Deleted: brlcad/branches/extbuild/src/other/ext/stepcode/INSTALL
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/INSTALL     2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/INSTALL     2020-11-06 
22:27:09 UTC (rev 77701)
@@ -1,69 +0,0 @@
-INSTALL
-
-This file is contains installation instructions for STEPcode.
-
-These installation requires that you have the following software
-available:
-
-- C and C++ compilers    (Tested with GCC, MSVC, Embarcadero)
-- CMake                  (v2.8.7 or greater)
-- mingw                  (only on Windows)
-- a lexer and parser (i.e. flex, bison) are NOT necessary anymore
-  -if you modify the lexer or parser, you will need LEMON, RE2C, PERPLEX from 
BRL-CAD
-
---------------------
-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 SC from the command prompt:
-  - cd sc
-  - mkdir build
-  - cd build
-  - cmake ..
-  - make
-  - make install       #  optional
-
-* Building SC from the GUI:
-  - Run cmake-gui, set it to build in sc/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):
-  -DSC_BUILD_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 SC generated incorrect source code.
-  -DSC_BUILD_SCHEMAS=ALL
-    - Added to make use of ctest easier. If SC_BUILD_SCHEMAS == ALL,
-      then CMake adds each *.exp file found in data/.
-  -DSC_BUILD_TYPE=Release
-    - this causes binaries to be built without debugging information
-    - without this, cmake defaults to a Debug build
-
-* Using CTest to test SC:
-  - Read the comments in run_ctest.cmake
-  - (OPTIONAL) Create sc/../.SC_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 SC wiki:
-  - Requires:
-     - git
-     - python
-     - a clone of the git repo for the wiki at sc/../wiki-sc
-  - run `ctest -S ctest_matrix.cmake`

Deleted: brlcad/branches/extbuild/src/other/ext/stepcode/NEWS
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/NEWS        2020-11-06 
20:56:36 UTC (rev 77700)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/NEWS        2020-11-06 
22:27:09 UTC (rev 77701)
@@ -1,1060 +0,0 @@
-STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
-************************************************************************
-Release 0.7 (April, 2013)
-
-New since v0.6:
-* Requires CMake 2.8.7 or later
-* Replace *ALL* references to SCL with SC - CMake, source, filenames.
-* Lazy loading code (src/cllazyfile)
-  * greatly reduces memory requirements and loading time when not all
-  instances are needed
-  * doesn't work with complex instances yet
-  * doesn't work on windows or 32-bit platforms yet
-* Merged all BRL-CAD changes; now, we can work on the same repo.
-  * Eliminate compile-time dependency on a lexer and parser
-  * When lexer/parser changes, use LEMON/RE2C/Perplex (in BRL-CAD repo)
-* Fixed several bugs in the class libraries that cause segfaults
-* update AP209, 210e3, 242, IFC2
-* Fixes for MSVC, Embarcadero (there are still problems with both:
-  see comments on #178 & #190, also import/export macros)
-* Fixed NIST test executables
-************************************************************************
-Release 0.6 (May, 2012)
-
-New since v0.5:
-* Renamed from STEP Class Library to STEPcode, moved to 
github.com/stepcode/stepcode
-* Advances in 
[Python](http://github.com/stepcode/stepcode/wiki/python-generator) support 
(#185)
-* ABI versioning

@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to