diff --git a/CMakeLists.txt b/CMakeLists.txt index 539ad5613..8e0e11fbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,15 +79,42 @@ find_package(Git REQUIRED) # Path to ParaViewConfig.cmake set(ParaView_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/packages/ParaView-4.4.0/platforms/linux64GccDPOpt/lib/cmake/paraview-4.4) - find_package(ParaView REQUIRED) -# Clean the cache variable -set(MGRIDGEN_LIBRARY MGRIDGEN_LIBRARY-NOTFOUND) +find_package(Mesquite REQUIRED) +if(MESQUITE_FOUND) + add_library(mesquite SHARED IMPORTED) + set_property(TARGET mesquite PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESQUITE_INCLUDE_DIRS}) + set_property(TARGET mesquite PROPERTY IMPORTED_LOCATION ${MESQUITE_LIBRARY}) +endif() -# Find libMGridGen.so -find_library(MGRIDGEN_LIBRARY MGridGen ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/packages/ParMGridGen-1.0/platforms/linux64GccDPOpt/lib) -set(MGRIDGEN_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/packages/ParMGridGen-1.0/platforms/linux64GccDPOpt/include) +find_package(Scotch REQUIRED) +if(SCOTCH_FOUND) + add_library(scotch SHARED IMPORTED) + set_property(TARGET scotch PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SCOTCH_INCLUDE_DIRS}) + set_property(TARGET scotch PROPERTY IMPORTED_LOCATION ${SCOTCH_LIBRARY}) +endif() + +find_package(Metis REQUIRED) +if(METIS_FOUND) + add_library(metis SHARED IMPORTED) + set_property(TARGET metis PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${METIS_INCLUDE_DIRS}) + set_property(TARGET metis PROPERTY IMPORTED_LOCATION ${METIS_LIBRARY}) +endif() + +find_package(ParMetis REQUIRED) +if(PARMETIS_FOUND) + add_library(parmetis SHARED IMPORTED) + set_property(TARGET parmetis PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PARMETIS_INCLUDE_DIRS}) + set_property(TARGET parmetis PROPERTY IMPORTED_LOCATION ${PARMETIS_LIBRARY}) +endif() + +find_package(ParMGridGen REQUIRED) +if(PARMGRIDGEN_FOUND) + add_library(parmgridgen SHARED IMPORTED) + set_property(TARGET parmgridgen PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PARMGRIDGEN_INCLUDE_DIRS}) + set_property(TARGET parmgridgen PROPERTY IMPORTED_LOCATION ${PARMGRIDGEN_LIBRARY}) +endif() # diff --git a/cmake/FindMesquite.cmake b/cmake/FindMesquite.cmake new file mode 100644 index 000000000..c7746c550 --- /dev/null +++ b/cmake/FindMesquite.cmake @@ -0,0 +1,27 @@ + +include(LibFindMacros) + +# Use pkg-config to get hints about paths +libfind_pkg_check_modules(MESQUITE_PKGCONF mesquite) + +# Include dir +find_path(MESQUITE_INCLUDE_DIR + NAMES Mesquite_all_headers.hpp + HINTS + ThirdParty/packages/mesquite-2.1.2/platforms/linux64GccDPOpt/include + ${MESQUITE_PKGCONF_INCLUDE_DIRS} +) + +# Finally the library itself +find_library(MESQUITE_LIBRARY + NAMES mesquite + HINTS + ThirdParty/packages/mesquite-2.1.2/platforms/linux64GccDPOpt/lib + ${MESQUITE_PKGCONF_LIBRARY_DIRS} +) + +# Set the include dir variables and the libraries and let libfind_process do the rest. +# NOTE: Singular variables for this library, plural for libraries this this lib depends on. +set(MESQUITE_PROCESS_INCLUDES MESQUITE_INCLUDE_DIR) +set(MESQUITE_PROCESS_LIBS MESQUITE_LIBRARY) +libfind_process(MESQUITE) diff --git a/cmake/FindMetis.cmake b/cmake/FindMetis.cmake new file mode 100644 index 000000000..fe283fdca --- /dev/null +++ b/cmake/FindMetis.cmake @@ -0,0 +1,31 @@ + +include(LibFindMacros) + +# Use pkg-config to get hints about paths +libfind_pkg_check_modules(METIS_PKGCONF metis) + +# Include dir +find_path(METIS_INCLUDE_DIR + NAMES metis.h + HINTS + ThirdParty/packages/metis-5.1.0/platforms/linux64GccDPOpt/include + ${METIS_PKGCONF_INCLUDE_DIRS} +) + +# Finally the library itself +find_library(METIS_LIBRARY + NAMES metis + HINTS + ThirdParty/packages/metis-5.1.0/platforms/linux64GccDPOpt/lib + ${METIS_PKGCONF_LIBRARY_DIRS} +) + +# Set the include dir variables and the libraries and let libfind_process do the rest. +# NOTE: Singular variables for this library, plural for libraries this this lib depends on. + +message(STATUS ${METIS_INCLUDE_DIR}) +message(STATUS ${METIS_LIBRARY}) + +set(METIS_PROCESS_INCLUDES METIS_INCLUDE_DIR) +set(METIS_PROCESS_LIBS METIS_LIBRARY) +libfind_process(METIS) diff --git a/cmake/FindParMGridGen.cmake b/cmake/FindParMGridGen.cmake new file mode 100644 index 000000000..518dfb2f5 --- /dev/null +++ b/cmake/FindParMGridGen.cmake @@ -0,0 +1,38 @@ + +include(LibFindMacros) + +# Use pkg-config to get hints about paths +libfind_pkg_check_modules(PARMGRIDGEN_PKGCONF scotch) + +# Include dir +find_path(PARMGRIDGEN_INCLUDE_DIR + NAMES mgridgen.h + HINTS + ThirdParty/packages/ParMGridGen-1.0/platforms/linux64GccDPOpt/include/Lib + ${PARMGRIDGEN_PKGCONF_INCLUDE_DIRS} +) + +find_path(PARMGRIDGEN_INCLUDE_DIR2 + NAMES IMlib.h + HINTS + ThirdParty/packages/ParMGridGen-1.0/platforms/linux64GccDPOpt/include/IMlib + ${PARMGRIDGEN_PKGCONF_INCLUDE_DIRS} +) + +# Finally the library itself +find_library(PARMGRIDGEN_LIBRARY + NAMES MGridGen + HINTS + ThirdParty/packages/ParMGridGen-1.0/platforms/linux64GccDPOpt/lib + ${PARMGRIDGEN_PKGCONF_LIBRARY_DIRS} +) + +# Set the include dir variables and the libraries and let libfind_process do the rest. +# NOTE: Singular variables for this library, plural for libraries this this lib depends on. + +message(STATUS ${PARMGRIDGEN_INCLUDE_DIR}) +message(STATUS ${PARMGRIDGEN_LIBRARY}) + +set(PARMGRIDGEN_PROCESS_INCLUDES PARMGRIDGEN_INCLUDE_DIR PARMGRIDGEN_INCLUDE_DIR2) +set(PARMGRIDGEN_PROCESS_LIBS PARMGRIDGEN_LIBRARY) +libfind_process(PARMGRIDGEN) diff --git a/cmake/FindParMetis.cmake b/cmake/FindParMetis.cmake new file mode 100644 index 000000000..29975bce5 --- /dev/null +++ b/cmake/FindParMetis.cmake @@ -0,0 +1,31 @@ + +include(LibFindMacros) + +# Use pkg-config to get hints about paths +libfind_pkg_check_modules(PARMETIS_PKGCONF parmetis) + +# Include dir +find_path(PARMETIS_INCLUDE_DIR + NAMES parmetis.h + HINTS + ThirdParty/packages/parmetis-4.0.3/platforms/linux64GccDPOpt/include + ${PARMETIS_PKGCONF_INCLUDE_DIRS} +) + +# Finally the library itself +find_library(PARMETIS_LIBRARY + NAMES parmetis + HINTS + ThirdParty/packages/parmetis-4.0.3/platforms/linux64GccDPOpt/lib + ${PARMETIS_PKGCONF_LIBRARY_DIRS} +) + +# Set the include dir variables and the libraries and let libfind_process do the rest. +# NOTE: Singular variables for this library, plural for libraries this this lib depends on. + +message(STATUS ${PARMETIS_INCLUDE_DIR}) +message(STATUS ${PARMETIS_LIBRARY}) + +set(PARMETIS_PROCESS_INCLUDES PARMETIS_INCLUDE_DIR) +set(PARMETIS_PROCESS_LIBS PARMETIS_LIBRARY) +libfind_process(PARMETIS) diff --git a/cmake/FindScotch.cmake b/cmake/FindScotch.cmake new file mode 100644 index 000000000..e89c5c179 --- /dev/null +++ b/cmake/FindScotch.cmake @@ -0,0 +1,31 @@ + +include(LibFindMacros) + +# Use pkg-config to get hints about paths +libfind_pkg_check_modules(SCOTCH_PKGCONF scotch) + +# Include dir +find_path(SCOTCH_INCLUDE_DIR + NAMES scotch.h + HINTS + ThirdParty/packages/scotch-6.0.4/platforms/linux64GccDPOpt/include + ${SCOTCH_PKGCONF_INCLUDE_DIRS} +) + +# Finally the library itself +find_library(SCOTCH_LIBRARY + NAMES scotch + HINTS + ThirdParty/packages/scotch-6.0.4/platforms/linux64GccDPOpt/lib + ${SCOTCH_PKGCONF_LIBRARY_DIRS} +) + +# Set the include dir variables and the libraries and let libfind_process do the rest. +# NOTE: Singular variables for this library, plural for libraries this this lib depends on. + +message(STATUS ${SCOTCH_INCLUDE_DIR}) +message(STATUS ${SCOTCH_LIBRARY}) + +set(SCOTCH_PROCESS_INCLUDES SCOTCH_INCLUDE_DIR) +set(SCOTCH_PROCESS_LIBS SCOTCH_LIBRARY) +libfind_process(SCOTCH) diff --git a/cmake/LibFindMacros.cmake b/cmake/LibFindMacros.cmake new file mode 100644 index 000000000..3ef5844dd --- /dev/null +++ b/cmake/LibFindMacros.cmake @@ -0,0 +1,266 @@ +# Version 2.2 +# Public Domain, originally written by Lasse Kärkkäinen +# Maintained at https://github.com/Tronic/cmake-modules +# Please send your improvements as pull requests on Github. + +# Find another package and make it a dependency of the current package. +# This also automatically forwards the "REQUIRED" argument. +# Usage: libfind_package( [extra args to find_package]) +macro (libfind_package PREFIX PKG) + set(${PREFIX}_args ${PKG} ${ARGN}) + if (${PREFIX}_FIND_REQUIRED) + set(${PREFIX}_args ${${PREFIX}_args} REQUIRED) + endif() + find_package(${${PREFIX}_args}) + set(${PREFIX}_DEPENDENCIES ${${PREFIX}_DEPENDENCIES};${PKG}) + unset(${PREFIX}_args) +endmacro() + +# A simple wrapper to make pkg-config searches a bit easier. +# Works the same as CMake's internal pkg_check_modules but is always quiet. +macro (libfind_pkg_check_modules) + find_package(PkgConfig QUIET) + if (PKG_CONFIG_FOUND) + pkg_check_modules(${ARGN} QUIET) + endif() +endmacro() + +# Avoid useless copy&pasta by doing what most simple libraries do anyway: +# pkg-config, find headers, find library. +# Usage: libfind_pkg_detect( FIND_PATH [other args] FIND_LIBRARY [other args]) +# E.g. libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2) +function (libfind_pkg_detect PREFIX) + # Parse arguments + set(argname pkgargs) + foreach (i ${ARGN}) + if ("${i}" STREQUAL "FIND_PATH") + set(argname pathargs) + elseif ("${i}" STREQUAL "FIND_LIBRARY") + set(argname libraryargs) + else() + set(${argname} ${${argname}} ${i}) + endif() + endforeach() + if (NOT pkgargs) + message(FATAL_ERROR "libfind_pkg_detect requires at least a pkg_config package name to be passed.") + endif() + # Find library + libfind_pkg_check_modules(${PREFIX}_PKGCONF ${pkgargs}) + if (pathargs) + find_path(${PREFIX}_INCLUDE_DIR NAMES ${pathargs} HINTS ${${PREFIX}_PKGCONF_INCLUDE_DIRS}) + endif() + if (libraryargs) + find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS}) + endif() +endfunction() + +# Extracts a version #define from a version.h file, output stored to _VERSION. +# Usage: libfind_version_header(Foobar foobar/version.h FOOBAR_VERSION_STR) +# Fourth argument "QUIET" may be used for silently testing different define names. +# This function does nothing if the version variable is already defined. +function (libfind_version_header PREFIX VERSION_H DEFINE_NAME) + # Skip processing if we already have a version or if the include dir was not found + if (${PREFIX}_VERSION OR NOT ${PREFIX}_INCLUDE_DIR) + return() + endif() + set(quiet ${${PREFIX}_FIND_QUIETLY}) + # Process optional arguments + foreach(arg ${ARGN}) + if (arg STREQUAL "QUIET") + set(quiet TRUE) + else() + message(AUTHOR_WARNING "Unknown argument ${arg} to libfind_version_header ignored.") + endif() + endforeach() + # Read the header and parse for version number + set(filename "${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") + if (NOT EXISTS ${filename}) + if (NOT quiet) + message(AUTHOR_WARNING "Unable to find ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") + endif() + return() + endif() + file(READ "${filename}" header) + string(REGEX REPLACE ".*#[ \t]*define[ \t]*${DEFINE_NAME}[ \t]*\"([^\n]*)\".*" "\\1" match "${header}") + # No regex match? + if (match STREQUAL header) + if (NOT quiet) + message(AUTHOR_WARNING "Unable to find \#define ${DEFINE_NAME} \"\" from ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") + endif() + return() + endif() + # Export the version string + set(${PREFIX}_VERSION "${match}" PARENT_SCOPE) +endfunction() + +# Do the final processing once the paths have been detected. +# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain +# all the variables, each of which contain one include directory. +# Ditto for ${PREFIX}_PROCESS_LIBS and library files. +# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES. +# Also handles errors in case library detection was required, etc. +function (libfind_process PREFIX) + # Skip processing if already processed during this configuration run + if (${PREFIX}_FOUND) + return() + endif() + + set(found TRUE) # Start with the assumption that the package was found + + # Did we find any files? Did we miss includes? These are for formatting better error messages. + set(some_files FALSE) + set(missing_headers FALSE) + + # Shorthands for some variables that we need often + set(quiet ${${PREFIX}_FIND_QUIETLY}) + set(required ${${PREFIX}_FIND_REQUIRED}) + set(exactver ${${PREFIX}_FIND_VERSION_EXACT}) + set(findver "${${PREFIX}_FIND_VERSION}") + set(version "${${PREFIX}_VERSION}") + + # Lists of config option names (all, includes, libs) + unset(configopts) + set(includeopts ${${PREFIX}_PROCESS_INCLUDES}) + set(libraryopts ${${PREFIX}_PROCESS_LIBS}) + + # Process deps to add to + foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES}) + if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS) + # The package seems to export option lists that we can use, woohoo! + list(APPEND includeopts ${${i}_INCLUDE_OPTS}) + list(APPEND libraryopts ${${i}_LIBRARY_OPTS}) + else() + # If plural forms don't exist or they equal singular forms + if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR + ({i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES)) + # Singular forms can be used + if (DEFINED ${i}_INCLUDE_DIR) + list(APPEND includeopts ${i}_INCLUDE_DIR) + endif() + if (DEFINED ${i}_LIBRARY) + list(APPEND libraryopts ${i}_LIBRARY) + endif() + else() + # Oh no, we don't know the option names + message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes and libs. Aieeh!") + endif() + endif() + endforeach() + + if (includeopts) + list(REMOVE_DUPLICATES includeopts) + endif() + + if (libraryopts) + list(REMOVE_DUPLICATES libraryopts) + endif() + + string(REGEX REPLACE ".*[ ;]([^ ;]*(_INCLUDE_DIRS|_LIBRARIES))" "\\1" tmp "${includeopts} ${libraryopts}") + if (NOT tmp STREQUAL "${includeopts} ${libraryopts}") + message(AUTHOR_WARNING "Plural form ${tmp} found in config options of ${PREFIX}. This works as before but is now deprecated. Please only use singular forms INCLUDE_DIR and LIBRARY, and update your find scripts for LibFindMacros > 2.0 automatic dependency system (most often you can simply remove the PROCESS variables entirely).") + endif() + + # Include/library names separated by spaces (notice: not CMake lists) + unset(includes) + unset(libs) + + # Process all includes and set found false if any are missing + foreach (i ${includeopts}) + list(APPEND configopts ${i}) + if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND") + list(APPEND includes "${${i}}") + else() + set(found FALSE) + set(missing_headers TRUE) + endif() + endforeach() + + # Process all libraries and set found false if any are missing + foreach (i ${libraryopts}) + list(APPEND configopts ${i}) + if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND") + list(APPEND libs "${${i}}") + else() + set (found FALSE) + endif() + endforeach() + + # Version checks + if (found AND findver) + if (NOT version) + message(WARNING "The find module for ${PREFIX} does not provide version information, so we'll just assume that it is OK. Please fix the module or remove package version requirements to get rid of this warning.") + elseif (version VERSION_LESS findver OR (exactver AND NOT version VERSION_EQUAL findver)) + set(found FALSE) + set(version_unsuitable TRUE) + endif() + endif() + + # If all-OK, hide all config options, export variables, print status and exit + if (found) + foreach (i ${configopts}) + mark_as_advanced(${i}) + endforeach() + if (NOT quiet) + message(STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}") + if (LIBFIND_DEBUG) + message(STATUS " ${PREFIX}_DEPENDENCIES=${${PREFIX}_DEPENDENCIES}") + message(STATUS " ${PREFIX}_INCLUDE_OPTS=${includeopts}") + message(STATUS " ${PREFIX}_INCLUDE_DIRS=${includes}") + message(STATUS " ${PREFIX}_LIBRARY_OPTS=${libraryopts}") + message(STATUS " ${PREFIX}_LIBRARIES=${libs}") + endif() + set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE) + set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE) + set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE) + set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE) + set (${PREFIX}_FOUND TRUE PARENT_SCOPE) + endif() + return() + endif() + + # Format messages for debug info and the type of error + set(vars "Relevant CMake configuration variables:\n") + foreach (i ${configopts}) + mark_as_advanced(CLEAR ${i}) + set(val ${${i}}) + if ("${val}" STREQUAL "${i}-NOTFOUND") + set (val "") + elseif (val AND NOT EXISTS ${val}) + set (val "${val} (does not exist)") + else() + set(some_files TRUE) + endif() + set(vars "${vars} ${i}=${val}\n") + endforeach() + set(vars "${vars}You may use CMake GUI, cmake -D or ccmake to modify the values. Delete CMakeCache.txt to discard all values and force full re-detection if necessary.\n") + if (version_unsuitable) + set(msg "${PREFIX} ${${PREFIX}_VERSION} was found but") + if (exactver) + set(msg "${msg} only version ${findver} is acceptable.") + else() + set(msg "${msg} version ${findver} is the minimum requirement.") + endif() + else() + if (missing_headers) + set(msg "We could not find development headers for ${PREFIX}. Do you have the necessary dev package installed?") + elseif (some_files) + set(msg "We only found some files of ${PREFIX}, not all of them. Perhaps your installation is incomplete or maybe we just didn't look in the right place?") + if(findver) + set(msg "${msg} This could also be caused by incompatible version (if it helps, at least ${PREFIX} ${findver} should work).") + endif() + else() + set(msg "We were unable to find package ${PREFIX}.") + endif() + endif() + + # Fatal error out if REQUIRED + if (required) + set(msg "REQUIRED PACKAGE NOT FOUND\n${msg} This package is REQUIRED and you need to install it or adjust CMake configuration in order to continue building ${CMAKE_PROJECT_NAME}.") + message(FATAL_ERROR "${msg}\n${vars}") + endif() + # Otherwise just print a nasty warning + if (NOT quiet) + message(WARNING "WARNING: MISSING PACKAGE\n${msg} This package is NOT REQUIRED and you may ignore this warning but by doing so you may miss some functionality of ${CMAKE_PROJECT_NAME}. \n${vars}") + endif() +endfunction() + diff --git a/src/dbns/CMakeLists.txt b/src/dbns/CMakeLists.txt index 717e19b59..fe7d5b1c3 100644 --- a/src/dbns/CMakeLists.txt +++ b/src/dbns/CMakeLists.txt @@ -50,12 +50,10 @@ list(APPEND SOURCES timeStepping/EulerLocalDdtScheme/EulerLocalDdtSchemes.C ) -add_foam_library(dbns SHARED ${SOURCES}) +if(PARMGRIDGEN_FOUND) + add_foam_library(dbns SHARED ${SOURCES}) -target_link_libraries(dbns ${MGRIDGEN_LIBRARY} compressibleTurbulenceModel) - -target_include_directories(dbns PUBLIC - $ - $ - $ -) + target_link_libraries(dbns compressibleTurbulenceModel parmgridgen) +else() + message(WARNING dbns will not be build) +endif() diff --git a/src/decompositionMethods/CMakeLists.txt b/src/decompositionMethods/CMakeLists.txt index 0151b77a0..b4dfa4e0d 100644 --- a/src/decompositionMethods/CMakeLists.txt +++ b/src/decompositionMethods/CMakeLists.txt @@ -30,7 +30,7 @@ # # -------------------------------------------------------------------------- -#add_subdirectory(parMetisDecomp) +add_subdirectory(parMetisDecomp) add_subdirectory(decompositionMethods) -#add_subdirectory(scotchDecomp) -#add_subdirectory(metisDecomp) +add_subdirectory(scotchDecomp) +add_subdirectory(metisDecomp) diff --git a/src/decompositionMethods/metisDecomp/CMakeLists.txt b/src/decompositionMethods/metisDecomp/CMakeLists.txt index 1af0d996f..4302ccc18 100644 --- a/src/decompositionMethods/metisDecomp/CMakeLists.txt +++ b/src/decompositionMethods/metisDecomp/CMakeLists.txt @@ -36,4 +36,4 @@ list(APPEND SOURCES add_foam_library(metisDecomp SHARED ${SOURCES}) -#target_link_libraries(metisDecomp finiteVolume) +target_link_libraries(metisDecomp finiteVolume metis) diff --git a/src/decompositionMethods/metisDecomp/metisDecomp.C b/src/decompositionMethods/metisDecomp/metisDecomp.C index 002a760ec..0740c1e14 100644 --- a/src/decompositionMethods/metisDecomp/metisDecomp.C +++ b/src/decompositionMethods/metisDecomp/metisDecomp.C @@ -27,7 +27,6 @@ License #include "addToRunTimeSelectionTable.H" #include "floatScalar.H" #include "foamTime.H" -#include "scotchDecomp.H" extern "C" { diff --git a/src/decompositionMethods/parMetisDecomp/CMakeLists.txt b/src/decompositionMethods/parMetisDecomp/CMakeLists.txt index 89614e5cb..3189279a3 100644 --- a/src/decompositionMethods/parMetisDecomp/CMakeLists.txt +++ b/src/decompositionMethods/parMetisDecomp/CMakeLists.txt @@ -36,4 +36,4 @@ list(APPEND SOURCES add_foam_library(parMetisDecomp SHARED ${SOURCES}) -#target_link_libraries(parMetisDecomp finiteVolume) +target_link_libraries(parMetisDecomp metisDecomp parmetis) diff --git a/src/decompositionMethods/scotchDecomp/CMakeLists.txt b/src/decompositionMethods/scotchDecomp/CMakeLists.txt index 44e36f8a9..791f791ef 100644 --- a/src/decompositionMethods/scotchDecomp/CMakeLists.txt +++ b/src/decompositionMethods/scotchDecomp/CMakeLists.txt @@ -37,4 +37,4 @@ list(APPEND SOURCES add_foam_library(scotchDecomp SHARED ${SOURCES}) -#target_link_libraries(scotchDecomp finiteVolume) +target_link_libraries(scotchDecomp finiteVolume scotch) diff --git a/src/dynamicMesh/meshMotion/CMakeLists.txt b/src/dynamicMesh/meshMotion/CMakeLists.txt index bcc1c678c..abaad3de8 100644 --- a/src/dynamicMesh/meshMotion/CMakeLists.txt +++ b/src/dynamicMesh/meshMotion/CMakeLists.txt @@ -33,5 +33,7 @@ add_subdirectory(solidBodyMotion) add_subdirectory(RBFMotionSolver) add_subdirectory(fvMotionSolver) -#add_subdirectory(mesquiteMotionSolver) +if(MESQUITE_FOUND) + add_subdirectory(mesquiteMotionSolver) +endif() add_subdirectory(tetMotionSolver) diff --git a/src/dynamicMesh/meshMotion/mesquiteMotionSolver/CMakeLists.txt b/src/dynamicMesh/meshMotion/mesquiteMotionSolver/CMakeLists.txt index 3bf4e684d..4cd7d7c64 100644 --- a/src/dynamicMesh/meshMotion/mesquiteMotionSolver/CMakeLists.txt +++ b/src/dynamicMesh/meshMotion/mesquiteMotionSolver/CMakeLists.txt @@ -36,4 +36,4 @@ list(APPEND SOURCES add_foam_library(mesquiteMotionSolver SHARED ${SOURCES}) -target_link_libraries(mesquiteMotionSolver PUBLIC dynamicMesh) +target_link_libraries(mesquiteMotionSolver PUBLIC dynamicMesh mesquite) diff --git a/src/fvAgglomerationMethods/CMakeLists.txt b/src/fvAgglomerationMethods/CMakeLists.txt index f27fab1c6..289ca930f 100644 --- a/src/fvAgglomerationMethods/CMakeLists.txt +++ b/src/fvAgglomerationMethods/CMakeLists.txt @@ -30,4 +30,4 @@ # # -------------------------------------------------------------------------- -#add_subdirectory(MGridGenGamgAgglomeration) +add_subdirectory(MGridGenGamgAgglomeration) diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/CMakeLists.txt b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/CMakeLists.txt index 0bb5427b1..ac1f5b675 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/CMakeLists.txt +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/CMakeLists.txt @@ -37,4 +37,4 @@ list(APPEND SOURCES add_foam_library(MGridGenGAMGAgglomeration SHARED ${SOURCES}) -#target_link_libraries(MGridGenGAMGAgglomeration finiteVolume) +target_link_libraries(MGridGenGAMGAgglomeration finiteVolume parmgridgen)