Skip to content

Commit 6b65402

Browse files
committed
Merge developments from master into the python_wrapper branch
1 parent c7355f0 commit 6b65402

79 files changed

Lines changed: 94753 additions & 13441 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmake/CMakeLists.txt

Lines changed: 67 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required (VERSION 2.6)
22
project (IfcOpenShell)
33

4-
FIND_PACKAGE(Boost REQUIRED)
4+
FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options)
55
MESSAGE(STATUS "Boost include files found in ${Boost_INCLUDE_DIRS}")
66
MESSAGE(STATUS "Boost libraries found in ${Boost_LIBRARY_DIRS}")
77

@@ -54,10 +54,39 @@ ENDIF()
5454
FIND_LIBRARY(icu "icuuc" /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR})
5555

5656
IF(icu)
57-
MESSAGE(STATUS "ICU libraries found")
57+
MESSAGE(STATUS "ICU libraries found")
5858
ADD_DEFINITIONS(-DHAVE_ICU)
5959
ELSE()
60-
MESSAGE(STATUS "Unable to find ICU library files, continuing")
60+
MESSAGE(STATUS "Unable to find ICU library files, continuing")
61+
ENDIF()
62+
63+
IF("$ENV{OPENCOLLADA_INCLUDE_DIR}" STREQUAL "")
64+
MESSAGE(STATUS "No OpenCOLLADA include directory specified")
65+
SET(OPENCOLLADA_INCLUDE_DIR "/usr/local/include/opencollada" CACHE FILEPATH "OpenCOLLADA header files")
66+
ElSE()
67+
SET(OPENCOLLADA_INCLUDE_DIR "$ENV{OPENCOLLADA_INCLUDE_DIR}" CACHE FILEPATH "OpenCOLLADA header files")
68+
ENDIF()
69+
70+
IF("$ENV{OPENCOLLADA_LIBRARY_DIR}" STREQUAL "")
71+
MESSAGE(STATUS "No OpenCOLLADA library directory specified")
72+
SET(OPENCOLLADA_LIBRARY_DIR "/usr/local/lib/opencollada" CACHE FILEPATH "OpenCOLLADA library files")
73+
ElSE()
74+
SET(OPENCOLLADA_LIBRARY_DIR "$ENV{OPENCOLLADA_LIBRARY_DIR}" CACHE FILEPATH "OpenCOLLADA library files")
75+
ENDIF()
76+
77+
SET(OPENCOLLADA_INCLUDE_DIRS "${OPENCOLLADA_INCLUDE_DIR}/COLLADABaseUtils" "${OPENCOLLADA_INCLUDE_DIR}/COLLADAStreamWriter")
78+
79+
FIND_FILE(COLLADASWStreamWriter_h "COLLADASWStreamWriter.h" ${OPENCOLLADA_INCLUDE_DIRS})
80+
IF(COLLADASWStreamWriter_h)
81+
MESSAGE(STATUS "OpenCOLLADA header files found")
82+
ADD_DEFINITIONS(-DWITH_OPENCOLLADA)
83+
SET(OPENCOLLADA_LIBRARIES
84+
GeneratedSaxParser MathMLSolver OpenCOLLADABaseUtils
85+
OpenCOLLADAFramework OpenCOLLADASaxFrameworkLoader
86+
OpenCOLLADAStreamWriter UTF buffer ftoa pcre
87+
)
88+
ELSE()
89+
MESSAGE(STATUS "OpenCOLLADA header files not found, continuing without COLLADA support")
6190
ENDIF()
6291

6392
INCLUDE(CheckIncludeFileCXX)
@@ -92,17 +121,23 @@ ElSE(MSVC)
92121
ADD_DEFINITIONS(-fPIC -Wno-non-virtual-dtor)
93122
ENDIF(MSVC)
94123

95-
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} /usr/inc /usr/local/inc /usr/local/include/oce ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS})
124+
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} /usr/inc /usr/local/inc /usr/local/include/oce ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS})
96125

97126
ADD_LIBRARY(IfcParse STATIC
98-
../src/ifcparse/Ifc2x3-rt.cpp
99127
../src/ifcparse/Ifc2x3.cpp
128+
../src/ifcparse/Ifc4.cpp
129+
../src/ifcparse/IfcUtil.cpp
130+
../src/ifcparse/IfcParse.cpp
100131
../src/ifcparse/IfcCharacterDecoder.cpp
132+
133+
../src/ifcparse/IfcWrite.cpp
101134
../src/ifcparse/IfcGuidHelper.cpp
102-
../src/ifcparse/IfcParse.cpp
135+
136+
../src/ifcparse/IfcHierarchyHelper.cpp
137+
138+
../src/ifcparse/Ifc2x3-rt.cpp
139+
../src/ifcparse/Ifc4-rt.cpp
103140
../src/ifcparse/IfcUntypedEntity.cpp
104-
../src/ifcparse/IfcUtil.cpp
105-
../src/ifcparse/IfcWrite.cpp
106141
)
107142

