diff -rupN gmsh-4.1.5-source/CMakeLists.txt gmsh-4.1.5-source-new/CMakeLists.txt
--- gmsh-4.1.5-source/CMakeLists.txt 2019-02-06 13:24:33.000000000 +0100
+++ gmsh-4.1.5-source-new/CMakeLists.txt 2019-02-15 11:40:33.129750937 +0100
@@ -131,7 +131,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)
@@ -720,7 +720,7 @@ if(HAVE_FLTK OR ENABLE_GRAPHICS)
endif()
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")
@@ -734,9 +734,17 @@ if(ENABLE_ANN)
endif()
endif()
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/lbfgs AND ENABLE_BFGS)
- add_subdirectory(contrib/lbfgs)
- include_directories(contrib/lbfgs)
+if(ENABLE_BFGS)
+ 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()
@@ -802,9 +810,17 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/co
endif()
endif()
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/MathEx AND ENABLE_MATHEX)
- add_subdirectory(contrib/MathEx)
- include_directories(contrib/MathEx)
+if(ENABLE_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()
@@ -878,10 +894,23 @@ if(HAVE_MESH)
set_config_option(HAVE_BLOSSOM "Blossom")
endif()
- if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/Netgen AND ENABLE_NETGEN)
- add_subdirectory(contrib/Netgen)
- include_directories(contrib/Netgen contrib/Netgen/libsrc/include
- contrib/Netgen/nglib)
+ if(ENABLE_NETGEN)
+ 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()
@@ -893,7 +922,7 @@ if(HAVE_MESH)
endif()
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.1.5-source/Mesh/CMakeLists.txt gmsh-4.1.5-source-new/Mesh/CMakeLists.txt
--- gmsh-4.1.5-source/Mesh/CMakeLists.txt 2019-02-04 10:35:32.000000000 +0100
+++ gmsh-4.1.5-source-new/Mesh/CMakeLists.txt 2019-02-15 11:40:33.130750936 +0100
@@ -31,6 +31,7 @@ set(SRC
DivideAndConquer.cpp
Field.cpp
filterElements.cpp
+ nglib_gmsh.cpp
)
file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)