cmake_minimum_required(VERSION 3.10 FATAL_ERROR) #option(ENABLE_NETCDF "Enable NETCDF" ON) # if CMAKE_BUILD_TYPE is specified use it; otherwise set the default # build type to "RelWithDebInfo" ("-O2 -g" with gcc) prior to calling # project() if(DEFINED CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type") else(DEFINED CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose build type") endif(DEFINED CMAKE_BUILD_TYPE) if(WIN32) set(OCC_SYS_NAME win32) else(WIN32) set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) endif(WIN32) set(OCC_LIBS_REQUIRED # subset of DataExchange TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase # ModelingAlgorithms TKOffset TKFeat TKFillet TKBool TKShHealing TKMesh TKHLR TKBO TKPrim TKTopAlgo TKGeomAlgo # ModelingData TKBRep TKGeomBase TKG3d TKG2d # FoundationClasses TKAdvTools TKMath TKernel) list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED) set(OCC_LIBS) foreach(OCC ${OCC_LIBS_REQUIRED}) find_library(OCC_LIB ${OCC} PATHS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib) if(OCC_LIB) list(APPEND OCC_LIBS ${OCC_LIB}) endif(OCC_LIB) set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") # unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 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 opencascade) if(OCC_INC) set(HAVE_OCC TRUE) 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) project(reconstruction CXX) if(NOT DEFINED GMSH_PATH) set(GMSH_PATH "./gmsh" CACHE STRING "Gmsh Path") add_subdirectory(${GMSH_PATH} "${CMAKE_CURRENT_BINARY_DIR}/gmsh") #list(APPEND EXTERNAL_LIBRARIES -lgsl) include_directories(${GMSH_PATH}/Common ${GMSH_PATH}/Numeric ${GMSH_PATH}/Geo ${GMSH_PATH}/Mesh ${GMSH_PATH}/Solver ${GMSH_PATH}/Post ${GMSH_PATH}/Plugin ${GMSH_PATH}/Graphics ${GMSH_PATH}/contrib/DiscreteIntegration ${GMSH_EXTERNAL_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/gmsh/Common ${EXTERNAL_INCLUDES} ${GMSH_PATH}/contrib/gmm) endif(NOT DEFINED GMSH_PATH) include_directories(. ../nutil) set(SRC RecXfem.cpp BrepXfem.cpp RecPrimitive.cpp RecBSplineLM.cpp outil.cpp outil_spline.cpp BSplineApproxSurface.cpp ApproxAFunc2Var.cpp Convert_GridPolynomes_ToPoles.cpp Main.cpp ) #message(ginclude ${GMSH_EXTERNAL_INCLUDES_DIRS}) #set (LINK_LIBRARIES shared ${EXTERNAL_LIBRARIES}) add_executable(reconstruction EXCLUDE_FROM_ALL ${SRC}) target_link_libraries(reconstruction ${LINK_LIBRARIES} ${EXTERNAL_LIBRARIES} TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase TKOffset TKFeat TKFillet TKBool TKShHealing TKMesh TKHLR TKBO TKPrim TKTopAlgo TKGeomAlgo TKBRep TKGeomBase TKG3d TKG2d TKAdvTools TKMath TKernel shared)