Commit Graph

651 Commits

Author SHA1 Message Date
Ali Kämäräinen 64dc2ea95c Windows/MSVC + OCCT 7.0.0 (#124)
* Windows/MSVC build scripts: option to build and use official Open CASCADE instead of the community edition.

* Fix C4800 warnings ("'Standard_Boolean': forcing value to bool 'true' or 'false' (performance warning)") + unnecessary integer cast.

* build-deps.cmd: fix OCCT download

* Fix MSVC linking against OCCT 7.0.0. Example executables fail still, needs research.

* occt-V7_0_0-9059ca1_CMakeLists.txt: add_definitions(-DHAVE_NO_DLL) in order to fix static linking to OCCT. Mark IfcOpenShell patches in the OCCT patch files for clarity.

* Patch OCCT in order to fix compliaction when HAVE_NO_DLL is defind. Clean up IfcOpenSHell's linker warnings by defining HAVE_NO_DLL.

* CMakeLists.txt: remove linking to the newly added OCCT libs, these are not needed when HAVE_NO_DLL is defined.

* cmake/CMakeLists.txt: make add_debug_variants() function to handle filenames/paths also. Apply the coding conventions while at it. Fixes #123.

* Patch OCCT's OpenGl_PrimitiveArray.cxx and XCAFDoc_GeomTolerance.cxx in order to fix Debug build. Do not trigger OCCT rebuild each time build-deps.cmd is ran.

* build-deps.cmd: fix OCCT file patch copy.

* Non-MSVC compiler: use -Wextra, suppress/fix -Wignored-qualifiers warnings.

* build-deps.cmd: do not check return values of copy commands as they seem not to be fully reliable.
2016-09-01 11:28:17 +02:00
Ali Kämäräinen e064098f84 Build instructions and PCRE lib dir (#120)
* CMakeLists.txt: show fatal error if PCRE not found if COLLADA_SUPPORT is on.

* Compiling on *nix instruction tweaks.
2016-08-22 11:45:37 +02:00
Bernd Hahnebach 8dadb71648 Add OpenCollada to travis and fix cmake (#119)
* travis: collada support

* travis: opencollada, specify pcre library
2016-08-15 13:14:15 +02:00
Thomas Krijnen 9d757e1b3c Correct typo https://github.com/IfcOpenShell/IfcOpenShell/pull/114/files#r74275264 2016-08-13 10:51:04 +02:00
Thomas Krijnen 92032b6e3b Add travis status 2016-08-09 14:12:12 +02:00
Thomas Krijnen 202b226ea0 Silence compiler warning when without ICU 2016-08-09 14:09:44 +02:00
Bernd Hahnebach 1e8c7ef7f0 Travis 2016-08-09 14:03:26 +02:00
Thomas Krijnen 59035e7ce2 Merge pull request #114 from aothms/cmake_improvements
Cmake improvements: LINK_DIRECTORIES and OCCT 7
2016-08-08 13:40:38 +02:00
Thomas Krijnen 2c332199b1 Merge pull request #115 from aothms/tridify_ifcgeom_dll
Dllimport/export for IfcGeom. Closes #77
2016-08-08 13:40:09 +02:00
Thomas Krijnen ecf67fe939 IFC_PARSE_API for IfcInvalidTokenException after merge 2016-08-08 13:39:43 +02:00
Thomas Krijnen f1099fc3b1 Merge branch 'master' into tridify_ifcgeom_dll
# Conflicts:
#	cmake/CMakeLists.txt
2016-08-08 10:56:06 +02:00
Thomas Krijnen 16e8fff9ca virtual dtor 2016-08-08 10:41:51 +02:00
Stinkfist0 0f857283e8 CMakeLists.txt: append possible extra libraries to OPENCASCADE_LIBRARIES before the variable is used for any target. 2016-08-08 01:40:26 +03:00
Thomas Krijnen 1def5db7e4 Detect OCCT7 and set -std=c++11 accordingly. 2016-08-07 10:38:18 +02:00
Thomas Krijnen e9bd18fd4b Don't search default directories. Use absolute paths to specify libraries. 2016-08-07 10:37:29 +02:00
Stinkfist0 fb98275f50 Typo fix. 2016-08-06 19:08:13 +03:00
Stinkfist0 97a62f45d0 Fix IfcGeomWrapper.i and IfcParseWrapper.i 2016-08-06 18:19:27 +03:00
Stinkfist0 4ebee68736 Ifc2x3enum.h: fix header inclusion. 2016-08-06 13:44:35 +03:00
Ali Kämäräinen a26253321f Bash on Ubuntu on Windows instructions, readme and cmake improvements (#113)
* README.md: add note about Visual C++ Build Tools and Bash on Ubuntu on Windows. Enhance the Compiling on *nix instructions.

* Fix newline.

* README.md tweak

* CMakeLists.txt: remove CHECK_ADD_OCE_OCC_DEF INCLUDE() for good as these are not needed any more at all (OCE codebase also checked and no signs of these).
2016-08-06 10:45:29 +02:00
Thomas Krijnen 4b90e618b0 Add warning #109 2016-08-04 11:47:14 +02:00
Thomas Krijnen 21b35767ba Fix #109 2016-08-02 15:53:41 +02:00
Thomas Krijnen e6fbfee766 Check for existence of representation identifier in python wrapper create_shape 2016-08-02 15:44:42 +02:00
Stinkfist0 3cba5e6e94 Rename BUILD_SHARED_LIBS project-wide precompiler definition to IFC_SHARED_BUILD 2016-07-20 22:59:19 +03:00
Stinkfist0 6d6e7c2982 Unify IfcParse's dllimport/export macros with IfcGeom. 2016-07-20 22:49:32 +03:00
Thomas Krijnen fd4086aa8d Report errors in string escape sequences more verbosely 2016-07-19 16:41:36 +02:00
Ivano Ras cd2b0c3a05 fix #106. (#107) 2016-07-19 16:31:37 +02:00
Ivano Ras 42067de44c use union to remove warning (issue 105). (#108) 2016-07-19 16:29:01 +02:00
Thomas Krijnen 240133515a Unify usage of spaces in Python library code 2016-07-18 15:53:20 +02:00
Thomas Krijnen b7f23ee701 Implement option to get generic inverses from Python 2016-07-18 14:47:32 +02:00
Ali Kämäräinen 4a85e5e7a5 MSYS build scripts and instructions (#99) and warning fixes
* Preliminary MSYS2 + MinGW build scripts and instructions.

* CMakeLists.txt: MinGW tweaks, enforce C++03, suppress warnings for now.

* Fix some GCC warnings.

* Fix unused parameter warnings coming from Ifc*.h.

* Fix warning regarding unreachable code (++jt) on MSVC.

* Add IfcParse_EXPORT for IfcInvalidTokenException

* Fix potentially uninitialized pointer variables.

* Note about OpenCASCADE cyclic dependencies fix.

* GCC warning fix: don't generate 'current_enum' variable that is only set and not used for anything ever

* Work around -Wmaybe-uninitialized warnings about boost::optional constructs. Also prevent passing of negative values for --bounds.

* Remove unused variable.

* CMakeLists.txt: ENABLE_BUILD_OPTIMIZATIONS for GCC (simply enforce -03)
2016-07-15 05:49:32 +02:00
Stinkfist0 3a507ca061 Code doc tweak 2016-07-11 22:41:18 +03:00
Stinkfist0 6bcabfd567 Dllimport/export for IfcGeom. Closes #77 2016-07-11 22:37:50 +03:00
Thomas Krijnen 435eb7ae10 Update python module install script 2016-06-28 15:48:58 +02:00
Thomas Krijnen 17e153d0c5 Fix rename conflict after merge 2016-06-22 15:52:31 +02:00
Thomas Krijnen aebb9e324b Geometry serialization (#71)
Serialize geometry to IFC instances directly from a TopoDS_Shape
2016-06-22 15:03:18 +02:00
Thomas Krijnen 90ad3a4a93 Merge pull request #97 from aothms/dynamic_lib_fixes_2
Dynamic lib fixes
2016-06-22 14:57:16 +02:00
Thomas Krijnen 478bda30bc Install both libraries. Force IfcGeom to static on Windows. Correct IfcParse linkage. Update IfcMax 2016-06-22 14:54:55 +02:00
Thomas Krijnen 69535800b5 Do no silently drop invalid faces from IfcConnectedFaceSets 2016-06-21 11:27:59 +02:00
Thomas Krijnen ee2303d965 Support for IfcExtrudedAreaSolidTapered 2016-06-21 11:25:10 +02:00
Thomas Krijnen b792aba95f Support for *BrepWithVoids 2016-06-21 11:19:51 +02:00
Thomas Krijnen 8f55aa732d IfcParameterizedProfileDef.Position and IfcSweptAreaSolid.Position optional in IFC4 2016-06-21 11:18:16 +02:00
Thomas Krijnen 2c2be389fb Fix header parsing 2016-06-21 11:11:16 +02:00
Thomas Krijnen 62a0f21a57 Fix #94 2016-06-20 11:34:13 +02:00
Ali Kämäräinen 3c418e8e0a Windows batch script enhancements (#88)
* Make possible to invoke run-cmake.bat, build-ifcopenshell.cmd (now bat), install-ifcopenshell.cmd (now bat) directly from File Explorer or command prompt without VS env vars set, if BuildDepsCache file exists, by utilizing CMake's --build functionality. Do not delete CMakeCache.txt always now in order to keep the build options consistent.

* win/readme.md tweaks + make the line width smaller

* Windows batch files: use the last modified BuildDepsCache. Show an error if GEN_SHORTHAND does not exist.
2016-06-17 22:30:33 +02:00
Johannes Obermayr ea6fbc77dd Bring back logic for BUILD_SHARED_LIBS.
Also remove C++11 code.
2016-06-14 20:30:02 +02:00
Thomas Krijnen be10bc46ca More elaborate error reporting 2016-06-12 11:22:08 +02:00
Thomas Krijnen f4fd3a5ca1 Compiler warnings 2016-06-12 10:43:28 +02:00
Ali Kämäräinen 685717b8b8 Fix build of IfcWrap (#90) 2016-06-09 22:49:00 +02:00
stgatilov 8725c66306 Performance improvement of IfcParse tokenizer (#82)
* Applied MSVC tabify to IfcParse.cpp/h.

* Now Argument base class has throwing implementation for each conversion operator (removed those from derived classes).

* Added NullArgument class for the case when null arguments appear after setting elements.

* Now operator tokens are handled just like any other token.

* Refactoring: Token is now a struct with good fields, not a nameless pair.

* Now end position of token is set at its construction.

* Now type of token is determined on construction, as* function simply check stored type.

* Now int-s, float-s and some etc are parsed when token is created.

* Implemented simple way to remove spaces in parsing.

* Tokens are now created without allocations.

* Call RemoveTokenSeparators once for every token.

* Added temporary std::string object in lexer (for optimization purposes).

* Reimplemented asString without allocations.

* Parsing keywords without allocations.

* Added checks for type to tokenFunc::as*** functions.
2016-06-09 18:25:50 +02:00
Thomas Krijnen cbbdb61a0c Merge pull request #89 from aothms/dynamic_lib_fixes
Dynamic lib fixes (#79)
2016-06-09 10:51:05 +02:00