Revision: 77952
http://sourceforge.net/p/brlcad/code/77952
Author: starseeker
Date: 2020-12-09 00:34:53 +0000 (Wed, 09 Dec 2020)
Log Message:
-----------
Update stepcode to latest upstream develop branch as of Wed 09 Dec 2020
12:23:32 AM UTC. A number of changes have been pushed to stepcode to ensure
step-g et. al. can compile against that version. Note that the resulting
step-g has not yet been tested on models more complex than the built-in NIST
examples, and so far only Ubuntu Linux has been tested at all.
Modified Paths:
--------------
brlcad/branches/stepsync/src/conv/step/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/AUTHORS
brlcad/branches/stepsync/src/other/stepcode/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/COPYING
brlcad/branches/stepsync/src/other/stepcode/CTestConfig.cmake
brlcad/branches/stepsync/src/other/stepcode/NEWS
brlcad/branches/stepsync/src/other/stepcode/SC_VERSION.txt
brlcad/branches/stepsync/src/other/stepcode/cmake/FindLEMON.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/FindPERPLEX.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/FindRE2C.cmake
brlcad/branches/stepsync/src/other/stepcode/ctest_matrix.cmake
brlcad/branches/stepsync/src/other/stepcode/data/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/data/ap238/ap238-aim-long.exp
brlcad/branches/stepsync/src/other/stepcode/doc/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/doc/Doxyfile
brlcad/branches/stepsync/src/other/stepcode/doc/doxyassist.xml
brlcad/branches/stepsync/src/other/stepcode/doc/man/man1/exp2cxx.1
brlcad/branches/stepsync/src/other/stepcode/include/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/include/exppp/exppp.h
brlcad/branches/stepsync/src/other/stepcode/include/express/alg.h
brlcad/branches/stepsync/src/other/stepcode/include/express/basic.h
brlcad/branches/stepsync/src/other/stepcode/include/express/caseitem.h
brlcad/branches/stepsync/src/other/stepcode/include/express/dict.h
brlcad/branches/stepsync/src/other/stepcode/include/express/entity.h
brlcad/branches/stepsync/src/other/stepcode/include/express/error.h
brlcad/branches/stepsync/src/other/stepcode/include/express/expbasic.h
brlcad/branches/stepsync/src/other/stepcode/include/express/expr.h
brlcad/branches/stepsync/src/other/stepcode/include/express/express.h
brlcad/branches/stepsync/src/other/stepcode/include/express/hash.h
brlcad/branches/stepsync/src/other/stepcode/include/express/lexact.h
brlcad/branches/stepsync/src/other/stepcode/include/express/linklist.h
brlcad/branches/stepsync/src/other/stepcode/include/express/memory.h
brlcad/branches/stepsync/src/other/stepcode/include/express/object.h
brlcad/branches/stepsync/src/other/stepcode/include/express/resolve.h
brlcad/branches/stepsync/src/other/stepcode/include/express/schema.h
brlcad/branches/stepsync/src/other/stepcode/include/express/scope.h
brlcad/branches/stepsync/src/other/stepcode/include/express/stmt.h
brlcad/branches/stepsync/src/other/stepcode/include/express/symbol.h
brlcad/branches/stepsync/src/other/stepcode/include/express/type.h
brlcad/branches/stepsync/src/other/stepcode/include/express/variable.h
brlcad/branches/stepsync/src/other/stepcode/include/ordered_attrs.h
brlcad/branches/stepsync/src/other/stepcode/include/sc_cf_cmake.h.in
brlcad/branches/stepsync/src/other/stepcode/include/sc_export.h
brlcad/branches/stepsync/src/other/stepcode/include/sc_stdbool.h
brlcad/branches/stepsync/src/other/stepcode/lcov.cmake
brlcad/branches/stepsync/src/other/stepcode/misc/flawfinder
brlcad/branches/stepsync/src/other/stepcode/misc/wiki-scripts/update-matrix.py
brlcad/branches/stepsync/src/other/stepcode/run_ctest.cmake
brlcad/branches/stepsync/src/other/stepcode/src/base/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/misc/judy64n.c
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/src/judy.c
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/src/judy.h
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/src/judyL2Array.h
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/src/judyLArray.h
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/src/judyS2Array.h
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/test/pennySort.c
brlcad/branches/stepsync/src/other/stepcode/src/base/judy/test/sort.c
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_benchmark.cc
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_benchmark.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_getopt.cc
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_getopt.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_memmgr.cc
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_memmgr.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_trace_fprintf.h
brlcad/branches/stepsync/src/other/stepcode/src/cldai/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiApplication_instance_set.cc
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiBinary.h
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiDaObject.h
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiEntity_extent.cc
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiEntity_extent.h
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiEnum.cc
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiEnum.h
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiModel_contents.cc
brlcad/branches/stepsync/src/other/stepcode/src/cldai/sdaiString.h
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/README
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/STEPfile.cc
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/STEPfile.h
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/STEPfile.inline.cc
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/SdaiHeaderSchema.cc
brlcad/branches/stepsync/src/other/stepcode/src/cleditor/SdaiHeaderSchema.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/current_function.hpp
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/headerSectionReader.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/instMgrHelper.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyDataSectionReader.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyFileReader.cc
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyFileReader.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyInstMgr.cc
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyInstMgr.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyP21DataSectionReader.cc
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyTypes.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazy_test.cc
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/sectionReader.cc
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/sectionReader.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/ExpDict.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/ExpDict.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/Registry.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggregate.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggregate.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPattribute.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPattribute.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPattributeList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPcomplex.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPcomplex.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPundefined.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPundefined.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/SingleLinkList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/SingleLinkList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/SubSuperIterators.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/collect.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/complexSupport.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/complexlist.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/dict-pic.txt
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/instmgr.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/instmgr.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/mgrnode.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/multlist.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/read_func.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/read_func.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/sdai.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/sdaiApplication_instance.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/sdaiApplication_instance.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/sdaiSelect.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/sdaiSelect.h
brlcad/branches/stepsync/src/other/stepcode/src/clutils/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/clutils/Str.cc
brlcad/branches/stepsync/src/other/stepcode/src/clutils/Str.h
brlcad/branches/stepsync/src/other/stepcode/src/clutils/dirobj.cc
brlcad/branches/stepsync/src/other/stepcode/src/clutils/errordesc.cc
brlcad/branches/stepsync/src/other/stepcode/src/clutils/errordesc.h
brlcad/branches/stepsync/src/other/stepcode/src/clutils/sc_hash.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_misc.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_wrapper.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/collect.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/complexSupport.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/complexlist.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/fedex_main.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/multlist.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/multpass.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/selects.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/write.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/index_attribute.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/multiple_rep.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_array.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_array_of_array_of_simple_types.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_array_of_simple_types.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_derived_attribute.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_entity_where_rule.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_multiple_inheritance.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_named_type.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_select_data_type.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_single_inheritance.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/examples/unitary_schemas/test_single_inheritance_multi_level.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/AggregationDataTypes.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/BaseType.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/Builtin.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/ConstructedDataTypes.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/Model.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/Part21.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/SimpleDataTypes.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/TypeChecker.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/Utils.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/SCL/essa_par.py
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/classes_misc_python.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/classes_python.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/classes_wrapper_python.cc
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/fedex_main_python.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/multpass_python.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/selects_python.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/test/test_base.py
brlcad/branches/stepsync/src/other/stepcode/src/exppp/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/exppp/exppp-main.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/exppp.c
brlcad/branches/stepsync/src/other/stepcode/src/express/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/express/Changes
brlcad/branches/stepsync/src/other/stepcode/src/express/README
brlcad/branches/stepsync/src/other/stepcode/src/express/alg.c
brlcad/branches/stepsync/src/other/stepcode/src/express/caseitem.c
brlcad/branches/stepsync/src/other/stepcode/src/express/dict.c
brlcad/branches/stepsync/src/other/stepcode/src/express/entity.c
brlcad/branches/stepsync/src/other/stepcode/src/express/error.c
brlcad/branches/stepsync/src/other/stepcode/src/express/expparse.y
brlcad/branches/stepsync/src/other/stepcode/src/express/expr.c
brlcad/branches/stepsync/src/other/stepcode/src/express/express.c
brlcad/branches/stepsync/src/other/stepcode/src/express/expscan.l
brlcad/branches/stepsync/src/other/stepcode/src/express/fedex.c
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/README
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/expparse.c
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/expparse.h
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/expscan.c
brlcad/branches/stepsync/src/other/stepcode/src/express/hash.c
brlcad/branches/stepsync/src/other/stepcode/src/express/lexact.c
brlcad/branches/stepsync/src/other/stepcode/src/express/linklist.c
brlcad/branches/stepsync/src/other/stepcode/src/express/memory.c
brlcad/branches/stepsync/src/other/stepcode/src/express/object.c
brlcad/branches/stepsync/src/other/stepcode/src/express/ordered_attrs.cc
brlcad/branches/stepsync/src/other/stepcode/src/express/parse_data.h
brlcad/branches/stepsync/src/other/stepcode/src/express/resolve.c
brlcad/branches/stepsync/src/other/stepcode/src/express/schema.c
brlcad/branches/stepsync/src/other/stepcode/src/express/scope.c
brlcad/branches/stepsync/src/other/stepcode/src/express/stmt.c
brlcad/branches/stepsync/src/other/stepcode/src/express/symbol.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/express/test/print_attrs.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/print_schemas.c
brlcad/branches/stepsync/src/other/stepcode/src/express/token_type.h
brlcad/branches/stepsync/src/other/stepcode/src/express/type.c
brlcad/branches/stepsync/src/other/stepcode/src/express/variable.c
brlcad/branches/stepsync/src/other/stepcode/src/test/p21read/p21read.cc
brlcad/branches/stepsync/src/other/stepcode/src/test/scl2html/scl2html.cc
brlcad/branches/stepsync/src/other/stepcode/src/test/tstatic/tstatic.cc
brlcad/branches/stepsync/src/other/stepcode/test/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/test/cpp/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/aggregate_bound_runtime.cc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/attribute.cc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/inverse_attr1.cc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/inverse_attr2.cc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/inverse_attr3.cc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/schema_specific/stepfile_rw_progress.cc
brlcad/branches/stepsync/src/other/stepcode/test/p21/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode.dist
Added Paths:
-----------
brlcad/branches/stepsync/src/other/stepcode/CONTRIBUTING.md
brlcad/branches/stepsync/src/other/stepcode/INTENT.md
brlcad/branches/stepsync/src/other/stepcode/README.md
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Build_opts.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_CXX_schema_macros.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Config_Headers.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Locale.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Outdirs.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Paths.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Regenerate.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Run_exp2cxx.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Targets.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/schema_scanner/
brlcad/branches/stepsync/src/other/stepcode/cmake/schema_scanner/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/cmake/schema_scanner/README
brlcad/branches/stepsync/src/other/stepcode/cmake/schema_scanner/schemaScanner.cc
brlcad/branches/stepsync/src/other/stepcode/cmake/schema_scanner/schemaScanner.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/sync_generated.cmake.in
brlcad/branches/stepsync/src/other/stepcode/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp.broken
brlcad/branches/stepsync/src/other/stepcode/data/ap209/
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS1-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS10-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS10Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS10Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS1Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS1Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS2-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS2Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS2Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS3-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS3Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS3Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS4-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS4Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS4Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS7-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS7Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS7Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS8-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS8Mod0-out.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ATS8Mod0-outresult.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap209/ap209_N8334_mim_lf.exp
brlcad/branches/stepsync/src/other/stepcode/data/ap210e3/
brlcad/branches/stepsync/src/other/stepcode/data/ap210e3/ap210e3_n8232_mim_lf.exp
brlcad/branches/stepsync/src/other/stepcode/data/ap242/242_n8324_mim_lf.exp
brlcad/branches/stepsync/src/other/stepcode/example/
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/ExternalProjectBuild/
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/ExternalProjectBuild/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/ExternalProjectBuild/cmake/
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/ExternalProjectBuild/cmake/External_STEPCode.cmake
brlcad/branches/stepsync/src/other/stepcode/example/ap203min/ap203min.cpp
brlcad/branches/stepsync/src/other/stepcode/include/express/alloc.h
brlcad/branches/stepsync/src/other/stepcode/include/express/exp_kw.h
brlcad/branches/stepsync/src/other/stepcode/include/express/factory.h
brlcad/branches/stepsync/src/other/stepcode/include/express/info.h
brlcad/branches/stepsync/src/other/stepcode/misc/summarize-appveyor-log.go
brlcad/branches/stepsync/src/other/stepcode/src/base/path2str.c
brlcad/branches/stepsync/src/other/stepcode/src/base/path2str.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_mkdir.c
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_mkdir.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_nullptr.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_stdio.h
brlcad/branches/stepsync/src/other/stepcode/src/base/sc_strtoull.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyRefs.h
brlcad/branches/stepsync/src/other/stepcode/src/cllazyfile/lazyRefs.txt
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/Registry.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrBinary.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrBinary.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrEntity.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrEntity.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrEnum.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrEnum.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrGeneric.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrGeneric.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrInt.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrInt.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrReal.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrReal.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrSelect.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrSelect.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrString.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPaggrString.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPinvAttrList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPinvAttrList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/aggrTypeDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/aggrTypeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/attrDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/attrDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/attrDescriptorList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/attrDescriptorList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/create_Aggr.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/create_Aggr.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/derivedAttribute.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/derivedAttribute.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/dictSchema.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/dictSchema.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/dictionaryInstance.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/entityDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/entityDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/entityDescriptorList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/entityDescriptorList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/enumTypeDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/enumTypeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/explicitItemId.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/explicitItemId.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/globalRule.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/globalRule.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/implicitItemId.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/implicitItemId.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/interfaceSpec.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/interfaceSpec.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/interfacedItem.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/interfacedItem.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/inverseAttribute.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/inverseAttribute.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/inverseAttributeList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/inverseAttributeList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/realTypeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/schRename.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/schRename.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/selectTypeDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/selectTypeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/stringTypeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/superInvAttrIter.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/test_SupertypesIterator.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/test_null_attr.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/test_operators_SDAI_Select.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/test/test_operators_STEPattribute.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeDescriptor.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeDescriptor.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeDescriptorList.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeDescriptorList.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeOrRuleVar.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/typeOrRuleVar.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/uniquenessRule.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/uniquenessRule.h
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/whereRule.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/whereRule.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/class_strings.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/class_strings.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_attribute.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_attribute.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_entity.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_entity.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_type.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/classes_type.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/genCxxFilenames.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/genCxxFilenames.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/rules.c
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/rules.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/test/
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/test/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/test/inverse_qualifiers.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/test/missing_init.exp
brlcad/branches/stepsync/src/other/stepcode/src/exp2cxx/test/unique_qualifiers.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/DESIGN.txt
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/python/.gitignore
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/classes.h
brlcad/branches/stepsync/src/other/stepcode/src/exp2python/src/complexSupport.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pp.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_alg.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_alg.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_case.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_case.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_entity.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_entity.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_expr.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_expr.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_express.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_express.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_func.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_func.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_loop.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_loop.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_proc.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_proc.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_ref.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_ref.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_rule.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_rule.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_schema.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_schema.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_scope.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_scope.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_stmt.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_stmt.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_subtype.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_subtype.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_type.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_type.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_where.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/pretty_where.h
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/CMakeLists.txt
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_div_slash.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_div_slash.exp
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_lost_var.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_lost_var.exp
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_problems.exp
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_supertype_andor.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/exppp_supertype_andor.exp
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/inverse_qualifiers.cmake
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/test_breakLongStr.c
brlcad/branches/stepsync/src/other/stepcode/src/exppp/test/unique_qualifiers.cmake
brlcad/branches/stepsync/src/other/stepcode/src/express/alloc.c
brlcad/branches/stepsync/src/other/stepcode/src/express/dummy.c
brlcad/branches/stepsync/src/other/stepcode/src/express/exp_kw.c
brlcad/branches/stepsync/src/other/stepcode/src/express/factory.c
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/ybreaks.txt
brlcad/branches/stepsync/src/other/stepcode/src/express/info.c
brlcad/branches/stepsync/src/other/stepcode/src/express/resolve2.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/driver.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/driver.h
brlcad/branches/stepsync/src/other/stepcode/src/express/test/fff.h
brlcad/branches/stepsync/src/other/stepcode/src/express/test/plib_parse_err.exp
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_expr.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_express.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_resolve.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_resolve2.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_schema.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_scope.c
brlcad/branches/stepsync/src/other/stepcode/src/express/test/test_type.c
brlcad/branches/stepsync/src/other/stepcode/src/express/ybreaks.py
brlcad/branches/stepsync/src/other/stepcode/test/p21/select_segfault_2.stp
brlcad/branches/stepsync/src/other/stepcode/test/p21/test_inherit_inverse.p21
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/inherit_inverse.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/inverse_bug.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/inverse_qualifiers.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/numbered_inverse_attr.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/select_segfault_2.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/unique_qualifiers.exp
brlcad/branches/stepsync/src/other/stepcode/test/unitary_schemas/ur_redecl.exp
Removed Paths:
-------------
brlcad/branches/stepsync/src/other/stepcode/README
brlcad/branches/stepsync/src/other/stepcode/TODO
brlcad/branches/stepsync/src/other/stepcode/cmake/CheckCFileRuns.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Utils.cmake
brlcad/branches/stepsync/src/other/stepcode/cmake/md5_gen.cmake.in
brlcad/branches/stepsync/src/other/stepcode/cmake/md5_verify.cmake.in
brlcad/branches/stepsync/src/other/stepcode/cmake/sc_version_string.cmake
brlcad/branches/stepsync/src/other/stepcode/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp
brlcad/branches/stepsync/src/other/stepcode/data/ap210e2/Cable_db.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap210e2/FlasherThruHole.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap210e2/PDES-181.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap210e2/SurfaceMountFlasher.stp
brlcad/branches/stepsync/src/other/stepcode/data/ap227/mitre.p21
brlcad/branches/stepsync/src/other/stepcode/data/ap227/mitre.step.txt
brlcad/branches/stepsync/src/other/stepcode/data/ap242/ap242e1.exp
brlcad/branches/stepsync/src/other/stepcode/data/cd209/
brlcad/branches/stepsync/src/other/stepcode/data/cd242/
brlcad/branches/stepsync/src/other/stepcode/data/wip210e3/
brlcad/branches/stepsync/src/other/stepcode/doc/man/man1/dataprobe.1
brlcad/branches/stepsync/src/other/stepcode/doc/man/man1/mkProbe.1
brlcad/branches/stepsync/src/other/stepcode/src/clSchemas/
brlcad/branches/stepsync/src/other/stepcode/src/clprobe-ui/
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/ExpDict.inline.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/Registry.inline.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/STEPattribute.inline.cc
brlcad/branches/stepsync/src/other/stepcode/src/clstepcore/SingleLinkList.inline.cc
brlcad/branches/stepsync/src/other/stepcode/src/express/exptoks.h
brlcad/branches/stepsync/src/other/stepcode/src/express/generated/verification_info.cmake
brlcad/branches/stepsync/src/other/stepcode/src/test/schema-loc
brlcad/branches/stepsync/src/other/stepcode/test/cpp/stepcore/
Modified: brlcad/branches/stepsync/src/conv/step/CMakeLists.txt
===================================================================
--- brlcad/branches/stepsync/src/conv/step/CMakeLists.txt 2020-12-08
16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/conv/step/CMakeLists.txt 2020-12-09
00:34:53 UTC (rev 77952)
@@ -55,6 +55,8 @@
set(express_srcs
${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}.cc
${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}.init.cc
+ ${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}_unity_entities.cc
+ ${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}_unity_types.cc
${SCHEMA_OUT_DIR}/SdaiAll.cc
${SCHEMA_OUT_DIR}/compstructs.cc
${SCHEMA_OUT_DIR}/schema.cc
@@ -65,8 +67,9 @@
set(EXPRESS_OUTPUT
${express_srcs}
${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}.h
- ${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}Helpers.h
${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}Names.h
+ ${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}_unity_entities.h
+ ${SCHEMA_OUT_DIR}/Sdai${SCHEMA_NAME}_unity_types.h
${SCHEMA_OUT_DIR}/Sdaiclasses.h
${SCHEMA_OUT_DIR}/schema.h
)
Modified: brlcad/branches/stepsync/src/other/stepcode/AUTHORS
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/AUTHORS 2020-12-08 16:41:06 UTC
(rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/AUTHORS 2020-12-09 00:34:53 UTC
(rev 77952)
@@ -5,21 +5,29 @@
In alphabetical order:
Bertucat, Roch (rbertucat)
Bowman, W. Keith (indianlarry)
+da Costa, Raphael Kubo (rakuco)
+DeGraw, Jason (jasondegraw)
Easterbrook, Zach (lainiwakurax)
Greenwald, Erik (erikg, erikgreenwald)
+Horler, Chris (cshorler)
Lanning, Craig (craigl64)
Loman, David (davidloman)
+McDonald, Rob (ramcdona)
+Mittal, Pulkit (hoiji09)
Morrison, Christopher Sean (sean, morrison, brlcad)
Paviot, Thomas (tpaviot)
Pictor, Mark (mpictor)
-Shah, Kesha (kesha)
+Reed, Nick (nickreed)
+Shah, Kesha (kesha, keshashah)
Thomas, Dawn (homovulgaris, madant)
Wouters, Dave (davyw)
Yapp, Clifford (starseeker)
Special thanks:
+Hunten, Keith (Lockheed Martin)
Lubbell, Joshua (NIST)
Stirk, Charlie (CostVision)
+Thurman, Tom (TRThurman)
Between 2005 and 2006, Stefan Richter worked to make SCL compatible with
modern ANSI/ISO C++, and modified the build system. His patches are at
Modified: brlcad/branches/stepsync/src/other/stepcode/CMakeLists.txt
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/CMakeLists.txt 2020-12-08
16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/CMakeLists.txt 2020-12-09
00:34:53 UTC (rev 77952)
@@ -1,4 +1,4 @@
-# C M A K E L I S T S . T X T F O R S C L
+# C M A K E L I S T S . T X T F O R S T E P C O D E
#
# This file is Copyright (c) 2010 United States Government as
# represented by the U.S. Army Research Laboratory.
@@ -32,421 +32,129 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# *******************************************************************
-# *** SC's CMakeLists.txt ***
+# *** STEPcode's CMakeLists.txt ***
# *******************************************************************
# This file contains the top level CMakeLists.txt logic for the
-# SC software package.
+# STEPcode software package.
+
project(SC)
# 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})
+set(SC_VERSION_MAJOR 0)
+set(SC_VERSION_MINOR 9)
+set(SC_VERSION_PATCH 1)
+set(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR}.${SC_VERSION_PATCH})
-# SC ABI version. SC_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)
-
# Minimum required version of CMake
cmake_minimum_required(VERSION 3.12)
+cmake_policy(SET CMP0077 OLD)
-IF( NOT DEFINED INCLUDE_INSTALL_DIR )
- SET( INCLUDE_INSTALL_DIR include )
-ENDIF( NOT DEFINED INCLUDE_INSTALL_DIR )
-
-IF( NOT DEFINED LIB_INSTALL_DIR )
- SET( LIB_INSTALL_DIR lib )
-ENDIF( NOT DEFINED LIB_INSTALL_DIR )
-
-IF( NOT DEFINED BIN_INSTALL_DIR )
- SET( BIN_INSTALL_DIR bin )
-ENDIF( NOT DEFINED BIN_INSTALL_DIR )
-
-if(NOT DEFINED BIN_DIR)
- set(BIN_DIR bin)
-endif(NOT DEFINED BIN_DIR)
-
-if(NOT DEFINED LIB_DIR)
- set(LIB_DIR lib)
-endif(NOT DEFINED LIB_DIR)
-
-# 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)
-
-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)
+set(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
+if(NOT SC_IS_SUBBUILD)
+ set(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
+else(NOT SC_IS_SUBBUILD)
+ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
+endif(NOT SC_IS_SUBBUILD)
-INCLUDE(${SC_CMAKE_DIR}/SC_Utils.cmake)
+# OpenBSD has its own naming conventions. Set a platform variable based on
+# the OS name so we can test for it succinctly.
+if ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")
+ set(OPENBSD ON)
+endif ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")
-# 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)
+# testing and compilation options, build output dirs, install dirs, uninstall,
package creation, etc
+include(${SC_CMAKE_DIR}/SC_Build_opts.cmake)
+# SC_ADDEXEC and SC_ADDLIB macros, dllimport/export, etc
+include(${SC_CMAKE_DIR}/SC_Targets.cmake)
-#---------------------------------------------------------------------
-# 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)
+# Macros related to paths
+include(${SC_CMAKE_DIR}/SC_Paths.cmake)
-#---------------------------------------------------------------------
-# 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)
+# locale stuff
+include(${SC_CMAKE_DIR}/SC_Locale.cmake)
-#-----------------------------------------------------------------------------
-# 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)
+# logic related to regenerating the lexer and parser source code
+include(${SC_CMAKE_DIR}/SC_Regenerate.cmake)
-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()
+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)
+ list(APPEND CONFIG_END_MESSAGES
+ "** CMake variable SC_BUILD_SCHEMAS was not set. Defaults to building ALL
schemas, which 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)
-#-----------------------------------------------------------------------------
-# 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 )
+ list(APPEND CONFIG_END_MESSAGES
+ ".. Don't worry about any messages above about missing headers or failed
tests, as long as"
+ " you see 'Configuring done' below. Headers and features vary by
compiler."
+ ".. Generating step can take a while if you are building several schemas.")
endif(NOT SC_IS_SUBBUILD)
-if(SC_SKIP_EXEC_INSTALL)
- set(SC_EXEC_NOINSTALL "NO_INSTALL")
-endif(SC_SKIP_EXEC_INSTALL)
+# create config headers sc_cf.h and sc_version_string.h
+include(${SC_CMAKE_DIR}/SC_Config_Headers.cmake)
-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")
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_CXX_STANDARD 11)
-# 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__ )
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
else()
- add_definitions( -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline
-Wno-long-long )
+ add_definitions(-pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline
-Wno-long-long)
+ if(HAVE_NULLPTR)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ endif(HAVE_NULLPTR)
endif()
include_directories(
${SC_SOURCE_DIR}/include
${SC_BINARY_DIR}/include
- )
+ )
-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/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)
+add_subdirectory(src/cllazyfile)
+add_subdirectory(include)
+add_subdirectory(data)
+if(SC_ENABLE_TESTING)
+ add_subdirectory(test)
+endif(SC_ENABLE_TESTING)
+add_subdirectory(doc)
-# this is for testing - 'make core' builds everything that isn't generated
-add_custom_target( core )
-add_dependencies( core stepdai check-express stepeditor exp2cxx )
+# 'make core' builds everything that isn't generated. for devs.
+add_custom_target(core)
+if($CACHE{SC_BUILD_SHARED_LIBS})
+ add_dependencies(core stepdai stepeditor exp2cxx check-express)
+else()
+ add_dependencies(core stepdai-static stepeditor-static exp2cxx check-express)
+endif()
-if(NOT SC_IS_SUBBUILD)
-
###############################################################################
- # SC Packaging
#
- # $make package
#
-
###############################################################################
+# CONFIG_END_MESSAGES - list of messages to be printed after everything else
is done.
+# THIS MUST BE LAST to ensure that they are visible to the user without
scrolling.
+foreach(_msg ${CONFIG_END_MESSAGES})
+ message(STATUS "${_msg}")
+endforeach(_msg ${CONFIG_END_MESSAGES})
- 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
Added: brlcad/branches/stepsync/src/other/stepcode/CONTRIBUTING.md
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/CONTRIBUTING.md
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/CONTRIBUTING.md 2020-12-09
00:34:53 UTC (rev 77952)
@@ -0,0 +1,45 @@
+# How to contribute
+
+We love contributions!
+
+## Getting started
+
+* Create a github account if you haven't already, and fork the project
+* Create a new branch, using a branch name that gives an idea of what the
changes are about
+* One topic per commit; a number of small commits are better than one big one
+ * Do not introduce whitespace changes! (**Windows users:** `git config
--global core.autocrlf true`)
+ * Encouraged but not enforced: each commit should stand alone, in the sense
that the code should compile and run at that point.
+* One major topic per pull request. Commits that fix small things (typos,
formatting) are perfectly acceptable in a PR fixing a bug or adding a feature.
+ * Tests are good. Tests are required unless you're fixing something simple
or that was obviously broken.
+* Make your changes and push them to your GitHub repo
+* Once your branch is pushed, submit a pull request.
+* We'll look at the PR and either merge or add feedback. If there isn't any
activity within several days, send a message to the mailing list - `scl-dev` AT
`groups.google.com`.
+
+## Coding Standards
+
+SC's source has been reformatted with astyle. When making changes, try
+to match the current formatting. The main points are:
+
+ - compact (java-style) brackets:
+```C
+ if( a == 3 ) {
+ c = 5;
+ function( a, b );
+ } else {
+ somefunc();
+ }
+```
+ - indents are 4 spaces
+ - no tab characters
+ - line endings are LF (linux), not CRLF (windows)
+ - brackets around single-line conditionals
+ - spaces inside parentheses and around operators
+ - return type on the same line as the function name, unless that's
+ too long
+ - doxygen-style comments
+ (see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
+
+If in doubt about a large patch, run astyle with the config file
+misc/astyle.cfg.
+Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
+
Property changes on: brlcad/branches/stepsync/src/other/stepcode/CONTRIBUTING.md
___________________________________________________________________
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/stepsync/src/other/stepcode/COPYING
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/COPYING 2020-12-08 16:41:06 UTC
(rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/COPYING 2020-12-09 00:34:53 UTC
(rev 77952)
@@ -1,108 +1,47 @@
-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,
-mpictor/StepClassLibrary or stepcode/stepcode on github).
+STEPcode is provided as a collective work under the 3-clause BSD
+license. As some portions are not subject to copyright in some
+jurisdictions, see INTENT.md for additional details regarding intent
+and history. See the AUTHORS file for a list of contributors and
+copyright holders.
-Modifications which were first commited 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
-near the top of the file, or are licensed under the same terms that
-NIST used.
+Code generated by STEPcode containing substantial parts of STEPcode
+complex enough to have copyright protection are subject to the terms
+of this license.
-********************************************************************
-3-clause BSD license:
+STEPcode acknowledgement and/or attribution is appreciated regardless
+of license or copyright status.
-Copyright (c) <date committed>, <copyright holder>
-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.
- * Neither the name of the <organization> nor the
- names of its contributors may 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 <COPYRIGHT HOLDER> 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.
********************************************************************
-
-
+ 3-Clause BSD License
********************************************************************
- 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,
-modification, maintenance, and subsequent redistribution.
+Copyright (c) 2009-2019 STEPcode AUTHORS
+All rights reserved.
-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
-Applications (SIMA) program.
+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.
-/* ********************************************************************
- * 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
- * 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
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- * 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
- * INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
- * BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A
- * FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY
- * NIST) THE PROGRAMS, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
- */
+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. Neither the name of the copyright holder nor the names of its
+contributors may 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.
Modified: brlcad/branches/stepsync/src/other/stepcode/CTestConfig.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/CTestConfig.cmake
2020-12-08 16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/CTestConfig.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -8,3 +8,11 @@
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=StepClassLibrary")
set(CTEST_DROP_SITE_CDASH TRUE)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Added: brlcad/branches/stepsync/src/other/stepcode/INTENT.md
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/INTENT.md
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/INTENT.md 2020-12-09
00:34:53 UTC (rev 77952)
@@ -0,0 +1,102 @@
+## Licensing Intent
+
+The intent is that this software and documentation ("Project") should
+be treated as if it is licensed under the license(s) associated with
+the Project ("License") in the `COPYING` file. However, because some
+contributors work for the United States (U.S.) Federal Government, it
+is not that simple.
+
+The portions of this Project written by United States (U.S.) federal
+government employees within the scope of their federal employment are
+ineligible for copyright protection in the U.S.; this is generally
+understood to mean that these portions of the Project are placed in
+the public domain.
+
+In countries where copyright protection is available (which does not
+include the U.S.), contributions made by U.S. Federal government
+employees are released under the License. Merged contributions from
+private contributors are released under the License.
+
+## Background History
+
+STEPcode was originally developed as the STEP Class Libraries (SCL) by
+the U.S. National Institute of Standards and Technology (NIST). Prior
+to 2009, the U.S. Army Research Laboratory and members of the BRL-CAD
+open source community researched freely available open source options
+for ISO 10303 STEP support. Development had ceased, no open source
+community existed, the code was out of date in many regards, and
+additional work was needed to become production-ready, but SCL was
+found to be a usable reference implementation.
+
+Consulting with NIST and others circa 2009, the BRL-CAD community
+began efforts to take over SCL development, modernization, and code
+enhancements. The BRL-CAD community purchased licenses for the ISO
+10303 standard and began working to bring SCL up-to-date with the
+latest specification. By 2011, significant progress had been made,
+the project had garnered attention from others, and STEPcode was
+establishd as an independent project.
+
+## Original NIST License Text
+
+This software was [originally] 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 [circa 1992] were sponsored by the National Information
Infrastructure
+Protocols Consortium and NIST's Systems Integration for Manufacturing
+Applications (SIMA) program.
+
+~~~~
+/* ********************************************************************
+ * 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
+ * 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
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ * 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
+ * INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
+ * BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A
+ * FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY
+ * NIST) THE PROGRAMS, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
+ */
+ ~~~~
\ No newline at end of file
Property changes on: brlcad/branches/stepsync/src/other/stepcode/INTENT.md
___________________________________________________________________
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/stepsync/src/other/stepcode/NEWS
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/NEWS 2020-12-08 16:41:06 UTC
(rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/NEWS 2020-12-09 00:34:53 UTC
(rev 77952)
@@ -1,5 +1,27 @@
STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
************************************************************************
+Release 0.8 (December, 2014)
+
+New since v0.7:
+* handle diamond inheritance, derived Attributes
+* rename fedex_python, fedex_plus to exp2py, exp2cxx
+* many changes to the pretty printer, due to use in reformatting draft
+ and IS schemas (Thanks Tom!)
+* parser was also changed due to errors caught while pretty printing
+ - we can be much more confident that the parser is correct now
+* fix incorrect quoting of timestamp in p21 header
+* fix various copy constructors and ShallowCopy() members
+* split generated code into many small files
+ - far easier to open generated code in editors
+ - support more compilers
+ - small files are combined (via #include statements) into a few
+ large files for faster "unitary" builds, if the compiler can handle it
+ - unitary builds are faster than the previous builds
+* most compiler warnings fixed
+* performance fixes and other changes from BRL-CAD
+* finally, all tests pass!
+
+************************************************************************
Release 0.7 (April, 2013)
New since v0.6:
@@ -154,7 +176,7 @@
makefiles which are addressed, as well as a new macro that is at
least required for gcc.
-Remaing problem: The p21 file scanner of SCL currently
+Remaining problem: The p21 file scanner of SCL currently
does not allow for comments within the parameter list of
data records. Only comments outside of data records are
accepted.
@@ -230,7 +252,7 @@
- Fixed the casting operator for the class representing EXPRESS
enumeration types. It was returning the last element of the enum type
-as the the default when the enum was unset. This choice predated enums
+as the default when the enum was unset. This choice predated enums
having an unset enum value. It now returns <enum_name>_unset as the
default when the enum is unset.
@@ -772,7 +794,7 @@
duplicated. This case of multiple inheritance may possibly be
avoided by modifying the EXPRESS schema by breaking some links in the
inheritance hierarchy. This will not have an adverse affect on the
-implemementation. The user may choose to use the current or previous
+implementation. The user may choose to use the current or previous
method of handling multiple inheritance. The current method is the
default behavior. The previous method is obtained by supplying the
-s (or -S) option with the exp2cxx code generator or the mkProbe
@@ -965,7 +987,7 @@
If there wasn't a value in the attribute previously, then the field will
contain just the type specifier, e.g., Str1() if Str1 is the type selected.
-If a value exists in the field, it is modified to accomodate the new
+If a value exists in the field, it is modified to accommodate the new
specifier. This means the following:
o If the value in the field starts with a single-quote ('), it is
assumed to be a string literal, and is completely wrapped in the new
Deleted: brlcad/branches/stepsync/src/other/stepcode/README
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/README 2020-12-08 16:41:06 UTC
(rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/README 2020-12-09 00:34:53 UTC
(rev 77952)
@@ -1,57 +0,0 @@
-***********************************************************************
-STEPcode v0.7 -- stepcode.org, github.com/stepcode/stepcode
-
-* What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates
- C++ source code that can read and write Part 21 files conforming
- to that schema. In addition to C++, SC includes experimental
- support for Python.
-
-* Renamed in April/May 2012: SC was formerly known as STEP Class
- Libraries, SCL for short. It was renamed because the name wasn't
- accurate: the class libraries make up only a part of the code.
-
-* Much of the work to update SC has been done by the developers of
- BRL-CAD, and SC (then STEP Class Library) was originally created at
- NIST in the 90's.
-
-* For information on changes version-by-version, see the NEWS file
-
-* Building and testing SCL - see the INSTALL file
-
-* For more details on the libraries and executables, see the wiki:
- http://github.com/stepcode/stepcode/wiki/About-STEPcode
-
-* For license details, see the COPYING file. Summary: 3-clause BSD.
-
-***********************************************************************
-
-***********************************************************************
-CODING STANDARDS
-
-SC's source has been reformatted with astyle. When making changes, try
-to match the current formatting. The main points are:
-
- - compact (java-style) brackets:
- if( a == 3 ) {
- c = 5;
- function( a, b );
- } else {
- somefunc( );
- }
- - indents are 4 spaces
- - no tab characters
- - line endings are LF (linux), not CRLF (windows)
- - brackets around single-line conditionals
- - spaces inside parentheses and around operators
- - return type on the same line as the function name, unless that's
- too long
- - doxygen-style comments
- (see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
-
-If in doubt about a large patch, run astyle with the config file
-misc/astyle.cfg.
-Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
-
-***********************************************************************
-
-For more info, see the wiki.
\ No newline at end of file
Added: brlcad/branches/stepsync/src/other/stepcode/README.md
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/README.md
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/README.md 2020-12-09
00:34:53 UTC (rev 77952)
@@ -0,0 +1,64 @@
+ Travis-CI | AppVeyor CI
+:-------------:|:---------------:
+Linux, OSX (LLVM) | Windows (MSVC)
+[](https://travis-ci.org/stepcode/stepcode)
| [](https://ci.appveyor.com/project/mpictor/stepcode)
+
+***********************************************************************
+STEPcode v0.8 -- stepcode.org, github.com/stepcode/stepcode
+
+* What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates
+ C++ source code that can read and write Part 21 files conforming
+ to that schema. In addition to C++, SC includes experimental
+ support for Python.
+
+* Renamed in April/May 2012: SC was formerly known as STEP Class
+ Libraries, SCL for short. It was renamed because the name wasn't
+ accurate: the class libraries make up only a part of the code.
+
+* Much of the work to update SC has been done by the developers of
+ BRL-CAD, and SC (then STEP Class Library) was originally created at
+ NIST in the 90's.
+
+* For information on changes version-by-version, see the NEWS file
+
+* Building and testing SCL - see the INSTALL file
+
+* For more details on the libraries and executables, see the wiki:
+ http://github.com/stepcode/stepcode/wiki/About-STEPcode
+
+* For license details, see the COPYING file. Summary: 3-clause BSD.
+
+***********************************************************************
+
+***********************************************************************
+CODING STANDARDS
+
+SC's source has been reformatted with astyle. When making changes, try
+to match the current formatting. The main points are:
+
+ - compact (java-style) brackets:
+```C
+ if( a == 3 ) {
+ c = 5;
+ function( a, b );
+ } else {
+ somefunc( );
+ }
+```
+ - indents are 4 spaces
+ - no tab characters
+ - line endings are LF (linux), not CRLF (windows)
+ - brackets around single-line conditionals
+ - spaces inside parentheses and around operators
+ - return type on the same line as the function name, unless that's
+ too long
+ - doxygen-style comments
+ (see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
+
+If in doubt about a large patch, run astyle with the config file
+misc/astyle.cfg.
+Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
+
+***********************************************************************
+
+For more info, see the wiki.
Property changes on: brlcad/branches/stepsync/src/other/stepcode/README.md
___________________________________________________________________
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/stepsync/src/other/stepcode/SC_VERSION.txt
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/SC_VERSION.txt 2020-12-08
16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/SC_VERSION.txt 2020-12-09
00:34:53 UTC (rev 77952)
@@ -1 +1 @@
-0.7
+0.8
Deleted: brlcad/branches/stepsync/src/other/stepcode/TODO
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/TODO 2020-12-08 16:41:06 UTC
(rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/TODO 2020-12-09 00:34:53 UTC
(rev 77952)
@@ -1,4 +0,0 @@
-(from BRL-CAD)
-
-* verify/fix step parser generation with newer AP schemas, seems to be
- outputting invalid syntax.
Deleted: brlcad/branches/stepsync/src/other/stepcode/cmake/CheckCFileRuns.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/CheckCFileRuns.cmake
2020-12-08 16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/CheckCFileRuns.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -1,84 +0,0 @@
-# - Check if the given C source code compiles and runs.
-# CHECK_C_SOURCE_RUNS(<code> <var>)
-# <code> - source code to try to compile
-# <var> - variable to store the result
-# (1 for success, empty for failure)
-# The following variables may be set before calling this macro to
-# modify the way the check is run:
-#
-# CMAKE_REQUIRED_FLAGS = string of compile command line flags
-# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-# CMAKE_REQUIRED_INCLUDES = list of include directories
-# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distributed this file outside of CMake, substitute the full
-# License text for the above reference.)
-
-MACRO(CHECK_C_FILE_RUNS SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$")
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
-
- MESSAGE(STATUS "Performing Test ${VAR}")
- TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
- ${CMAKE_BINARY_DIR}
- ${SOURCE}
- COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
${FILE_RUN_DEFINITIONS}
- CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
- "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
- "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
- COMPILE_OUTPUT_VARIABLE OUTPUT)
- # if it did not compile make the return value fail code of 1
- IF(NOT ${VAR}_COMPILED)
- SET(${VAR}_EXITCODE 1)
- ENDIF(NOT ${VAR}_COMPILED)
- # if the return value was 0 then it worked
- IF("${${VAR}_EXITCODE}" EQUAL 0)
- SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
- MESSAGE(STATUS "Performing Test ${VAR} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Performing C SOURCE FILE Test ${VAR} succeded with the following
output:\n"
- "${OUTPUT}\n"
- "Return value: ${${VAR}}\n"
- "Source file was:\n${SOURCE}\n")
- ELSE("${${VAR}_EXITCODE}" EQUAL 0)
- IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
- SET(${VAR} "${${VAR}_EXITCODE}")
- ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
- SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
- ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
-
- MESSAGE(STATUS "Performing Test ${VAR} - Failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Performing C SOURCE FILE Test ${VAR} failed with the following
output:\n"
- "${OUTPUT}\n"
- "Return value: ${${VAR}_EXITCODE}\n"
- "Source file was:\n${SOURCE}\n")
-
- ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
- ENDIF("${VAR}" MATCHES "^${VAR}$")
-ENDMACRO(CHECK_C_FILE_RUNS)
-
Modified: brlcad/branches/stepsync/src/other/stepcode/cmake/FindLEMON.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/FindLEMON.cmake
2020-12-08 16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/FindLEMON.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -10,7 +10,7 @@
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
-# Copyright (c) 2010-2016 United States Government as represented by
+# Copyright (c) 2010-2020 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
@@ -44,9 +44,35 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
-find_program(LEMON_EXECUTABLE lemon DOC "path to the lemon executable")
+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")
@@ -113,6 +139,10 @@
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}")
@@ -160,8 +190,8 @@
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} -l -T${LEMON_TEMPLATE}
${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME} ${${LVAR_PREFIX}__EXTRA_ARGS}
- DEPENDS ${Input} ${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_TARGET}
+ 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}"
)
@@ -171,7 +201,7 @@
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}
+ 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}")
@@ -179,7 +209,7 @@
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}
+ 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}")
Modified: brlcad/branches/stepsync/src/other/stepcode/cmake/FindPERPLEX.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/FindPERPLEX.cmake
2020-12-08 16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/FindPERPLEX.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -10,7 +10,7 @@
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
-# Copyright (c) 2010-2016 United States Government as represented by
+# Copyright (c) 2010-2020 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
@@ -44,9 +44,35 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
-find_program(PERPLEX_EXECUTABLE perplex DOC "path to the perplex executable")
+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)
@@ -96,7 +122,7 @@
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
-# Copyright (c) 2010-2016 United States Government as represented by
+# Copyright (c) 2010-2020 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
@@ -141,6 +167,10 @@
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)
@@ -200,7 +230,7 @@
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} ${${PVAR_PREFIX}_TEMPLATE} ${PERPLEX_EXECUTABLE_TARGET}
${RE2C_EXECUTABLE_TARGET}
+ 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}"
)
@@ -209,7 +239,7 @@
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}
+ 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}"
)
@@ -217,7 +247,7 @@
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}
+ 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}"
)
Modified: brlcad/branches/stepsync/src/other/stepcode/cmake/FindRE2C.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/FindRE2C.cmake
2020-12-08 16:41:06 UTC (rev 77951)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/FindRE2C.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -3,7 +3,29 @@
#
#=============================================================================
-find_program(RE2C_EXECUTABLE re2c DOC "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)
@@ -42,7 +64,7 @@
# ====================================================================
#
#=============================================================================
-# Copyright (c) 2010-2016 United States Government as represented by
+# Copyright (c) 2010-2020 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
Added: brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Build_opts.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Build_opts.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Build_opts.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,186 @@
+# BIN and LIB directories
+if(NOT DEFINED BIN_DIR)
+ set(BIN_DIR bin)
+endif(NOT DEFINED BIN_DIR)
+
+if(NOT DEFINED LIB_DIR)
+ set(LIB_DIR lib)
+endif(NOT DEFINED LIB_DIR)
+
+# testing and compilation options, build output dirs, install dirs, etc
+# included by root CMakeLists
+
+if(NOT DEFINED INCLUDE_INSTALL_DIR)
+ set(INCLUDE_INSTALL_DIR include)
+endif(NOT DEFINED INCLUDE_INSTALL_DIR)
+
+if(NOT DEFINED LIB_INSTALL_DIR)
+ set(LIB_INSTALL_DIR lib)
+endif(NOT DEFINED LIB_INSTALL_DIR)
+
+if(NOT DEFINED BIN_INSTALL_DIR)
+ set(BIN_INSTALL_DIR bin)
+endif(NOT DEFINED BIN_INSTALL_DIR)
+
+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)
+
+# Define helper macro OPTION_WITH_DEFAULT
+macro(OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT)
+ if(NOT DEFINED ${OPTION_NAME})
+ set(${OPTION_NAME} ${OPTION_DEFAULT})
+ endif(NOT DEFINED ${OPTION_NAME})
+ option(${OPTION_NAME} "${OPTION_STRING}" ${${OPTION_NAME}})
+endmacro(OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT)
+
+# build shared libs by default
+OPTION_WITH_DEFAULT(SC_BUILD_SHARED_LIBS "Build shared libs" ON)
+
+# don't build static libs by default
+OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF)
+
+OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile exp2python" ON)
+OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile exp2cxx" ON)
+
+OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak
detection" OFF)
+OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code
so the code's source in exp2cxx may be located" OFF)
+
+# Should we use C++11?
+OPTION_WITH_DEFAULT(SC_ENABLE_CXX11 "Build with C++ 11 features" ON)
+
+# Get version from git
+OPTION_WITH_DEFAULT(SC_GIT_VERSION "Build using version from git" ON)
+
+option(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
+mark_as_advanced(SC_BUILD_EXPRESS_ONLY)
+
+option(DEBUGGING_GENERATED_SOURCES "disable md5 verification of generated
sources" OFF)
+mark_as_advanced(DEBUGGING_GENERATED_SOURCES)
+
+#---------------------------------------------------------------------
+# Coverage option
+OPTION_WITH_DEFAULT(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_WITH_DEFAULT(SC_ENABLE_TESTING "Enable unittesting framework" OFF)
+if(SC_ENABLE_TESTING)
+ if(NOT ${SC_BUILD_EXPRESS_ONLY} AND NOT DEFINED SC_BUILD_SCHEMAS)
+ set(SC_BUILD_SCHEMAS "ALL") #test all schemas, unless otherwise specified
+ endif()
+ include(CTest)
+endif(SC_ENABLE_TESTING)
+
+#---------------------------------------------------------------------
+# Executable install option
+OPTION_WITH_DEFAULT(SC_SKIP_EXEC_INSTALL "Skip installing executables" OFF)
+if(SC_SKIP_EXEC_INSTALL)
+ set(SC_EXEC_NOINSTALL "NO_INSTALL")
+endif(SC_SKIP_EXEC_INSTALL)
+
+#---------------------------------------------------------------------
+# The following logic is what allows binaries to run successfully in
+# the build directory AND install directory. Thanks to plplot for
+# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX.
+# Documentation of these options is available at
+# http://www.cmake.org/Wiki/CMake_RPATH_handling
+
+# use, i.e. don't skip the full RPATH for the build tree
+if(NOT DEFINED CMAKE_SKIP_BUILD_RPATH)
+ set(CMAKE_SKIP_BUILD_RPATH FALSE)
+endif()
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+if(NOT DEFINED CMAKE_BUILD_WITH_INSTALL_RPATH)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+endif()
+
+# the RPATH/INSTALL_NAME_DIR to be used when installing
+if (NOT APPLE)
+ if(NOT DEFINED CMAKE_INSTALL_RPATH)
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib")
+ endif()
+endif(NOT APPLE)
+# On OSX, we need to set INSTALL_NAME_DIR instead of RPATH
+#
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_NAME_DIR
+if(NOT DEFINED CMAKE_INSTALL_NAME_DIR)
+ set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
+endif()
+
+# add the automatically determined parts of the RPATH which point to
+# directories outside the build tree to the install RPATH
+if(NOT DEFINED CMAKE_INSTALL_RPATH_USE_LINK_PATH)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+endif()
+
+# When this is a subbuild, assume that the parent project controls all of the
following
+#======================================================================================
+if(NOT SC_IS_SUBBUILD)
+
+ # Output directories. In a separate file so it can be used by the schema
scanner CMake as well.
+ include(${SC_CMAKE_DIR}/SC_Outdirs.cmake)
+
+
#-----------------------------------------------------------------------------
+ # Configure install locations. Only do this if CMAKE_INSTALL_PREFIX hasn't
+ # been set already, to try and allow parent builds (if any) some control.
+ #
+ # Need a good Debug location for Windows.
+ 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)
+
+
#-----------------------------------------------------------------------------
+ # 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 target
+ # 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
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Build_opts.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/stepsync/src/other/stepcode/cmake/SC_CXX_schema_macros.cmake
===================================================================
---
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_CXX_schema_macros.cmake
(rev 0)
+++
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_CXX_schema_macros.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,133 @@
+# macros to be used in the CMakeLists generated by the schema scanner
+
+# uses SC_GENERATE_CXX_ONESHOT - if true, files will only be generated once.
this is useful when debugging and modifying code, not otherwise. TODO: print a
warning when set
+if(NOT DEFINED SC_GENERATE_CXX_ONESHOT)
+ set(SC_GENERATE_CXX_ONESHOT FALSE)
+endif(NOT DEFINED SC_GENERATE_CXX_ONESHOT)
+
+# find all part 21 files in schema dir, add a test for each one
+macro(P21_TESTS sfile)
+ get_filename_component(SCHEMA_DIR ${sfile} PATH)
+ file(GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step
${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc)
+ foreach(TEST_FILE ${P21_FILES})
+ get_filename_component(FNAME ${TEST_FILE} NAME_WE)
+ add_test(NAME read_write_cpp_${PROJECT_NAME}_${FNAME}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMAND p21read_${PROJECT_NAME} ${TEST_FILE})
+ set_tests_properties(read_write_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES
DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw)
+ if(NOT WIN32)
+ add_test(NAME read_lazy_cpp_${PROJECT_NAME}_${FNAME}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMAND lazy_${PROJECT_NAME} ${TEST_FILE})
+ set_tests_properties(read_lazy_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES
DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw)
+ endif(NOT WIN32)
+ endforeach()
+endmacro(P21_TESTS sfile)
+
+# create p21read_sdai_*, lazy_sdai_*, any exes listed in
SC_SDAI_ADDITIONAL_EXES_SRCS
+macro(SCHEMA_EXES)
+ RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR}
RELATIVE_PATH_COMPONENT)
+ SC_ADDEXEC(p21read_${PROJECT_NAME} SOURCES
"${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" LINK_LIBRARIES
${PROJECT_NAME} stepdai stepcore stepeditor steputils base TESTABLE)
+ #add_dependencies(p21read_${PROJECT_NAME} version_string)
+ if(NOT WIN32)
+ SC_ADDEXEC(lazy_${PROJECT_NAME} SOURCES
"${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" LINK_LIBRARIES
${PROJECT_NAME} steplazyfile stepdai stepcore stepeditor steputils base
TESTABLE)
+ #add_dependencies(lazy_${PROJECT_NAME} version_string)
+ endif(NOT WIN32)
+
+ #add user-defined executables
+ foreach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
+ get_filename_component(name ${src} NAME_WE)
+ get_filename_component(path ${src} ABSOLUTE)
+ SC_ADDEXEC(${name}_${PROJECT_NAME} SOURCES ${src} LINK_LIBRARIES
${PROJECT_NAME} stepdai stepcore stepeditor steputils base TESTABLE)
+ add_dependencies(${name}_${PROJECT_NAME} version_string)
+ #set_target_properties(${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}")
+ endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
+ENDMACRO(SCHEMA_EXES)
+
+
+# label the tests and set dependencies
+macro(SCHEMA_TESTS)
+ add_test(NAME generate_cpp_${PROJECT_NAME}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMAND ${CMAKE_COMMAND} --build .
+ --target generate_cpp_${PROJECT_NAME}
+ --config $<CONFIGURATION>)
+ set_tests_properties(generate_cpp_${PROJECT_NAME} PROPERTIES LABELS
cpp_schema_gen)
+ add_test(NAME build_cpp_${PROJECT_NAME}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMAND ${CMAKE_COMMAND} --build .
+ --target p21read_${PROJECT_NAME}
+ --config $<CONFIGURATION>)
+ set_tests_properties(build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS
generate_cpp_${PROJECT_NAME} LABELS cpp_schema_build)
+ if(NOT WIN32)
+ add_test(NAME build_lazy_cpp_${PROJECT_NAME}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMAND ${CMAKE_COMMAND} --build .
+ --target lazy_${PROJECT_NAME}
+ --config $<CONFIGURATION>)
+ set_tests_properties(build_lazy_cpp_${PROJECT_NAME} PROPERTIES DEPENDS
build_cpp_${PROJECT_NAME} LABELS cpp_schema_build)
+ endif(NOT WIN32)
+endmacro(SCHEMA_TESTS)
+
+# SCHEMA_TARGETS macro -
+# expFile: path to express file
+# schemaName: name of the schema
+# sourceFiles: list of .cc and .h files
+#
+# create targets for the schema(s) in expFile
+# targets include gen_cxx_*, sdai_cxx_*, p21read_*, lazyp21_*, ...
+macro(SCHEMA_TARGETS expFile schemaName sourceFiles)
+ # schema scanner comes up with a short schema name for PROJECT() (which sets
${PROJECT_NAME})
+ message(STATUS "Will generate ${${PROJECT_NAME}_file_count} C++ files for
${PROJECT_NAME}.")
+
+ add_custom_target(generate_cpp_${PROJECT_NAME} DEPENDS exp2cxx ${expFile}
${sourceFiles} SOURCES ${sourceFiles})
+ # this calls a cmake script because it doesn't seem to be possible
+ # to divert stdout, stderr in cmake except via execute_process
+ add_custom_command(OUTPUT ${sourceFiles}
+ COMMAND ${CMAKE_COMMAND} -DEXE=\"$<TARGET_FILE:exp2cxx>\"
-DEXP=\"${expFile}\"
+ -DONESHOT=\"${SC_GENERATE_CXX_ONESHOT}\"
-DSDIR=\"${CMAKE_CURRENT_LIST_DIR}\"
+ -P ${SC_CMAKE_DIR}/SC_Run_exp2cxx.cmake
+ WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
+ COMMENT "[exp2cxx] Generating ${${PROJECT_NAME}_file_count} C++ files for
${PROJECT_NAME}."
+ )
+ include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR} ${SC_SOURCE_DIR}/src/cldai
${SC_SOURCE_DIR}/src/cleditor
+ ${SC_SOURCE_DIR}/src/clutils ${SC_SOURCE_DIR}/src/clstepcore
${SC_SOURCE_DIR}/src/base
+ ${SC_SOURCE_DIR}/src/base/judy/src
+ )
+ # if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and
prevents installation
+ if($CACHE{SC_BUILD_SHARED_LIBS})
+ SC_ADDLIB(${PROJECT_NAME} SHARED SOURCES ${sourceFiles} LINK_LIBRARIES
stepdai stepcore stepeditor steputils base TESTABLE)
+ add_dependencies(${PROJECT_NAME} generate_cpp_${PROJECT_NAME})
+ if(WIN32)
+ target_compile_definitions("${PROJECT_NAME}" PRIVATE
SC_SCHEMA_DLL_EXPORTS)
+ if(MSVC)
+ target_compile_options("${PROJECT_NAME}" PRIVATE "/bigobj")
+ endif()
+ endif()
+ endif()
+
+ if($CACHE{SC_BUILD_STATIC_LIBS})
+ SC_ADDLIB(${PROJECT_NAME}-static STATIC SOURCES ${sourceFiles}
LINK_LIBRARIES stepdai-static stepcore-static stepeditor-static
steputils-static base-static TESTABLE)
+ add_dependencies(${PROJECT_NAME}-static generate_cpp_${PROJECT_NAME})
+ target_compile_defines("${PROJECT_NAME}-static" PRIVATE SC_STATIC)
+ if(MSVC)
+ target_compile_options("${PROJECT_NAME}-static" PRIVATE "/bigobj")
+ endif()
+ endif()
+
+
+ SCHEMA_EXES()
+ SCHEMA_TESTS()
+ P21_TESTS(${expFile})
+ # TODO add test to verify that schema scanner output matches fedex_plus
output
+
+endmacro(SCHEMA_TARGETS expFile schemaName sourceFiles)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_CXX_schema_macros.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/stepsync/src/other/stepcode/cmake/SC_Config_Headers.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Config_Headers.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Config_Headers.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,122 @@
+# create sc_cf.h and sc_version_string.h
+
+# 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}")
+
+include(CheckLibraryExists)
+include(CheckIncludeFile)
+include(CheckSymbolExists)
+include(CheckTypeSize)
+include(CMakePushCheckState)
+include(CheckCSourceCompiles)
+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)
+
+# ensure macro functions are captured
+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)
+
+CHECK_TYPE_SIZE("ssize_t" SSIZE_T)
+
+if(SC_ENABLE_CXX11)
+ 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++11" )
+ else( UNIX )
+ # vars probably need set for embarcadero, etc
+ endif( UNIX )
+ CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are
*required*!
+ cmake_pop_check_state()
+
+ set( TEST_STD_CHRONO "
+#include <iostream>
+#include <chrono>
+int main() {
+std::chrono::seconds sec(1);
+std::cout << \"1s is \"<<
std::chrono::duration_cast<std::chrono::milliseconds>(sec).count() << \" ms\"
<< std::endl;
+}
+ " )
+ cmake_push_check_state()
+ if( UNIX )
+ set( CMAKE_REQUIRED_FLAGS "-std=c++11" )
+ else( UNIX )
+ # vars probably need set for embarcadero, etc
+ endif( UNIX )
+ CHECK_CXX_SOURCE_RUNS( "${TEST_STD_CHRONO}" HAVE_STD_CHRONO ) #quotes are
*required*!
+ cmake_pop_check_state()
+
+ set( TEST_NULLPTR "
+#include <cstddef>
+std::nullptr_t f() {return nullptr;}
+int main() {return !(f() == f());}
+ " )
+ cmake_push_check_state()
+ if( UNIX )
+ set( CMAKE_REQUIRED_FLAGS "-std=c++11" )
+ else( UNIX )
+ # vars probably need set for embarcadero, etc
+ endif( UNIX )
+ CHECK_CXX_SOURCE_RUNS( "${TEST_NULLPTR}" HAVE_NULLPTR ) #quotes are
*required*!
+ cmake_pop_check_state()
+endif(SC_ENABLE_CXX11)
+
+# 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)
+
+set(VER_HDR "
+#ifndef SC_VERSION_STRING
+#define SC_VERSION_STRING
+static char sc_version[512] = {\"${SC_VERSION}\"};
+#endif"
+)
+file(WRITE
${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
"${VER_HDR}")
+set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
+ PROPERTIES GENERATED TRUE
+ HEADER_FILE_ONLY TRUE
+ )
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Config_Headers.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/stepsync/src/other/stepcode/cmake/SC_Locale.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Locale.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Locale.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,22 @@
+# 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)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Locale.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/stepsync/src/other/stepcode/cmake/SC_Outdirs.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Outdirs.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Outdirs.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,30 @@
+# in its own file so that it can be used by the schema scanner as well
+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 "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 "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
+ if(NOT "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 "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
+ if(NOT "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 "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
+endforeach()
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Outdirs.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/stepsync/src/other/stepcode/cmake/SC_Paths.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Paths.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Paths.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,93 @@
+macro(REVERSE_PATH in_path out_path drive_path)
+ set(reversed_path)
+ set(tmp_subpath "${in_path}")
+ while(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL "/")
+ get_filename_component(piece "${tmp_subpath}" NAME)
+ get_filename_component(tmp_subpath "${tmp_subpath}" PATH)
+ if(piece)
+ set(reversed_path "${reversed_path}/${piece}")
+ else(piece)
+ set(${drive_path} ${tmp_subpath})
+ set(tmp_subpath)
+ endif(piece)
+ endwhile(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL
"/")
+ set("${out_path}" "${reversed_path}")
+endmacro(REVERSE_PATH)
+
+macro(GET_COMMON_ROOT_PATH dir1 dir2 common_subpath)
+ get_filename_component(testpath "${dir1}" REALPATH)
+ set(dir1_rev)
+ set(dir2_rev)
+ REVERSE_PATH("${dir1}" dir1_rev drive_name_1)
+ REVERSE_PATH("${dir2}" dir2_rev drive_name_2)
+ if("${drive_name_1}" STREQUAL "${drive_name_2}")
+ set(component_same 1)
+ set(${common_subpath})
+ while(component_same)
+ get_filename_component(piece1 "${dir1_rev}" NAME)
+ get_filename_component(dir1_rev "${dir1_rev}" PATH)
+ get_filename_component(piece2 "${dir2_rev}" NAME)
+ get_filename_component(dir2_rev "${dir2_rev}" PATH)
+ if("${piece1}" STREQUAL "${piece2}")
+ set(${common_subpath} "${${common_subpath}}/${piece1}")
+ else("${piece1}" STREQUAL "${piece2}")
+ set(component_same 0)
+ endif("${piece1}" STREQUAL "${piece2}")
+ endwhile(component_same)
+ if(drive_name_1)
+ set(${common_subpath} "${drive_name_1}${${common_subpath}}")
+ string(REPLACE "//" "/" ${common_subpath} "${${common_subpath}}")
+ endif(drive_name_1)
+ endif("${drive_name_1}" STREQUAL "${drive_name_2}")
+endmacro(GET_COMMON_ROOT_PATH)
+
+
+macro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
+ set(common_root_path)
+ GET_COMMON_ROOT_PATH("${SC_SOURCE_DIR}" "${current_dir}" common_root_path)
+ string(REPLACE "${common_root_path}" "" subpath "${current_dir}")
+ string(REPLACE "${common_root_path}" "" needed_src_path "${SC_SOURCE_DIR}")
+ string(REGEX REPLACE "^/" "" subpath "${subpath}")
+ string(REGEX REPLACE "^/" "" needed_src_path "${needed_src_path}")
+ string(LENGTH "${subpath}" PATH_LENGTH)
+ if(PATH_LENGTH GREATER 0)
+ set(${rel_path} "..")
+ get_filename_component(subpath "${subpath}" PATH)
+ string(LENGTH "${subpath}" PATH_LENGTH)
+ while(PATH_LENGTH GREATER 0)
+ set(${rel_path} "${${rel_path}}/..")
+ get_filename_component(subpath "${subpath}" PATH)
+ string(LENGTH "${subpath}" PATH_LENGTH)
+ endwhile(PATH_LENGTH GREATER 0)
+ endif(PATH_LENGTH GREATER 0)
+ set(${rel_path} "${${rel_path}}/${needed_src_path}")
+ string(REPLACE "//" "/" ${rel_path} "${${rel_path}}")
+endmacro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
+
+macro(LOCATE_SCHEMA SCHEMA_FILE _res_var)
+ if(EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}") #is it a path relative to
build dir?
+ set(${_res_var} "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}")
+ elseif(EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}") # path relative to
STEPcode/data?
+ set(${_res_var} "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}")
+ elseif(EXISTS ${SCHEMA_FILE}) # already an absolute path
+ set(${_res_var} ${SCHEMA_FILE})
+ else()
+ message(FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or
${SC_SOURCE_DIR}/data/${SCHEMA_FILE}/*.exp or ${SCHEMA_FILE}")
+ endif()
+
+ if(IS_DIRECTORY ${${_res_var}}) #if it is a dir, look for one .exp file
inside
+ file(GLOB ${_res_var} ${${_res_var}}/*.exp)
+ endif()
+
+ if(NOT EXISTS ${${_res_var}})
+ message(FATAL_ERROR "Expected one express file. Found '${${_res_var}}'
instead.")
+ endif()
+endmacro(LOCATE_SCHEMA SCHEMA_FILE _res_var)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Paths.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/stepsync/src/other/stepcode/cmake/SC_Regenerate.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Regenerate.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Regenerate.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,62 @@
+# 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 DEFINED SC_GENERATE_LEXER_PARSER)
+ set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and
Lemon to generate C source code.")
+ set(_verbosity "QUIET")
+else(NOT DEFINED SC_GENERATE_LEXER_PARSER)
+ string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
+endif(NOT DEFINED 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
SC_GENERATE_LEXER_PARSER - 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 ${_verbosity})
+ find_package(RE2C ${_verbosity})
+ find_package(PERPLEX ${_verbosity})
+ 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)
+ message(".. Found perplex, re2c, and lemon - can regenerate lexer/parser
if necessary")
+ 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")
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Regenerate.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/stepsync/src/other/stepcode/cmake/SC_Run_exp2cxx.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Run_exp2cxx.cmake
(rev 0)
+++ brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Run_exp2cxx.cmake
2020-12-09 00:34:53 UTC (rev 77952)
@@ -0,0 +1,25 @@
+
+# if oneshot is true, don't run exp2cxx if source files exist. if schema.cc
exists, assume others do
+if(ONESHOT AND EXISTS "${SDIR}/schema.cc")
+ message("WARNING: SC_GENERATE_CXX_ONESHOT is enabled. If generated code has
been modified, it will NOT be rewritten!")
+ message("This is ONLY for debugging STEPcode internals!")
+else()
+ execute_process(COMMAND ${EXE} ${EXP}
+ WORKING_DIRECTORY ${SDIR}
+ RESULT_VARIABLE _res
+ OUTPUT_FILE exp2cxx_stdout.txt
+ ERROR_FILE exp2cxx_stderr.txt
+ )
+ if(NOT "${_res}" STREQUAL "0")
+ message(FATAL_ERROR "${EXE} reported an error for ${EXP}.\nsee
exp2cxx_stdout.txt and exp2cxx_stderr.txt in ${SDIR} for details.")
+ endif(NOT "${_res}" STREQUAL "0")
+ # TODO count number of lines in stdout/stderr and tell user?
+endif()
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on:
brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Run_exp2cxx.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/stepsync/src/other/stepcode/cmake/SC_Targets.cmake
===================================================================
--- brlcad/branches/stepsync/src/other/stepcode/cmake/SC_Targets.cmake
(rev 0)
@@ 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