diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2962aeb944..abe893e5f5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -36,10 +36,28 @@ ELSE() MESSAGE(FATAL_ERROR "Unable to find library files, aborting") ENDIF() -ADD_DEFINITIONS(-DHAVE_LIMITS_H) -ADD_DEFINITIONS(-DHAVE_IOSTREAM) -ADD_DEFINITIONS(-DHAVE_IOMANIP) -ADD_DEFINITIONS(-DHAVE_FSTREAM) +INCLUDE(CheckIncludeFileCXX) + +MACRO(CHECK_ADD_OCE_OCC_DEF INCLUDE) + STRING(REPLACE . _ STR ${INCLUDE}) + STRING(TOUPPER ${STR} STR) + CHECK_INCLUDE_FILE_CXX("${INCLUDE}" FOUND_${STR}) + IF(FOUND_${STR}) + ADD_DEFINITIONS(-DOCE_HAVE_${STR}) + ADD_DEFINITIONS(-DHAVE_${STR}) + ENDIF(FOUND_${STR}) +ENDMACRO(CHECK_ADD_OCE_OCC_DEF) + +CHECK_ADD_OCE_OCC_DEF(limits) +CHECK_ADD_OCE_OCC_DEF(climits) +CHECK_ADD_OCE_OCC_DEF(limits.h) +CHECK_ADD_OCE_OCC_DEF(fstream) +CHECK_ADD_OCE_OCC_DEF(fstream.h) +CHECK_ADD_OCE_OCC_DEF(iomanip) +CHECK_ADD_OCE_OCC_DEF(iomanip.h) +CHECK_ADD_OCE_OCC_DEF(iostream) +CHECK_ADD_OCE_OCC_DEF(iostream.h) + ADD_DEFINITIONS(-O3) ADD_DEFINITIONS(-fPIC) @@ -48,7 +66,7 @@ ADD_LIBRARY(IfcParse STATIC ../src/ifcparse/IfcEnum.cpp ../src/ifcparse/IfcTypes LINK_DIRECTORIES (${IfcOpenShell_BINARY_DIR} /usr/lib) ADD_EXECUTABLE(IfcObj ../src/ifcobj/IfcObj.cpp) -TARGET_LINK_LIBRARIES (IfcObj IfcParse TKAdvTools TKMath TKernel TKBRep TKGeomBase TKGeomAlgo TKBool TKMesh TKShHealing) +TARGET_LINK_LIBRARIES (IfcObj IfcParse TKAdvTools TKMath TKernel TKBRep TKGeomBase TKGeomAlgo TKBool TKMesh TKShHealing TKFillet) # Build python wrapper using separate CMakeLists.txt ADD_SUBDIRECTORY(../src/ifcwrap .)