if(NOT HAVE_OCC) # from gmsh if(WIN32 OR CYGWIN) if(HAVE_64BIT_SIZE_T) set(OCC_SYS_NAME win64) else(HAVE_64BIT_SIZE_T) set(OCC_SYS_NAME win32) endif(HAVE_64BIT_SIZE_T) else(WIN32 OR CYGWIN) set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) endif(WIN32 OR CYGWIN) set(OCC_LIBS_REQUIRED # subset of DataExchange # old TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKDESTEP TKDEIGES TKXSBase # ModelingAlgorithms TKOffset TKFeat TKFillet TKBool TKShHealing TKMesh TKHLR TKBO TKPrim TKTopAlgo TKGeomAlgo # ModelingData TKBRep TKGeomBase TKG3d TKG2d # FoundationClasses TKMath TKernel ) # TKAdvTools -- not necessary? (and removed from OCC 6.8) list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED) set(OCC_LIBS) foreach(OCC ${OCC_LIBS_REQUIRED}) find_library(OCC_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) if(OCC_LIB) list(APPEND OCC_LIBS ${OCC_LIB}) else(OCC_LIB) message(STATUS "OCC lib " ${OCC} " not Found") endif(OCC_LIB) unset(OCC_LIB CACHE) endforeach(OCC) list(LENGTH OCC_LIBS NUM_OCC_LIBS) if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) find_path(OCC_INC "BRep_Tool.hxx" PATHS ENV CASROOT PATH_SUFFIXES inc include include/oce opencascade) if(OCC_INC) set(IBREP_HAVE_OCC TRUE) add_definitions(-DIBREP_HAVE_OCC) list(APPEND EXTERNAL_LIBRARIES ${OCC_LIBS}) list(APPEND EXTERNAL_INCLUDES ${OCC_INC}) if(HAVE_64BIT_SIZE_T) add_definitions(-D_OCC64) endif(HAVE_64BIT_SIZE_T) if(CYGWIN) list(APPEND EXTERNAL_LIBRARIES "winspool") elseif(MSVC) add_definitions(-DWNT) endif(CYGWIN) find_path(OCC_CONFIG_H "config.h" PATHS ${OCC_INC} ${OCC_CONFIG_H_PATH} NO_DEFAULT_PATH) if(NOT OCC_CONFIG_H) add_definitions(-DHAVE_NO_OCC_CONFIG_H) endif(NOT OCC_CONFIG_H) endif(OCC_INC) endif(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) endif(NOT HAVE_OCC) #else(NOT HAVE_OCC) set(IBREP_HAVE_OCC TRUE) add_definitions(-DIBREP_HAVE_OCC) #endif(NOT HAVE_OCC) message("OCC_INC= ${OCC_INC}") include_directories(${OCC_INC}) include_directories(../../gnurbs/trunk/api ../gnurbs ../mesh ../gnurbs_interface) add_library (ibrep-occ-dynamic SHARED IBrepOCC.cc IVertexOCC.cc IEdgeOCC.cc ICurveOCC.cc IFaceOCC.cc ISurfaceOCC.cc OCC_Connect.cpp IVolumeOCC.cc ) add_library (ibrep-occ-static STATIC EXCLUDE_FROM_ALL IBrepOCC.cc IVertexOCC.cc IEdgeOCC.cc ICurveOCC.cc IFaceOCC.cc ISurfaceOCC.cc OCC_Connect.cpp IVolumeOCC.cc ) SET_TARGET_PROPERTIES(ibrep-occ-static PROPERTIES OUTPUT_NAME "ibrep-occ") SET_TARGET_PROPERTIES(ibrep-occ-dynamic PROPERTIES OUTPUT_NAME "ibrep-occ") target_link_libraries (ibrep-occ-dynamic ${LIBS} ibrep-dynamic ibrep-mesh-dynamic gnurbs-dynamic ${OCC_LIBS_REQUIRED} ) target_link_libraries (ibrep-occ-static ${LIBS} ibrep-static ibrep-mesh-static gnurbs-static ${OCC_LIBS_REQUIRED} ) add_subdirectory(test)