diff -rupN gmsh-4.0.1-source/CMakeLists.txt gmsh-4.0.1-source-new/CMakeLists.txt --- gmsh-4.0.1-source/CMakeLists.txt 2018-09-07 09:25:41.000000000 +0200 +++ gmsh-4.0.1-source-new/CMakeLists.txt 2018-09-10 10:58:55.424830166 +0200 @@ -129,7 +129,7 @@ if(ENABLE_PRIVATE_API) file(GLOB_RECURSE HEADERS Common/*.h Numeric/*.h Geo/*.h Mesh/*.h Solver/*.h Post/*.h Graphics/*.h contrib/kbipack/*.h contrib/DiscreteIntegration/*.h contrib/HighOrderMeshOptimizer/*.h contrib/MeshOptimizer/*.h - contrib/MeshQualityOptimizer/*.h contrib/MathEx/*.h) + contrib/MeshQualityOptimizer/*.h) set(GMSH_PRIVATE_API ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshVersion.h ${HEADERS}) get_property(IAMCHILD DIRECTORY PROPERTY PARENT_DIRECTORY) @@ -706,7 +706,7 @@ if(HAVE_FLTK OR ENABLE_GRAPHICS) endif(HAVE_FLTK OR ENABLE_GRAPHICS) if(ENABLE_ANN) - find_library(ANN_LIB ann PATH_SUFFIXES lib) + find_library(ANN_LIB ANN PATH_SUFFIXES lib) find_path(ANN_INC "ANN.h" PATH_SUFFIXES src include ANN) if(ENABLE_SYSTEM_CONTRIB AND ANN_LIB AND ANN_INC) message(STATUS "Using system version of ANN") @@ -720,8 +720,16 @@ if(ENABLE_ANN) endif(ENABLE_ANN) if(ENABLE_BFGS) - add_subdirectory(contrib/lbfgs) - include_directories(contrib/lbfgs) + find_library(BFGS_LIB lbfgs PATH_SUFFIXES lib) + find_path(BFGS_INC "lbfgs.h" PATH_SUFFIXES include) + if(BFGS_LIB AND BFGS_INC) + list(APPEND EXTERNAL_LIBRARIES ${BFGS_LIB} -lalglib) + list(APPEND EXTERNAL_INCLUDES ${BFGS_INC}) + else(BFGS_LIB AND BFGS_INC) + message(STATUS "System libbfgs not found: using contrib/lbfgs instead") + add_subdirectory(contrib/lbfgs) + include_directories(contrib/lbfgs) + endif(BFGS_LIB AND BFGS_INC) set_config_option(HAVE_BFGS "Bfgs") endif(ENABLE_BFGS) @@ -770,8 +778,16 @@ if(ENABLE_KBIPACK) endif(ENABLE_KBIPACK) if(ENABLE_MATHEX) - add_subdirectory(contrib/MathEx) - include_directories(contrib/MathEx) + find_library(MATHEX_LIB mathex PATH_SUFFIXES lib) + find_path(MATHEX_INC "mathex.h" PATH_SUFFIXES src include) + if(MATHEX_LIB AND MATHEX_INC) + list(APPEND EXTERNAL_LIBRARIES ${MATHEX_LIB}) + list(APPEND EXTERNAL_INCLUDES ${MATHEX_INC}) + else(MATHEX_LIB AND MATHEX_INC) + message(STATUS "System MATHEX not found: using contrib/MathEx instead") + add_subdirectory(contrib/MathEx) + include_directories(contrib/MathEx) + endif(MATHEX_LIB AND MATHEX_INC) set_config_option(HAVE_MATHEX "MathEx") endif(ENABLE_MATHEX) @@ -844,9 +860,22 @@ if(HAVE_MESH) endif(ENABLE_BLOSSOM) if(ENABLE_NETGEN) - add_subdirectory(contrib/Netgen) - include_directories(contrib/Netgen contrib/Netgen/libsrc/include - contrib/Netgen/nglib) + find_library(NETGEN_LIB nglib PATH_SUFFIXES lib) + find_path(NETGEN_INC "nglib.h" PATH_SUFFIXES include/netgen-mesher) + if(NETGEN_LIB AND NETGEN_INC) + list(APPEND EXTERNAL_LIBRARIES ${NETGEN_LIB}) + list(APPEND EXTERNAL_INCLUDES ${NETGEN_INC}) + # Netgen private headers contain what contrib/Salome does + list(APPEND EXTERNAL_LIBRARIES -lngocc -lngcsg -lngmesh -lnginterface) + list(APPEND EXTERNAL_INCLUDES ${NETGEN_INC}/private ${NETGEN_INC} ${NETGEN_INC}/private/include) + add_definitions(-DOCCGEOMETRY) + set_config_option(HAVE_SALOME "Salome") + else(NETGEN_LIB AND NETGEN_INC) + message(STATUS "System netgen not found: using contrib/Netgen instead") + add_subdirectory(contrib/Netgen) + include_directories(contrib/Netgen contrib/Netgen/libsrc/include + contrib/Netgen/nglib) + endif(NETGEN_LIB AND NETGEN_INC) set_config_option(HAVE_NETGEN "Netgen") add_definitions(-DNO_PARALLEL_THREADS -DNOTCL) endif(ENABLE_NETGEN) @@ -858,7 +887,7 @@ if(HAVE_MESH) endif(ENABLE_BAMG) if(ENABLE_MMG3D) - find_library(MMG3D_LIB mmg3dlib4.0 PATH_SUFFIXES lib) + find_library(MMG3D_LIB mmg3d PATH_SUFFIXES lib) find_path(MMG3D_INC "libmmg3d.h" PATH_SUFFIXES src include) if(ENABLE_SYSTEM_CONTRIB AND MMG3D_LIB AND MMG3D_INC) message(STATUS "Using system version of MMG3D") diff -rupN gmsh-4.0.1-source/Mesh/CMakeLists.txt gmsh-4.0.1-source-new/Mesh/CMakeLists.txt --- gmsh-4.0.1-source/Mesh/CMakeLists.txt 2018-08-08 18:28:41.000000000 +0200 +++ gmsh-4.0.1-source-new/Mesh/CMakeLists.txt 2018-09-10 10:58:55.424830166 +0200 @@ -47,6 +47,7 @@ set(SRC yamakawa.cpp Field.cpp surfaceFiller.cpp + nglib_gmsh.cpp ) file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)