108143
ADD_LIBRARY(IfcGeom STATIC
@@ -111,6 +146,7 @@ ADD_LIBRARY(IfcGeom STATIC
111146
../src/ifcgeom/IfcGeomFunctions.cpp
112147
../src/ifcgeom/IfcGeomHelpers.cpp
113148
../src/ifcgeom/IfcGeomObjects.cpp
149+
../src/ifcgeom/IfcGeomRenderStyles.cpp
114150
../src/ifcgeom/IfcGeomShapes.cpp
115151
../src/ifcgeom/IfcGeomWires.cpp
116152
../src/ifcgeom/IfcRegister.cpp
@@ -122,19 +158,24 @@ ENDIF()
122158

123159
TARGET_LINK_LIBRARIES(IfcGeom IfcParse)
124160

125-
LINK_DIRECTORIES (${LINK_DIRECTORIES} ${IfcOpenShell_BINARY_DIR} ${OCC_LIBRARY_DIR} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR} ${Boost_LIBRARY_DIRS})
161+
LINK_DIRECTORIES (${LINK_DIRECTORIES} ${IfcOpenShell_BINARY_DIR} ${OCC_LIBRARY_DIR} ${OPENCOLLADA_LIBRARY_DIR} /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 ${ICU_LIBRARY_DIR} ${Boost_LIBRARY_DIRS})
126162

127-
ADD_EXECUTABLE(IfcObj ../src/ifcobj/IfcObj.cpp)
163+
ADD_EXECUTABLE(IfcConvert
164+
../src/ifcconvert/ColladaSerializer.cpp
165+
../src/ifcconvert/IfcConvert.cpp
166+
../src/ifcconvert/OpenCascadeBasedSerializer.cpp
167+
../src/ifcconvert/WavefrontObjSerializer.cpp
168+
)
128169

129-
TARGET_LINK_LIBRARIES (IfcObj IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet)
170+
TARGET_LINK_LIBRARIES (IfcConvert IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES})
130171

131172
# Build python wrapper using separate CMakeLists.txt
132173
ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap)
133174

134175
# Build IfcParseExamples using separate CMakeLists.txt
135176
ADD_SUBDIRECTORY(../src/examples examples)
136177

137-
ADD_SUBDIRECTORY(../src/qtviewer qtviewer)
178+
# ADD_SUBDIRECTORY(../src/qtviewer qtviewer)
138179

139180
# CMake installation targets
140181
SET(include_files_geom
@@ -152,25 +193,31 @@ SET(include_files_geom
152193
../src/ifcgeom/IfcRegisterIsShapeCollection.h
153194
../src/ifcgeom/IfcRegisterPurgeCache.h
154195
../src/ifcgeom/IfcRegisterUndef.h
155-
../src/ifcgeom/IfcShapeList.h
196+
../src/ifcgeom/IfcGeomRenderStyles.h
197+
../src/ifcgeom/IfcRepresentationShapeItem.h
156198
)
157199
SET(include_files_parse
158-
../src/ifcparse/ArgumentType.h
159-
../src/ifcparse/Ifc2x3-rt.h
160200
../src/ifcparse/Ifc2x3.h
161201
../src/ifcparse/Ifc2x3enum.h
202+
../src/ifcparse/Ifc4.h
203+
../src/ifcparse/Ifc4enum.h
162204
../src/ifcparse/IfcCharacterDecoder.h
163205
../src/ifcparse/IfcException.h
164206
../src/ifcparse/IfcFile.h
207+
../src/ifcparse/IfcHierarchyHelper.h
165208
../src/ifcparse/IfcParse.h
166-
../src/ifcparse/IfcSpfStream.h
167-
../src/ifcparse/IfcUntypedEntity.h
168209
../src/ifcparse/IfcUtil.h
210+
../src/ifcparse/SharedPointer.h
211+
169212
../src/ifcparse/IfcWrite.h
170-
../src/ifcparse/IfcWritableEntity.h
171-
../src/ifcparse/SharedPointer.h
213+
../src/ifcparse/IfcWritableEntity.h
214+
215+
../src/ifcparse/Ifc2x3-rt.h
216+
../src/ifcparse/Ifc4-rt.h
217+
../src/ifcparse/IfcUntypedEntity.h
218+
../src/ifcparse/IfcEntityDescriptor.h
172219
)
173220
INSTALL(FILES ${include_files_geom} DESTINATION include/ifcgeom)
174221
INSTALL(FILES ${include_files_parse} DESTINATION include/ifcparse)
175-
INSTALL(TARGETS IfcObj DESTINATION bin)
222+
INSTALL(TARGETS IfcConvert DESTINATION bin)
176223
INSTALL(TARGETS IfcParse IfcGeom DESTINATION lib)

src/examples/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
ADD_EXECUTABLE(IfcParseExamples IfcParseExamples.cpp)
2-
TARGET_LINK_LIBRARIES (IfcParseExamples IfcParse)
2+
TARGET_LINK_LIBRARIES (IfcParseExamples IfcParse)
3+
4+
ADD_EXECUTABLE(IfcOpenHouse IfcOpenHouse.cpp)
5+
TARGET_LINK_LIBRARIES (IfcOpenHouse IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet)

0 commit comments

Comments
 (0)