diff --git a/CMakeLists.txt b/CMakeLists.txt index 50b9ace038..879b69d29a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,8 +95,11 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER OR FREECAD_LIB endif(BUILD_GUI) SetupSalomeSMESH() if (BUILD_FEM_NETGEN) - find_package(NETGEN) - endif(BUILD_FEM_NETGEN) + set(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY) + if (NOT FREECAD_USE_EXTERNAL_SMESH) + find_package(NETGEN REQUIRED) + endif() + endif() # not needed at the moment #find_package(OpenCV REQUIRED) SetupSwig() diff --git a/cMake/FindNETGEN.cmake b/cMake/FindNETGEN.cmake index 8162adfbd0..8a6233e6e0 100644 --- a/cMake/FindNETGEN.cmake +++ b/cMake/FindNETGEN.cmake @@ -13,19 +13,15 @@ # See also: http://git.salome-platform.org/gitweb/?p=NETGENPLUGIN_SRC.git;a=summary -find_package(Netgen CONFIG) +find_package(Netgen CONFIG QUIET) IF (Netgen_FOUND) set(NGLIB_INCLUDE_DIR ${NETGEN_INCLUDE_DIRS}) set(NGLIB_LIBRARIES nglib) - set(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY) # for external smesh only the following two variables are needed: set(NETGEN_FOUND True) set(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS}) - ELSE () - SET(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY) - IF (WIN32) FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR}) SET(NETGEN_LIBS nglib mesh occ interface) @@ -147,3 +143,8 @@ IF (Netgen_FOUND) MESSAGE(STATUS "Found NETGEN version ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}, calculated: ${NETGEN_VERSION_C}") LIST(APPEND NETGEN_DEFINITIONS -DNETGEN_VERSION=${NETGEN_VERSION_C}) ENDIF () + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(NETGEN + REQUIRED_VARS NGLIB_INCLUDE_DIR NGLIB_LIBRARIES NETGEN_INCLUDE_DIRS + VERSION_VAR NETGEN_VERSION)