diff --git a/applications/meson.build b/applications/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8505bd6f4006ae4ff46bc8a02845e372871db3d2
--- /dev/null
+++ b/applications/meson.build
@@ -0,0 +1,4 @@
+subdir('solvers')
+subdir('test')
+subdir('tools')
+subdir('utilities')
diff --git a/applications/solvers/DNS/dnsFoam/meson.build b/applications/solvers/DNS/dnsFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ced6fc7795025e8e81dd047644cda5ee9e317621
--- /dev/null
+++ b/applications/solvers/DNS/dnsFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'dnsFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_randomProcesses,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/DNS/dnsFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'applications/solvers/DNS/dnsFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_dnsFoam = executable(
+    'dnsFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/DNS/meson.build b/applications/solvers/DNS/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d4e1683ac4165b350abb158c0ffdf0526a55724e
--- /dev/null
+++ b/applications/solvers/DNS/meson.build
@@ -0,0 +1 @@
+subdir('dnsFoam')
diff --git a/applications/solvers/acoustic/acousticFoam/meson.build b/applications/solvers/acoustic/acousticFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8d4b523d063f22b51801df0b0d05898d1af5fc11
--- /dev/null
+++ b/applications/solvers/acoustic/acousticFoam/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'acousticFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/acoustic/acousticFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/acoustic/acousticFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_acousticFoam = executable(
+    'acousticFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/acoustic/meson.build b/applications/solvers/acoustic/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ce2a35384eb97f2abb165eb093a4ba185d9380bf
--- /dev/null
+++ b/applications/solvers/acoustic/meson.build
@@ -0,0 +1 @@
+subdir('acousticFoam')
diff --git a/applications/solvers/basic/laplacianFoam/meson.build b/applications/solvers/basic/laplacianFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..929e7940a5922945576f589700ad5e48747de495
--- /dev/null
+++ b/applications/solvers/basic/laplacianFoam/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'laplacianFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/basic/laplacianFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/basic/laplacianFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_laplacianFoam = executable(
+    'laplacianFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overLaplacianDyMFoam')
diff --git a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/meson.build b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..88125c68b9d5a9799bd3b5ddb8a2f1652cf43a59
--- /dev/null
+++ b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'overLaplacianDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicFvMesh,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/overset/include',
+    '-I' + recursive_include_dirs / 'applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overLaplacianDyMFoam = executable(
+    'overLaplacianDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/basic/meson.build b/applications/solvers/basic/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..41edf8e1ad58d79fbf9eac59ac66f0059b77626b
--- /dev/null
+++ b/applications/solvers/basic/meson.build
@@ -0,0 +1,3 @@
+subdir('laplacianFoam')
+subdir('potentialFoam')
+subdir('scalarTransportFoam')
diff --git a/applications/solvers/basic/potentialFoam/meson.build b/applications/solvers/basic/potentialFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8f5daa2ea053d4e947cfa3eadcb56a6fcd3decb9
--- /dev/null
+++ b/applications/solvers/basic/potentialFoam/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'potentialFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/basic/potentialFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/solvers/basic/potentialFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_potentialFoam = executable(
+    'potentialFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overPotentialFoam')
diff --git a/applications/solvers/basic/potentialFoam/overPotentialFoam/meson.build b/applications/solvers/basic/potentialFoam/overPotentialFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e9bc3e3a625bcd4a3f387f497c924f6f348cb31f
--- /dev/null
+++ b/applications/solvers/basic/potentialFoam/overPotentialFoam/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'overPotentialFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicFvMesh,
+    lib_sampling,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/basic/potentialFoam/overPotentialFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/basic/potentialFoam/overPotentialFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overPotentialFoam = executable(
+    'overPotentialFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/basic/scalarTransportFoam/meson.build b/applications/solvers/basic/scalarTransportFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5efab7253dc7b9d6367b9b87c975adfce1eb036e
--- /dev/null
+++ b/applications/solvers/basic/scalarTransportFoam/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'scalarTransportFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/basic/scalarTransportFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/solvers/basic/scalarTransportFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_scalarTransportFoam = executable(
+    'scalarTransportFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/PDRFoam/meson.build b/applications/solvers/combustion/PDRFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bddc3c0edb7d4bf0d6a4090fb8d5505def7b6e2e
--- /dev/null
+++ b/applications/solvers/combustion/PDRFoam/meson.build
@@ -0,0 +1,79 @@
+srcfiles = [
+    lnInclude_hack,
+    'XiModels/XiModel/XiModel.C',
+    'XiModels/XiModel/XiModelNew.C',
+    'XiModels/fixed/fixed.C',
+    'XiModels/algebraic/algebraic.C',
+    'XiModels/transport/transport.C',
+    'XiModels/XiEqModels/XiEqModel/XiEqModel.C',
+    'XiModels/XiEqModels/XiEqModel/XiEqModelNew.C',
+    'XiModels/XiEqModels/Gulder/Gulder.C',
+    'XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C',
+    'XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C',
+    'XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C',
+    'XiModels/XiGModels/XiGModel/XiGModel.C',
+    'XiModels/XiGModels/XiGModel/XiGModelNew.C',
+    'XiModels/XiGModels/KTS/KTS.C',
+    'XiModels/XiGModels/instabilityG/instabilityG.C',
+    'PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C',
+    'PDRModels/dragModels/PDRDragModel/PDRDragModel.C',
+    'PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C',
+    'PDRModels/dragModels/basic/basic.C',
+    'PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C',
+    'PDRModels/XiGModels/basicXiSubG/basicXiSubG.C',
+    'laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C',
+    'PDRFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_engine,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_laminarFlameSpeedModels,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam/XiModels/XiModel',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/PDRFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_PDRFoam = executable(
+    'PDRFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/XiFoam/XiDyMFoam/meson.build b/applications/solvers/combustion/XiFoam/XiDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..aeb0b90b3c8d4c109c858804f24d1a0b3e024c54
--- /dev/null
+++ b/applications/solvers/combustion/XiFoam/XiDyMFoam/meson.build
@@ -0,0 +1,57 @@
+srcfiles = [
+    lnInclude_hack,
+    'XiDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+    lib_engine,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_laminarFlameSpeedModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam/XiDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/XiFoam/XiDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_XiDyMFoam = executable(
+    'XiDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/meson.build b/applications/solvers/combustion/XiFoam/XiEngineFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..29b47de21feeb11960c7762ab1dddf85653c37f5
--- /dev/null
+++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'XiEngineFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_engine,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_laminarFlameSpeedModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam/XiEngineFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/XiFoam/XiEngineFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_XiEngineFoam = executable(
+    'XiEngineFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/XiFoam/meson.build b/applications/solvers/combustion/XiFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a06f8b84dfe082de6bf51b7496beb057f81c689a
--- /dev/null
+++ b/applications/solvers/combustion/XiFoam/meson.build
@@ -0,0 +1,53 @@
+subdir('XiDyMFoam')
+subdir('XiEngineFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'XiFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_engine,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_laminarFlameSpeedModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/XiFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_XiFoam = executable(
+    'XiFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/chemFoam/meson.build b/applications/solvers/combustion/chemFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c79beb55899f10607d2e210fda448ce15fbf8dbf
--- /dev/null
+++ b/applications/solvers/combustion/chemFoam/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'chemFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_chemistryModel,
+    lib_thermophysicalProperties,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/chemFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/chemFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_chemFoam = executable(
+    'chemFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/coldEngineFoam/meson.build b/applications/solvers/combustion/coldEngineFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..13f8b1a4838120b9bdf985cfddfcc9b755a24196
--- /dev/null
+++ b/applications/solvers/combustion/coldEngineFoam/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'coldEngineFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_engine,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/coldEngineFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam/XiEngineFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/XiFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/coldEngineFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_coldEngineFoam = executable(
+    'coldEngineFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/fireFoam/meson.build b/applications/solvers/combustion/fireFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..32b81d3733b24cc3eb8c1567ac7a5298a2ce606c
--- /dev/null
+++ b/applications/solvers/combustion/fireFoam/meson.build
@@ -0,0 +1,81 @@
+srcfiles = [
+    lnInclude_hack,
+    'fireFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_solidChemistryModel,
+    lib_combustionModels,
+    lib_regionModels,
+    lib_radiationModels,
+    lib_surfaceFilmModels,
+    lib_surfaceFilmDerivedFvPatchFields,
+    lib_pyrolysisModels,
+    lib_regionCoupling,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_ODE,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/fireFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidChemistryModel',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/pyrolysisModels',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/fireFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_fireFoam = executable(
+    'fireFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/meson.build b/applications/solvers/combustion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2d6e2e0dce3fca6cf580932344541403bafa2671
--- /dev/null
+++ b/applications/solvers/combustion/meson.build
@@ -0,0 +1,6 @@
+subdir('PDRFoam')
+subdir('XiFoam')
+subdir('chemFoam')
+subdir('coldEngineFoam')
+subdir('fireFoam')
+subdir('reactingFoam')
diff --git a/applications/solvers/combustion/reactingFoam/meson.build b/applications/solvers/combustion/reactingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..93cfd4b01b03967c29c9815f055ef5e2b01b13e2
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/meson.build
@@ -0,0 +1,55 @@
+srcfiles = [
+    lnInclude_hack,
+    'reactingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_chemistryModel,
+    lib_ODE,
+    lib_combustionModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reactingFoam = executable(
+    'reactingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('rhoReactingBuoyantFoam')
+subdir('rhoReactingFoam')
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/meson.build b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9c00bcbc8ccccc9ac818ee1235960e6c80bd3228
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/meson.build
@@ -0,0 +1,53 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoReactingBuoyantFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_chemistryModel,
+    lib_ODE,
+    lib_combustionModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoReactingBuoyantFoam = executable(
+    'rhoReactingBuoyantFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/meson.build b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..df018f0361bb3e42edfd67f036fcf4bf78d2770f
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/meson.build
@@ -0,0 +1,53 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoReactingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_chemistryModel,
+    lib_ODE,
+    lib_combustionModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam/rhoReactingFoam',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/combustion/reactingFoam/rhoReactingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoReactingFoam = executable(
+    'rhoReactingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/meson.build b/applications/solvers/compressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c8233733f48aa4bd804110e80537a6e0e6b472eb
--- /dev/null
+++ b/applications/solvers/compressible/meson.build
@@ -0,0 +1,5 @@
+subdir('rhoCentralFoam')
+subdir('rhoPimpleAdiabaticFoam')
+subdir('rhoPimpleFoam')
+subdir('rhoSimpleFoam')
+subdir('sonicFoam')
diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/meson.build b/applications/solvers/compressible/rhoCentralFoam/BCs/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..07114e65aa07308bfa455746fc6c3f2bde80a44a
--- /dev/null
+++ b/applications/solvers/compressible/rhoCentralFoam/BCs/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'U/maxwellSlipUFvPatchVectorField.C',
+    'T/smoluchowskiJumpTFvPatchScalarField.C',
+    'rho/fixedRhoFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoCentralFoam/BCs',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoCentralFoam/BCs',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_rhoCentralFoam = library(
+    'rhoCentralFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_rhoCentralFoam)
diff --git a/applications/solvers/compressible/rhoCentralFoam/meson.build b/applications/solvers/compressible/rhoCentralFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e6f73a968ad4259d885250904901e142a7a53639
--- /dev/null
+++ b/applications/solvers/compressible/rhoCentralFoam/meson.build
@@ -0,0 +1,49 @@
+subdir('BCs')
+
+srcfiles = [
+    lnInclude_hack,
+    'rhoCentralFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_rhoCentralFoam,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoCentralFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoCentralFoam/BCs',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoCentralFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoCentralFoam = executable(
+    'rhoCentralFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/meson.build b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e69a0598b65a6634ab5c073154af85fe978366ba
--- /dev/null
+++ b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/meson.build
@@ -0,0 +1,44 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoPimpleAdiabaticFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleAdiabaticFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoPimpleAdiabaticFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoPimpleAdiabaticFoam = executable(
+    'rhoPimpleAdiabaticFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/rhoPimpleFoam/meson.build b/applications/solvers/compressible/rhoPimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c81480ba542f0e3f68da42ae1a6b397e654cfd9b
--- /dev/null
+++ b/applications/solvers/compressible/rhoPimpleFoam/meson.build
@@ -0,0 +1,55 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoPimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+    lib_atmosphericModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoPimpleFoam = executable(
+    'rhoPimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overRhoPimpleDyMFoam')
diff --git a/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/meson.build b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f829ca46c1c518035368f7dc0db57e6da3bfec60
--- /dev/null
+++ b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/meson.build
@@ -0,0 +1,50 @@
+srcfiles = [
+    lnInclude_hack,
+    'overRhoPimpleDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overRhoPimpleDyMFoam = executable(
+    'overRhoPimpleDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/rhoSimpleFoam/meson.build b/applications/solvers/compressible/rhoSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e984188ec879b8b82d1c0fa1501d3a64cf42c93d
--- /dev/null
+++ b/applications/solvers/compressible/rhoSimpleFoam/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_atmosphericModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoSimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoSimpleFoam = executable(
+    'rhoSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overRhoSimpleFoam')
+subdir('rhoPorousSimpleFoam')
diff --git a/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/meson.build b/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..592223d1fe6b68137a08d72411e13446a83e2376
--- /dev/null
+++ b/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'overRhoSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoSimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overRhoSimpleFoam = executable(
+    'overRhoSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/meson.build b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d7824fba1e04ee25054a2419f0c6aa1f44c8a070
--- /dev/null
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'rhoPorousSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoSimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rhoPorousSimpleFoam = executable(
+    'rhoPorousSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/sonicFoam/meson.build b/applications/solvers/compressible/sonicFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f27f4cb2cf284c0ba8cc099f869239999fa70b2d
--- /dev/null
+++ b/applications/solvers/compressible/sonicFoam/meson.build
@@ -0,0 +1,46 @@
+srcfiles = [
+    lnInclude_hack,
+    'sonicFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/sonicFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/sonicFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sonicFoam = executable(
+    'sonicFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('sonicDyMFoam')
+subdir('sonicLiquidFoam')
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/meson.build b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b21f19cb8ab61815aa86e65016e0b733dfe5b74b
--- /dev/null
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'sonicDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/sonicFoam/sonicDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/sonicFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/sonicFoam/sonicDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sonicDyMFoam = executable(
+    'sonicDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/meson.build b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e49a38b39efefc0799590c21fe32e74f02dc5936
--- /dev/null
+++ b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'sonicLiquidFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/compressible/sonicFoam/sonicLiquidFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/compressible/sonicFoam/sonicLiquidFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sonicLiquidFoam = executable(
+    'sonicLiquidFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/discreteMethods/dsmc/dsmcFoam/meson.build b/applications/solvers/discreteMethods/dsmc/dsmcFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..323e31b9b031475cdbbd85d235e77a58e438318a
--- /dev/null
+++ b/applications/solvers/discreteMethods/dsmc/dsmcFoam/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'dsmcFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_finiteVolume,
+    lib_lagrangian,
+    lib_DSMC,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/discreteMethods/dsmc/dsmcFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/DSMC',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/discreteMethods/dsmc/dsmcFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_dsmcFoam = executable(
+    'dsmcFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/discreteMethods/dsmc/meson.build b/applications/solvers/discreteMethods/dsmc/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..05c8ed4b5784a97ae68aff6510089a0404dd8118
--- /dev/null
+++ b/applications/solvers/discreteMethods/dsmc/meson.build
@@ -0,0 +1 @@
+subdir('dsmcFoam')
diff --git a/applications/solvers/discreteMethods/meson.build b/applications/solvers/discreteMethods/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c2c4a8ce674a5c353d8bed1409cdfda573c28c85
--- /dev/null
+++ b/applications/solvers/discreteMethods/meson.build
@@ -0,0 +1,2 @@
+subdir('dsmc')
+subdir('molecularDynamics')
diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/meson.build b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f65b0ecef10b926608bebfdaff2182be1a690dda
--- /dev/null
+++ b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'mdEquilibrationFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_finiteVolume,
+    lib_lagrangian,
+    lib_molecule,
+    lib_potential,
+    lib_molecularMeasurements,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecule',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mdEquilibrationFoam = executable(
+    'mdEquilibrationFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/meson.build b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d9e535b67bfed150edbc3aeb95566c48f6ca555a
--- /dev/null
+++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'mdFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_finiteVolume,
+    lib_lagrangian,
+    lib_molecule,
+    lib_potential,
+    lib_molecularMeasurements,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/discreteMethods/molecularDynamics/mdFoam',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecule',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/discreteMethods/molecularDynamics/mdFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mdFoam = executable(
+    'mdFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/discreteMethods/molecularDynamics/meson.build b/applications/solvers/discreteMethods/molecularDynamics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b29ffc8410cebeb83ff664f044bea1150464a9f8
--- /dev/null
+++ b/applications/solvers/discreteMethods/molecularDynamics/meson.build
@@ -0,0 +1,2 @@
+subdir('mdEquilibrationFoam')
+subdir('mdFoam')
diff --git a/applications/solvers/electromagnetics/electrostaticFoam/meson.build b/applications/solvers/electromagnetics/electrostaticFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f305f13c543de73cf7997b8593c336af820cb03d
--- /dev/null
+++ b/applications/solvers/electromagnetics/electrostaticFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'electrostaticFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/electromagnetics/electrostaticFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/electromagnetics/electrostaticFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_electrostaticFoam = executable(
+    'electrostaticFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/electromagnetics/magneticFoam/meson.build b/applications/solvers/electromagnetics/magneticFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8cc3283e448fe38a97a3301b27d6f82626fa40d9
--- /dev/null
+++ b/applications/solvers/electromagnetics/magneticFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'magneticFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/electromagnetics/magneticFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/electromagnetics/magneticFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_magneticFoam = executable(
+    'magneticFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/electromagnetics/meson.build b/applications/solvers/electromagnetics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..96ff42c2bfafad293ef4a7cc043d591c93d226e6
--- /dev/null
+++ b/applications/solvers/electromagnetics/meson.build
@@ -0,0 +1,3 @@
+subdir('electrostaticFoam')
+subdir('magneticFoam')
+subdir('mhdFoam')
diff --git a/applications/solvers/electromagnetics/mhdFoam/meson.build b/applications/solvers/electromagnetics/mhdFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..30dc7f181ad51ed6700a38da98965532cf69c4d2
--- /dev/null
+++ b/applications/solvers/electromagnetics/mhdFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'mhdFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/electromagnetics/mhdFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/electromagnetics/mhdFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mhdFoam = executable(
+    'mhdFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/financial/financialFoam/meson.build b/applications/solvers/financial/financialFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..789ba3f7581fc2cf1f6439092a9142f4c6d19363
--- /dev/null
+++ b/applications/solvers/financial/financialFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'financialFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/financial/financialFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/solvers/financial/financialFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_financialFoam = executable(
+    'financialFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/financial/meson.build b/applications/solvers/financial/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b1929a7ceab41025cfffa50072ef1fe00de36a80
--- /dev/null
+++ b/applications/solvers/financial/meson.build
@@ -0,0 +1 @@
+subdir('financialFoam')
diff --git a/applications/solvers/finiteArea/liquidFilmFoam/meson.build b/applications/solvers/finiteArea/liquidFilmFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a74d0a9147f588d32dbc0be69f6677271ce0b6bb
--- /dev/null
+++ b/applications/solvers/finiteArea/liquidFilmFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'liquidFilmFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/finiteArea/liquidFilmFoam',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/finiteArea/liquidFilmFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_liquidFilmFoam = executable(
+    'liquidFilmFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/finiteArea/meson.build b/applications/solvers/finiteArea/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4c8964fa451bf8c6ab1c64da63ab1d67fb8dce0e
--- /dev/null
+++ b/applications/solvers/finiteArea/meson.build
@@ -0,0 +1,3 @@
+subdir('liquidFilmFoam')
+subdir('sphereSurfactantFoam')
+subdir('surfactantFoam')
diff --git a/applications/solvers/finiteArea/sphereSurfactantFoam/meson.build b/applications/solvers/finiteArea/sphereSurfactantFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..37c7297c994fcdf7647f0244b54ad397603d2cf6
--- /dev/null
+++ b/applications/solvers/finiteArea/sphereSurfactantFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'sphereSurfactantFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/finiteArea/sphereSurfactantFoam',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/finiteArea/sphereSurfactantFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sphereSurfactantFoam = executable(
+    'sphereSurfactantFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/finiteArea/surfactantFoam/meson.build b/applications/solvers/finiteArea/surfactantFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..28d7c15e59b03fbdedcc1d64e33a36d89757e04f
--- /dev/null
+++ b/applications/solvers/finiteArea/surfactantFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfactantFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/finiteArea/surfactantFoam',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/finiteArea/surfactantFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfactantFoam = executable(
+    'surfactantFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/meson.build b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..735f9076279dfad55abd476032a87110004bccb1
--- /dev/null
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'buoyantBoussinesqPimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_radiationModels,
+    lib_atmosphericModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_buoyantBoussinesqPimpleFoam = executable(
+    'buoyantBoussinesqPimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/meson.build b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7dbc9084a57d192f31a3454e7062afa02c245af4
--- /dev/null
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'buoyantBoussinesqSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_radiationModels,
+    lib_atmosphericModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_buoyantBoussinesqSimpleFoam = executable(
+    'buoyantBoussinesqSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/meson.build b/applications/solvers/heatTransfer/buoyantPimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6292f076b5314c91ef2ca12a65ac7051b51ffe5c
--- /dev/null
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/meson.build
@@ -0,0 +1,57 @@
+srcfiles = [
+    lnInclude_hack,
+    'buoyantPimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_radiationModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_atmosphericModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantPimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/buoyantPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_buoyantPimpleFoam = executable(
+    'buoyantPimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overBuoyantPimpleDyMFoam')
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/overBuoyantPimpleDyMFoam/meson.build b/applications/solvers/heatTransfer/buoyantPimpleFoam/overBuoyantPimpleDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ea6e939aba3f1f04cfbda940f0e9b3f572ee174b
--- /dev/null
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/overBuoyantPimpleDyMFoam/meson.build
@@ -0,0 +1,54 @@
+srcfiles = [
+    lnInclude_hack,
+    'overBuoyantPimpleDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_sampling,
+    lib_meshTools,
+    lib_fvOptions,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_radiationModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_atmosphericModels,
+    lib_overset,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantPimpleFoam/overBuoyantPimpleDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantPimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/buoyantPimpleFoam/overBuoyantPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overBuoyantPimpleDyMFoam = executable(
+    'overBuoyantPimpleDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/meson.build b/applications/solvers/heatTransfer/buoyantSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..858011cfcfc1849e29645de1ae6e37f772c97b57
--- /dev/null
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'buoyantSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_atmosphericModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/buoyantSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/buoyantSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_buoyantSimpleFoam = executable(
+    'buoyantSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/meson.build b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f6b84a7f7da51d683127697175ad12363d080dc8
--- /dev/null
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/meson.build
@@ -0,0 +1,63 @@
+srcfiles = [
+    lnInclude_hack,
+    'chtMultiRegionSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_radiationModels,
+    lib_fvOptions,
+    lib_faOptions,
+    lib_regionModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/solid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/include',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_chtMultiRegionSimpleFoam = executable(
+    'chtMultiRegionSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/meson.build b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..49602b6cd51722f1a40ee1ff386a8d8c3843c79e
--- /dev/null
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/meson.build
@@ -0,0 +1,63 @@
+srcfiles = [
+    lnInclude_hack,
+    'derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.C',
+    '../solid/solidRegionDiffNo.C',
+    'chtMultiRegionTwoPhaseEulerFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_solidThermo,
+    lib_radiationModels,
+    lib_regionModels,
+    lib_reactingMultiphaseSystem,
+    lib_reactingTwoPhaseSystem,
+    lib_twoPhaseReactingTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/reactingTwoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/solid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/solid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/fluid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/include',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_chtMultiRegionTwoPhaseEulerFoam = executable(
+    'chtMultiRegionTwoPhaseEulerFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/meson.build b/applications/solvers/heatTransfer/chtMultiRegionFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..33a1ecc649e8a890b328fb6500fc3e174a86bd9d
--- /dev/null
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/meson.build
@@ -0,0 +1,69 @@
+subdir('chtMultiRegionSimpleFoam')
+subdir('chtMultiRegionTwoPhaseEulerFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'fluid/compressibleCourantNo.C',
+    'solid/solidRegionDiffNo.C',
+    'chtMultiRegionFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_reactionThermophysicalModels,
+    lib_solidThermo,
+    lib_chemistryModel,
+    lib_ODE,
+    lib_combustionModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_radiationModels,
+    lib_regionModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/fluid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/solid',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/include',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/chtMultiRegionFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_chtMultiRegionFoam = executable(
+    'chtMultiRegionFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/meson.build b/applications/solvers/heatTransfer/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a38c53e9771a6f079937f11c49c46bbedc4a58a0
--- /dev/null
+++ b/applications/solvers/heatTransfer/meson.build
@@ -0,0 +1,7 @@
+subdir('buoyantBoussinesqPimpleFoam')
+subdir('buoyantBoussinesqSimpleFoam')
+subdir('buoyantPimpleFoam')
+subdir('buoyantSimpleFoam')
+subdir('chtMultiRegionFoam')
+subdir('solidFoam')
+subdir('thermoFoam')
diff --git a/applications/solvers/heatTransfer/solidFoam/meson.build b/applications/solvers/heatTransfer/solidFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4dce7d131873b30491dc2e1f4cba967587cd2ed1
--- /dev/null
+++ b/applications/solvers/heatTransfer/solidFoam/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'solidRegionDiffNo.C',
+    'solidFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_radiationModels,
+    lib_specie,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/solidFoam',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/include',
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/chtMultiRegionFoam/solid',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/solidFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_solidFoam = executable(
+    'solidFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/heatTransfer/thermoFoam/meson.build b/applications/solvers/heatTransfer/thermoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9b7968e5b1fd6acaa6b5caa38bc5ff8420ccedd2
--- /dev/null
+++ b/applications/solvers/heatTransfer/thermoFoam/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'thermoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_radiationModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/heatTransfer/thermoFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/heatTransfer/thermoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_thermoFoam = executable(
+    'thermoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/adjointOptimisationFoam/meson.build b/applications/solvers/incompressible/adjointOptimisationFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..122334c025d4b00c97890183e355771212b1e407
--- /dev/null
+++ b/applications/solvers/incompressible/adjointOptimisationFoam/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'adjointOptimisationFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_adjointOptimisation,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/adjointOptimisationFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/adjointOptimisationFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_adjointOptimisationFoam = executable(
+    'adjointOptimisationFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/meson.build b/applications/solvers/incompressible/adjointShapeOptimizationFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..60cd135de5cdce1411d41f880eea6f597c4b02de
--- /dev/null
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C',
+    'adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C',
+    'adjointShapeOptimizationFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/adjointShapeOptimizationFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/adjointShapeOptimizationFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_adjointShapeOptimizationFoam = executable(
+    'adjointShapeOptimizationFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/boundaryFoam/meson.build b/applications/solvers/incompressible/boundaryFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1e001836e0bc864b0a7a6bb79a1736db3ca74401
--- /dev/null
+++ b/applications/solvers/incompressible/boundaryFoam/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'boundaryFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/boundaryFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/boundaryFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_boundaryFoam = executable(
+    'boundaryFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/icoFoam/meson.build b/applications/solvers/incompressible/icoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f1fc78fee7fba4aecd07ab10195ea04e6ac14f43
--- /dev/null
+++ b/applications/solvers/incompressible/icoFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'icoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/icoFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/icoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_icoFoam = executable(
+    'icoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/meson.build b/applications/solvers/incompressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bf8276375ad5c90d24cfcc9861fa36e0c578ca5e
--- /dev/null
+++ b/applications/solvers/incompressible/meson.build
@@ -0,0 +1,9 @@
+subdir('adjointOptimisationFoam')
+subdir('adjointShapeOptimizationFoam')
+subdir('boundaryFoam')
+subdir('icoFoam')
+subdir('nonNewtonianIcoFoam')
+subdir('pimpleFoam')
+subdir('pisoFoam')
+subdir('shallowWaterFoam')
+subdir('simpleFoam')
diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/meson.build b/applications/solvers/incompressible/nonNewtonianIcoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7c2f52789665af0671694d156843707a13e07449
--- /dev/null
+++ b/applications/solvers/incompressible/nonNewtonianIcoFoam/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'nonNewtonianIcoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_incompressibleTransportModels,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/nonNewtonianIcoFoam',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/nonNewtonianIcoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_nonNewtonianIcoFoam = executable(
+    'nonNewtonianIcoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/meson.build b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..52c8a2d1185f2ef6e8527d317d24f34a2fc4a506
--- /dev/null
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'SRFPimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_SRFPimpleFoam = executable(
+    'SRFPimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/pimpleFoam/meson.build b/applications/solvers/incompressible/pimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..850464d6cbb1fa11717e2c8608959d98c28889d7
--- /dev/null
+++ b/applications/solvers/incompressible/pimpleFoam/meson.build
@@ -0,0 +1,53 @@
+subdir('SRFPimpleFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'pimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_atmosphericModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/pimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_pimpleFoam = executable(
+    'pimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overPimpleDyMFoam')
diff --git a/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/meson.build b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bbd46196dc6c9fda616a0d98aca05cbc227d45ed
--- /dev/null
+++ b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'overPimpleDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overPimpleDyMFoam = executable(
+    'overPimpleDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/pisoFoam/meson.build b/applications/solvers/incompressible/pisoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..48658c6cf9b1874acce0bdc90799ecb88b7e9b42
--- /dev/null
+++ b/applications/solvers/incompressible/pisoFoam/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'pisoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pisoFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/pisoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_pisoFoam = executable(
+    'pisoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/shallowWaterFoam/meson.build b/applications/solvers/incompressible/shallowWaterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d84df923961d7c8e6fae3a9e245052031365a16d
--- /dev/null
+++ b/applications/solvers/incompressible/shallowWaterFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'shallowWaterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/shallowWaterFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/shallowWaterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_shallowWaterFoam = executable(
+    'shallowWaterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/meson.build b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f0cbbec4096e571a1ff59d50b347e941368acbc5
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'SRFSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam/SRFSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/simpleFoam/SRFSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_SRFSimpleFoam = executable(
+    'SRFSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/simpleFoam/meson.build b/applications/solvers/incompressible/simpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..95f7fe145519a1bdcda3179312c777cff4dd7e16
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/meson.build
@@ -0,0 +1,46 @@
+subdir('SRFSimpleFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'simpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_atmosphericModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/simpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_simpleFoam = executable(
+    'simpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overSimpleFoam')
+subdir('porousSimpleFoam')
diff --git a/applications/solvers/incompressible/simpleFoam/overSimpleFoam/meson.build b/applications/solvers/incompressible/simpleFoam/overSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..06cde207594b8fc65f1483a4730212820da90b77
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/overSimpleFoam/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'overSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam/overSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/simpleFoam/overSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overSimpleFoam = executable(
+    'overSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/meson.build b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3ee05ed38b2912cc9b9e075c582b943891ec5df0
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'porousSimpleFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam/porousSimpleFoam',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/simpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/incompressible/simpleFoam/porousSimpleFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_porousSimpleFoam = executable(
+    'porousSimpleFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/meson.build b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..809a8cd431b89da045c06a20bfd3698ea103d71e
--- /dev/null
+++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/meson.build
@@ -0,0 +1,71 @@
+srcfiles = [
+    lnInclude_hack,
+    'MPPICDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_radiationModels,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_DPMTurbulenceModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_MPPICDyMFoam = executable(
+    'MPPICDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/meson.build b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1b01961ecb80effd65843600353a0fa76e10e45f
--- /dev/null
+++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/meson.build
@@ -0,0 +1,72 @@
+subdir('MPPICDyMFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'DPMDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_radiationModels,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_DPMTurbulenceModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/DPMFoam/DPMDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_DPMDyMFoam = executable(
+    'DPMDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/meson.build b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5d01261afd083f327218b6a4d09794b046003180
--- /dev/null
+++ b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'DPMTurbulenceModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_DPMTurbulenceModels = library(
+    'DPMTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_DPMTurbulenceModels)
diff --git a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/meson.build b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5b43ea31037eaed4b51b51e29f6569eefd5fb423
--- /dev/null
+++ b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/meson.build
@@ -0,0 +1,65 @@
+srcfiles = [
+    lnInclude_hack,
+    'MPPICFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_radiationModels,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_DPMTurbulenceModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/MPPICFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/DPMFoam/MPPICFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_MPPICFoam = executable(
+    'MPPICFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/DPMFoam/meson.build b/applications/solvers/lagrangian/DPMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d82a4c7ec00ada9321006bd7f03a38ad10211abb
--- /dev/null
+++ b/applications/solvers/lagrangian/DPMFoam/meson.build
@@ -0,0 +1,67 @@
+subdir('DPMTurbulenceModels')
+subdir('DPMDyMFoam')
+subdir('MPPICFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'DPMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_radiationModels,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_DPMTurbulenceModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/DPMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_DPMFoam = executable(
+    'DPMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/meson.build b/applications/solvers/lagrangian/coalChemistryFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..71dfd7f4cf4b5f2eb59744b0db07a097c0f0b339
--- /dev/null
+++ b/applications/solvers/lagrangian/coalChemistryFoam/meson.build
@@ -0,0 +1,77 @@
+srcfiles = [
+    lnInclude_hack,
+    'coalChemistryFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_coalCombustion,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_ODE,
+    lib_combustionModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/coalChemistryFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/coalCombustion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/coalChemistryFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_coalChemistryFoam = executable(
+    'coalChemistryFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/meson.build b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a82b4d0f8982807c3cec6e5e5184fbb396e0dd7b
--- /dev/null
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/meson.build
@@ -0,0 +1,68 @@
+srcfiles = [
+    lnInclude_hack,
+    'icoUncoupledKinematicParcelDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_icoUncoupledKinematicParcelDyMFoam = executable(
+    'icoUncoupledKinematicParcelDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/meson.build b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3da3147354f20f1f97d3460baceb7a8d1c85589d
--- /dev/null
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/meson.build
@@ -0,0 +1,64 @@
+srcfiles = [
+    lnInclude_hack,
+    'icoUncoupledKinematicParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_icoUncoupledKinematicParcelFoam = executable(
+    'icoUncoupledKinematicParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('icoUncoupledKinematicParcelDyMFoam')
diff --git a/applications/solvers/lagrangian/kinematicParcelFoam/meson.build b/applications/solvers/lagrangian/kinematicParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0515d8a4914d9536efc6a3f5cb81443277a86bfc
--- /dev/null
+++ b/applications/solvers/lagrangian/kinematicParcelFoam/meson.build
@@ -0,0 +1,64 @@
+srcfiles = [
+    lnInclude_hack,
+    'kinematicParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_atmosphericModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_surfaceFilmDerivedFvPatchFields,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/kinematicParcelFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/kinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_kinematicParcelFoam = executable(
+    'kinematicParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/meson.build b/applications/solvers/lagrangian/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..66db7adf94c004ccdfe3269aabf61760eee859bf
--- /dev/null
+++ b/applications/solvers/lagrangian/meson.build
@@ -0,0 +1,8 @@
+subdir('DPMFoam')
+subdir('coalChemistryFoam')
+subdir('icoUncoupledKinematicParcelFoam')
+subdir('kinematicParcelFoam')
+subdir('reactingParcelFoam')
+subdir('simpleCoalParcelFoam')
+subdir('sprayFoam')
+subdir('uncoupledKinematicParcelFoam')
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/meson.build b/applications/solvers/lagrangian/reactingParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3e08dd04ebe93fe0d2f180f49bd90f5ac98fe703
--- /dev/null
+++ b/applications/solvers/lagrangian/reactingParcelFoam/meson.build
@@ -0,0 +1,84 @@
+srcfiles = [
+    lnInclude_hack,
+    'reactingParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_regionModels,
+    lib_radiationModels,
+    lib_surfaceFilmModels,
+    lib_surfaceFilmDerivedFvPatchFields,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_ODE,
+    lib_combustionModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reactingParcelFoam = executable(
+    'reactingParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('reactingHeterogenousParcelFoam')
+subdir('simpleReactingParcelFoam')
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/meson.build b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4d559505d7c07ffed306ed92f47a4b5e72ef99a6
--- /dev/null
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/meson.build
@@ -0,0 +1,80 @@
+srcfiles = [
+    lnInclude_hack,
+    'reactingHeterogenousParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_sampling,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_regionModels,
+    lib_radiationModels,
+    lib_surfaceFilmModels,
+    lib_surfaceFilmDerivedFvPatchFields,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_ODE,
+    lib_combustionModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reactingHeterogenousParcelFoam = executable(
+    'reactingHeterogenousParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/meson.build b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e6e4718742183ca1c166e1b5022a6fb8a9fc309
--- /dev/null
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/meson.build
@@ -0,0 +1,76 @@
+srcfiles = [
+    lnInclude_hack,
+    'simpleReactingParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/coalCombustion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + meson.source_root() / 'applications/solvers/combustion/reactingFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_simpleReactingParcelFoam = executable(
+    'simpleReactingParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/simpleCoalParcelFoam/meson.build b/applications/solvers/lagrangian/simpleCoalParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4ed3339a55883ccf3bcdc33f17ca72debffcc32b
--- /dev/null
+++ b/applications/solvers/lagrangian/simpleCoalParcelFoam/meson.build
@@ -0,0 +1,76 @@
+srcfiles = [
+    lnInclude_hack,
+    'simpleCoalParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_sampling,
+    lib_coalCombustion,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/simpleCoalParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/coalCombustion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/simpleCoalParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_simpleCoalParcelFoam = executable(
+    'simpleCoalParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/sprayFoam/engineFoam/meson.build b/applications/solvers/lagrangian/sprayFoam/engineFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f18ba2a41aea8ca74b8021ed36031a40f12a4140
--- /dev/null
+++ b/applications/solvers/lagrangian/sprayFoam/engineFoam/meson.build
@@ -0,0 +1,81 @@
+srcfiles = [
+    lnInclude_hack,
+    'engineFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_lagrangianSpray,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_engine,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam/engineFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam/sprayDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/sprayFoam/engineFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_engineFoam = executable(
+    'engineFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/sprayFoam/meson.build b/applications/solvers/lagrangian/sprayFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ca0d2fc91ad221fd8535a107d92bfacbff026447
--- /dev/null
+++ b/applications/solvers/lagrangian/sprayFoam/meson.build
@@ -0,0 +1,82 @@
+subdir('engineFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'sprayFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_lagrangianSpray,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/sprayFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sprayFoam = executable(
+    'sprayFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('simpleSprayFoam')
+subdir('sprayDyMFoam')
diff --git a/applications/solvers/lagrangian/sprayFoam/simpleSprayFoam/meson.build b/applications/solvers/lagrangian/sprayFoam/simpleSprayFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..65ada28d5dcd4b992ca460293c048c31cb1a2b21
--- /dev/null
+++ b/applications/solvers/lagrangian/sprayFoam/simpleSprayFoam/meson.build
@@ -0,0 +1,77 @@
+srcfiles = [
+    lnInclude_hack,
+    'simpleSprayFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianSpray,
+    lib_lagrangianTurbulence,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_sampling,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam/simpleSprayFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/sprayFoam/simpleSprayFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_simpleSprayFoam = executable(
+    'simpleSprayFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/meson.build b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a4f8881a6a78d598d1bc988ef8b3a61cedb1224
--- /dev/null
+++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/meson.build
@@ -0,0 +1,84 @@
+srcfiles = [
+    lnInclude_hack,
+    'sprayDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_lagrangianSpray,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_chemistryModel,
+    lib_radiationModels,
+    lib_ODE,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_combustionModels,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_dynamicMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam/sprayDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/sprayFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/reactingParcelFoam',
+    '-I' + meson.source_root() / 'applications/solvers/compressible/rhoPimpleFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/sprayFoam/sprayDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_sprayDyMFoam = executable(
+    'sprayDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/meson.build b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..15271d87acd0c45933c13fad8b70f99fd22814d3
--- /dev/null
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/meson.build
@@ -0,0 +1,62 @@
+srcfiles = [
+    lnInclude_hack,
+    'uncoupledKinematicParcelFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/uncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/uncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_uncoupledKinematicParcelFoam = executable(
+    'uncoupledKinematicParcelFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('uncoupledKinematicParcelDyMFoam')
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/meson.build b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7dbe4006d7ab4c3f97532a36e2cf07b34c458523
--- /dev/null
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/meson.build
@@ -0,0 +1,66 @@
+srcfiles = [
+    lnInclude_hack,
+    'uncoupledKinematicParcelDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/lagrangian/uncoupledKinematicParcelFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_uncoupledKinematicParcelDyMFoam = executable(
+    'uncoupledKinematicParcelDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/meson.build b/applications/solvers/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..58270d8ff8a242a3eb7fd5ed62a170cc5a186801
--- /dev/null
+++ b/applications/solvers/meson.build
@@ -0,0 +1,14 @@
+subdir('DNS')
+subdir('acoustic')
+subdir('basic')
+subdir('combustion')
+subdir('compressible')
+subdir('discreteMethods')
+subdir('electromagnetics')
+subdir('financial')
+subdir('finiteArea')
+subdir('heatTransfer')
+subdir('incompressible')
+subdir('lagrangian')
+subdir('multiphase')
+subdir('stressAnalysis')
diff --git a/applications/solvers/multiphase/MPPICInterFoam/compressibleTwoPhaseMixtureTurbulenceModels/meson.build b/applications/solvers/multiphase/MPPICInterFoam/compressibleTwoPhaseMixtureTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..19a7b3ef3cd9533bf5c9fe88e27469af8c1f4ab2
--- /dev/null
+++ b/applications/solvers/multiphase/MPPICInterFoam/compressibleTwoPhaseMixtureTurbulenceModels/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleTwoPhaseMixtureTurbulenceModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_incompressibleTransportModels,
+    lib_immiscibleIncompressibleTwoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/MPPICInterFoam/compressibleTwoPhaseMixtureTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/MPPICInterFoam/compressibleTwoPhaseMixtureTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_compressibleTwoPhaseMixtureTurbulenceModels = library(
+    'compressibleTwoPhaseMixtureTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_compressibleTwoPhaseMixtureTurbulenceModels)
diff --git a/applications/solvers/multiphase/MPPICInterFoam/meson.build b/applications/solvers/multiphase/MPPICInterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f0225be235c819f2089783b31afccac6967ec4ab
--- /dev/null
+++ b/applications/solvers/multiphase/MPPICInterFoam/meson.build
@@ -0,0 +1,71 @@
+subdir('compressibleTwoPhaseMixtureTurbulenceModels')
+
+srcfiles = [
+    lnInclude_hack,
+    'MPPICInterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_thermophysicalProperties,
+    lib_specie,
+    lib_incompressibleTransportModels,
+    lib_immiscibleIncompressibleTwoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_sampling,
+    lib_regionModels,
+    lib_regionFaModels,
+    lib_surfaceFilmModels,
+    lib_finiteArea,
+    lib_compressibleTwoPhaseMixtureTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/MPPICInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/MPPICInterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_MPPICInterFoam = executable(
+    'MPPICInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/meson.build b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cae61b80d9562891d8649e6142ecaec71082e880
--- /dev/null
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/meson.build
@@ -0,0 +1,48 @@
+srcfiles = [
+    lnInclude_hack,
+    'cavitatingDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_barotropicCompressibilityModel,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/cavitatingFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/barotropicCompressibilityModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_cavitatingDyMFoam = executable(
+    'cavitatingDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/cavitatingFoam/meson.build b/applications/solvers/multiphase/cavitatingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9ff37401aff81cf2ee6d743e71418475043a97d2
--- /dev/null
+++ b/applications/solvers/multiphase/cavitatingFoam/meson.build
@@ -0,0 +1,45 @@
+subdir('cavitatingDyMFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'cavitatingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_barotropicCompressibilityModel,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/cavitatingFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/barotropicCompressibilityModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/cavitatingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_cavitatingFoam = executable(
+    'cavitatingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels/meson.build b/applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5e000ebc4e1308deed7907aa501e3598c178b1f2
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'VoFphaseCompressibleTurbulenceModels.C',
+    'compressibleInterPhaseTransportModel.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_twoPhaseMixtureThermo,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_incompressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_VoFphaseCompressibleTurbulenceModels = library(
+    'VoFphaseCompressibleTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_VoFphaseCompressibleTurbulenceModels)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/meson.build b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0985a7e71ae4d01969add424562edd47bc16a962
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/meson.build
@@ -0,0 +1,58 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleInterDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_twoPhaseMixtureThermo,
+    lib_twoPhaseSurfaceTension,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_VoFphaseCompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_compressibleInterDyMFoam = executable(
+    'compressibleInterDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/meson.build b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..597a0caafb4c10ef9790f9e318bc884529835f0b
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/meson.build
@@ -0,0 +1,71 @@
+srcfiles = [
+    lnInclude_hack,
+    'VoFPatchTransfer/VoFPatchTransfer.C',
+    'VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.C',
+    'VoFSolidificationMeltingSource/VoFSolidificationMeltingSourceIO.C',
+    'compressibleInterFilmFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_twoPhaseMixtureThermo,
+    lib_twoPhaseSurfaceTension,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_VoFphaseCompressibleTurbulenceModels,
+    lib_SLGThermo,
+    lib_surfaceFilmModels,
+    lib_surfaceFilmDerivedFvPatchFields,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_compressibleInterFilmFoam = executable(
+    'compressibleInterFilmFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/meson.build b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c1af8c29160be155eb4c429b246a62606f01bec3
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam/meson.build
@@ -0,0 +1,64 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleInterIsoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_twoPhaseMixtureThermo,
+    lib_twoPhaseProperties,
+    lib_twoPhaseSurfaceTension,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_VoFphaseCompressibleTurbulenceModels,
+    lib_geometricVoF,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/compressibleInterIsoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_compressibleInterIsoFoam = executable(
+    'compressibleInterIsoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/meson.build b/applications/solvers/multiphase/compressibleInterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5574388a29fe4c280ea13e41a53a7cf0b0958c9f
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/meson.build
@@ -0,0 +1,62 @@
+subdir('twoPhaseMixtureThermo')
+subdir('surfaceTensionModels')
+subdir('VoFphaseCompressibleTurbulenceModels')
+subdir('compressibleInterDyMFoam')
+subdir('compressibleInterFilmFoam')
+subdir('compressibleInterIsoFoam')
+
+srcfiles = [
+    lnInclude_hack,
+    'compressibleInterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_twoPhaseMixtureThermo,
+    lib_twoPhaseSurfaceTension,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_VoFphaseCompressibleTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_compressibleInterFoam = executable(
+    'compressibleInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('overCompressibleInterDyMFoam')
diff --git a/applications/solvers/multiphase/compressibleInterFoam/overCompressibleInterDyMFoam/meson.build b/applications/solvers/multiphase/compressibleInterFoam/overCompressibleInterDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..72c976f9bdbda9878f46b409a5149b34b74af993
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/overCompressibleInterDyMFoam/meson.build
@@ -0,0 +1,64 @@
+srcfiles = [
+    lnInclude_hack,
+    'overCompressibleInterDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_twoPhaseMixtureThermo,
+    lib_twoPhaseSurfaceTension,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_VoFphaseCompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+    lib_waveModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/overCompressibleInterDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/overInterDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/VoFphaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/overCompressibleInterDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overCompressibleInterDyMFoam = executable(
+    'overCompressibleInterDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/meson.build b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0bb8e964248a911f20857db77386fefd4c86c4c0
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'liquidProperties/liquidPropertiesSurfaceTension.C',
+]
+link_with = [
+    lib_interfaceProperties,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_twoPhaseSurfaceTension = library(
+    'twoPhaseSurfaceTension',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_twoPhaseSurfaceTension)
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/meson.build b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4210e5acf7ea805228943232ffa81d9f3f6c57f5
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoPhaseMixtureThermo.C',
+]
+link_with = [
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_twoPhaseMixture,
+    lib_interfaceProperties,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_twoPhaseMixtureThermo = library(
+    'twoPhaseMixtureThermo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_twoPhaseMixtureThermo)
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/meson.build b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..aeb8fa69d075371fefacdc4746405dac7730853e
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/meson.build
@@ -0,0 +1,50 @@
+subdir('multiphaseMixtureThermo')
+
+srcfiles = [
+    lnInclude_hack,
+    'compressibleMultiphaseInterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_multiphaseMixtureThermo,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleMultiphaseInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleMultiphaseInterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_compressibleMultiphaseInterFoam = executable(
+    'compressibleMultiphaseInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/meson.build b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3ac6063b8d27a0cd4c8db0e0eb6e907931b3780b
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseModel/phaseModel.C',
+    'alphaContactAngle/alphaContactAngleFvPatchScalarField.C',
+    'multiphaseMixtureThermo.C',
+]
+link_with = [
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_multiphaseMixtureThermo = library(
+    'multiphaseMixtureThermo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_multiphaseMixtureThermo)
diff --git a/applications/solvers/multiphase/driftFluxFoam/meson.build b/applications/solvers/multiphase/driftFluxFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..31e0f10aee243148b869e0822fa7ed90f3eddb8e
--- /dev/null
+++ b/applications/solvers/multiphase/driftFluxFoam/meson.build
@@ -0,0 +1,54 @@
+subdir('mixtureViscosityModels')
+subdir('relativeVelocityModels')
+
+srcfiles = [
+    lnInclude_hack,
+    'incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C',
+    'compressibleTurbulenceModels.C',
+    'driftFluxFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_incompressibleTransportModels,
+    lib_twoPhaseMixture,
+    lib_driftFluxTransportModels,
+    lib_driftFluxRelativeVelocityModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_driftFluxFoam = executable(
+    'driftFluxFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/meson.build b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e508e2196d24674c741012773d2df6f3da68ee42
--- /dev/null
+++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'mixtureViscosityModel/mixtureViscosityModel.C',
+    'mixtureViscosityModel/mixtureViscosityModelNew.C',
+    'plastic/plastic.C',
+    'BinghamPlastic/BinghamPlastic.C',
+    'slurry/slurry.C',
+]
+link_with = [
+    lib_twoPhaseMixture,
+    lib_incompressibleTransportModels,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_driftFluxTransportModels = library(
+    'driftFluxTransportModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_driftFluxTransportModels)
diff --git a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/meson.build b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e42f7598f2fa1ddda6457c36bfbc9a07c8e3b1b1
--- /dev/null
+++ b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'relativeVelocityModel/relativeVelocityModel.C',
+    'simple/simple.C',
+    'general/general.C',
+]
+link_with = [
+    lib_incompressibleTransportModels,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_driftFluxRelativeVelocityModels = library(
+    'driftFluxRelativeVelocityModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_driftFluxRelativeVelocityModels)
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/meson.build b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3626723ad0102e2010a5bf8d5a1bf3f65e4c109f
--- /dev/null
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'laserDTRM.C',
+    'DTRMParticle/DTRMParticle.C',
+    'DTRMParticle/DTRMParticleIO.C',
+    'localDensityAbsorptionEmission/localDensityAbsorptionEmission.C',
+    'reflectionModel/reflectionModel/reflectionModel.C',
+    'reflectionModel/reflectionModel/reflectionModelNew.C',
+    'reflectionModel/noReflection/noReflection.C',
+    'reflectionModel/FresnelLaser/FresnelLaser.C',
+    'reflectionModel/Fresnel/Fresnel.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_radiationModels,
+    lib_incompressibleMultiphaseSystems,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/icoReactingMultiphaseInterFoam/laserDTRM',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_laserDTRM = library(
+    'laserDTRM',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_laserDTRM)
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/meson.build b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b1af414408fc1cd72853cae12d87bf3a5c84ed07
--- /dev/null
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/meson.build
@@ -0,0 +1,60 @@
+subdir('laserDTRM')
+
+srcfiles = [
+    lnInclude_hack,
+    'icoReactingMultiphaseInterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicFvMesh,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_radiationModels,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_solidSpecie,
+    lib_twoPhaseProperties,
+    lib_laserDTRM,
+    lib_incompressibleMultiphaseSystems,
+    lib_compressibleMultiPhaseTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/icoReactingMultiphaseInterFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/icoReactingMultiphaseInterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_icoReactingMultiphaseInterFoam = executable(
+    'icoReactingMultiphaseInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/meson.build b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4ba527899b4e4cedd7ee5dd4ece715ec95751af1
--- /dev/null
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/meson.build
@@ -0,0 +1,57 @@
+subdir('temperaturePhaseChangeTwoPhaseMixtures')
+
+srcfiles = [
+    lnInclude_hack,
+    'interCondensatingEvaporatingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicFvMesh,
+    lib_phaseTemperatureChangeTwoPhaseMixtures,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_fluidThermophysicalModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interCondensatingEvaporatingFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interCondensatingEvaporatingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interCondensatingEvaporatingFoam = executable(
+    'interCondensatingEvaporatingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/meson.build b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..67b84ba2a34f952ad3611441926b54d2a3d60ac0
--- /dev/null
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/meson.build
@@ -0,0 +1,44 @@
+srcfiles = [
+    lnInclude_hack,
+    'temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.C',
+    'temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtureNew.C',
+    'thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C',
+    'twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C',
+    'constant/constant.C',
+    'interfaceHeatResistance/interfaceHeatResistance.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_geometricVoF,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_fluidThermophysicalModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_phaseTemperatureChangeTwoPhaseMixtures = library(
+    'phaseTemperatureChangeTwoPhaseMixtures',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_phaseTemperatureChangeTwoPhaseMixtures)
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/meson.build b/applications/solvers/multiphase/interFoam/interMixingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..66993db651a96933938eed7ac94fb0e454ff50c6
--- /dev/null
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/meson.build
@@ -0,0 +1,56 @@
+srcfiles = [
+    lnInclude_hack,
+    'incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C',
+    'threePhaseInterfaceProperties/threePhaseInterfaceProperties.C',
+    'immiscibleIncompressibleThreePhaseMixture/immiscibleIncompressibleThreePhaseMixture.C',
+    'interMixingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_interfaceProperties,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicFvMesh,
+    lib_waveModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/interMixingFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/interMixingFoam/immiscibleIncompressibleThreePhaseMixture',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/interMixingFoam/threePhaseInterfaceProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interFoam/interMixingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interMixingFoam = executable(
+    'interMixingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interFoam/meson.build b/applications/solvers/multiphase/interFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1da65f59da09f2158109486c9021a625f7d79ea3
--- /dev/null
+++ b/applications/solvers/multiphase/interFoam/meson.build
@@ -0,0 +1,58 @@
+srcfiles = [
+    lnInclude_hack,
+    'interFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicFvMesh,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_immiscibleIncompressibleTwoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_waveModels,
+    lib_VoFphaseTurbulentTransportModels,
+    lib_incompressibleInterPhaseTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interFoam = executable(
+    'interFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('interMixingFoam')
+subdir('overInterDyMFoam')
diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/meson.build b/applications/solvers/multiphase/interFoam/overInterDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..59a5a22656aa75e039258fead534a94e0980188c
--- /dev/null
+++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/meson.build
@@ -0,0 +1,56 @@
+srcfiles = [
+    lnInclude_hack,
+    'overInterDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_sampling,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_immiscibleIncompressibleTwoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+    lib_waveModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/overInterDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interFoam/overInterDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overInterDyMFoam = executable(
+    'overInterDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interIsoFoam/meson.build b/applications/solvers/multiphase/interIsoFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..14e89149d848defd4b0c01be1df2ce07a119a043
--- /dev/null
+++ b/applications/solvers/multiphase/interIsoFoam/meson.build
@@ -0,0 +1,62 @@
+srcfiles = [
+    lnInclude_hack,
+    'interIsoFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicFvMesh,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_immiscibleIncompressibleTwoPhaseMixture,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_waveModels,
+    lib_geometricVoF,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_VoFphaseTurbulentTransportModels,
+    lib_incompressibleInterPhaseTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interIsoFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interIsoFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interIsoFoam = executable(
+    'interIsoFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/meson.build b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b96d2dfb4b0a91705f86158f0b90c7649aa9f2e5
--- /dev/null
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/meson.build
@@ -0,0 +1,53 @@
+srcfiles = [
+    lnInclude_hack,
+    'interPhaseChangeDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_phaseChangeTwoPhaseMixtures,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interPhaseChangeDyMFoam = executable(
+    'interPhaseChangeDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/meson.build b/applications/solvers/multiphase/interPhaseChangeFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..425403a134498997e46f414da874445152d978c3
--- /dev/null
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/meson.build
@@ -0,0 +1,52 @@
+subdir('phaseChangeTwoPhaseMixtures')
+
+srcfiles = [
+    lnInclude_hack,
+    'interPhaseChangeFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_phaseChangeTwoPhaseMixtures,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_interPhaseChangeFoam = executable(
+    'interPhaseChangeFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('interPhaseChangeDyMFoam')
+subdir('overInterPhaseChangeDyMFoam')
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/overInterPhaseChangeDyMFoam/meson.build b/applications/solvers/multiphase/interPhaseChangeFoam/overInterPhaseChangeDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b700911dbf822fee5a26afd3bfa2e4827e4903e9
--- /dev/null
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/overInterPhaseChangeDyMFoam/meson.build
@@ -0,0 +1,58 @@
+srcfiles = [
+    lnInclude_hack,
+    'overInterPhaseChangeDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_phaseChangeTwoPhaseMixtures,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+    lib_overset,
+    lib_waveModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam/overInterPhaseChangeDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam/overInterDyMFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures',
+    '-I' + meson.source_root() / 'applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/overInterPhaseChangeDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_overInterPhaseChangeDyMFoam = executable(
+    'overInterPhaseChangeDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/meson.build b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a3d9521cfa66511c02658facc9b9db0f3ebadfe9
--- /dev/null
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C',
+    'phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixtureNew.C',
+    'Kunz/Kunz.C',
+    'Merkle/Merkle.C',
+    'SchnerrSauer/SchnerrSauer.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_incompressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_phaseChangeTwoPhaseMixtures = library(
+    'phaseChangeTwoPhaseMixtures',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_phaseChangeTwoPhaseMixtures)
diff --git a/applications/solvers/multiphase/meson.build b/applications/solvers/multiphase/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..eab58285fcbc0d7bdd3194865b0e2ff95866c4e9
--- /dev/null
+++ b/applications/solvers/multiphase/meson.build
@@ -0,0 +1,17 @@
+subdir('MPPICInterFoam')
+subdir('cavitatingFoam')
+subdir('compressibleInterFoam')
+subdir('compressibleMultiphaseInterFoam')
+subdir('driftFluxFoam')
+subdir('icoReactingMultiphaseInterFoam')
+subdir('interCondensatingEvaporatingFoam')
+subdir('interFoam')
+subdir('interIsoFoam')
+subdir('interPhaseChangeFoam')
+subdir('multiphaseEulerFoam')
+subdir('multiphaseInterFoam')
+subdir('potentialFreeSurfaceFoam')
+subdir('reactingMultiphaseEulerFoam')
+subdir('reactingTwoPhaseEulerFoam')
+subdir('twoLiquidMixingFoam')
+subdir('twoPhaseEulerFoam')
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/meson.build b/applications/solvers/multiphase/multiphaseEulerFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..25fcb652c98760b3b404b072964ef91c28ee9ef0
--- /dev/null
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'multiphaseEulerFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_multiphaseSystem,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/multiphaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/multiphaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_multiphaseEulerFoam = executable(
+    'multiphaseEulerFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/meson.build b/applications/solvers/multiphase/multiphaseInterFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ca1350c7f891ac2ac415a382e072ff2d6f97bfe5
--- /dev/null
+++ b/applications/solvers/multiphase/multiphaseInterFoam/meson.build
@@ -0,0 +1,50 @@
+subdir('multiphaseMixture')
+
+srcfiles = [
+    lnInclude_hack,
+    'multiphaseInterFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_multiphaseInterFoam,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/multiphaseInterFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/multiphaseInterFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_multiphaseInterFoam = executable(
+    'multiphaseInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/meson.build b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..eb57f6a1757bb199abd258e647810bbe061ac088
--- /dev/null
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'phase/phase.C',
+    'alphaContactAngle/alphaContactAngleFvPatchScalarField.C',
+    'multiphaseMixture.C',
+]
+link_with = [
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/alphaContactAngle',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_multiphaseInterFoam = library(
+    'multiphaseInterFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_multiphaseInterFoam)
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/meson.build b/applications/solvers/multiphase/potentialFreeSurfaceFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4bde8de7b0e75918b0c711af6bc8e59df0ce184d
--- /dev/null
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/meson.build
@@ -0,0 +1,42 @@
+srcfiles = [
+    lnInclude_hack,
+    'potentialFreeSurfaceFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/potentialFreeSurfaceFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/potentialFreeSurfaceFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_potentialFreeSurfaceFoam = executable(
+    'potentialFreeSurfaceFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+
+subdir('potentialFreeSurfaceDyMFoam')
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/meson.build b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6747544f1b37bf948e624c558118dbc08a07bbcb
--- /dev/null
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'potentialFreeSurfaceDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_topoChangerFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/potentialFreeSurfaceFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/interFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_potentialFreeSurfaceDyMFoam = executable(
+    'potentialFreeSurfaceDyMFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/reactingMultiphaseEulerFoam/meson.build b/applications/solvers/multiphase/reactingMultiphaseEulerFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..600bde35fb289b716c1f87e7b52f04b297d0a09d
--- /dev/null
+++ b/applications/solvers/multiphase/reactingMultiphaseEulerFoam/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'reactingMultiphaseEulerFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_reactingMultiphaseSystem,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/reactingMultiphaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/reactingMultiphaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reactingMultiphaseEulerFoam = executable(
+    'reactingMultiphaseEulerFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/meson.build b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..21fd2734a936dc69e4d0adcf035d790e58ba559f
--- /dev/null
+++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'reactingTwoPhaseEulerFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_reactingMultiphaseSystem,
+    lib_reactingTwoPhaseSystem,
+    lib_twoPhaseReactingTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/reactingTwoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/reactingTwoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reactingTwoPhaseEulerFoam = executable(
+    'reactingTwoPhaseEulerFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/meson.build b/applications/solvers/multiphase/twoLiquidMixingFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7427b785ab53bdc0d455fed829cd53401e688d26
--- /dev/null
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/meson.build
@@ -0,0 +1,42 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoLiquidMixingFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/twoLiquidMixingFoam',
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/VoF',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/twoLiquidMixingFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_twoLiquidMixingFoam = executable(
+    'twoLiquidMixingFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/meson.build b/applications/solvers/multiphase/twoPhaseEulerFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..831cb5bd2d1357a57159cb0ea78d2f3820c179b9
--- /dev/null
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/meson.build
@@ -0,0 +1,50 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoPhaseEulerFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_incompressibleTransportModels,
+    lib_compressibleTwoPhaseSystem,
+    lib_phaseCompressibleTurbulenceModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/multiphase/twoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'applications/solvers/multiphase/twoPhaseEulerFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_twoPhaseEulerFoam = executable(
+    'twoPhaseEulerFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/stressAnalysis/meson.build b/applications/solvers/stressAnalysis/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a48bdce73d1be2ce69b173e7b86c39c6fe398703
--- /dev/null
+++ b/applications/solvers/stressAnalysis/meson.build
@@ -0,0 +1,2 @@
+subdir('solidDisplacementFoam')
+subdir('solidEquilibriumDisplacementFoam')
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/meson.build b/applications/solvers/stressAnalysis/solidDisplacementFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc2e70e970a229819af4c989c94dbf44f49bb79a
--- /dev/null
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'tractionDisplacement/tractionDisplacementFvPatchVectorField.C',
+    'solidDisplacementFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/stressAnalysis/solidDisplacementFoam',
+    '-I' + recursive_include_dirs / 'applications/solvers/stressAnalysis/solidDisplacementFoam/tractionDisplacement',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/stressAnalysis/solidDisplacementFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_solidDisplacementFoam = executable(
+    'solidDisplacementFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/meson.build b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..204a37373dd76ba090f218b02c15a1482609c167
--- /dev/null
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.C',
+    'solidEquilibriumDisplacementFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam',
+    '-I' + meson.source_root() / 'applications/solvers/stressAnalysis/solidDisplacementFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_solidEquilibriumDisplacementFoam = executable(
+    'solidEquilibriumDisplacementFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/test/00-dummy/library/dummy/meson.build b/applications/test/00-dummy/library/dummy/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..403822fc8a722941ff9c43f204b382a658519fdf
--- /dev/null
+++ b/applications/test/00-dummy/library/dummy/meson.build
@@ -0,0 +1,24 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyMpiLib.cpp',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library/dummy',
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library',
+    '-I' + recursive_include_dirs / 'applications/test/00-dummy/library/dummy',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_TestDummyMpi = library(
+    'dummy_slash_TestDummyMpi',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
+pkg.generate(lib_dummy_slash_TestDummyMpi)
diff --git a/applications/test/00-dummy/library/meson.build b/applications/test/00-dummy/library/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ab512e9ca0aa9e4212ccab946e0ed12add438d20
--- /dev/null
+++ b/applications/test/00-dummy/library/meson.build
@@ -0,0 +1,31 @@
+subdir('dummy')
+
+srcfiles = [
+    lnInclude_hack,
+    'dummyLib.cpp',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-DWM_ARCH=""',
+    '-DWM_COMPILER=""',
+    '-DWM_COMPILE_OPTION=""',
+    '-DWM_OPTIONS=""',
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library',
+    '-I' + recursive_include_dirs / 'applications/test/00-dummy/library',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_TestDummy_OpenFOAM = library(
+    'TestDummy_OpenFOAM',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
+pkg.generate(lib_TestDummy_OpenFOAM)
+
+subdir('mpi')
diff --git a/applications/test/00-dummy/library/mpi/meson.build b/applications/test/00-dummy/library/mpi/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c0b05d16aae0daa917d29ad1f04748f62bb9be95
--- /dev/null
+++ b/applications/test/00-dummy/library/mpi/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyMpiLib.cpp',
+]
+link_with = []
+dependencies = [
+    mpi_dep,
+]
+cpp_args = [
+    '-DMPICH_SKIP_MPICXX',
+    '-DOMPI_SKIP_MPICXX',
+    '-DFOAM_MPI=""',
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library/mpi',
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library',
+    '-I' + recursive_include_dirs / 'applications/test/00-dummy/library/mpi',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_TestDummyMpi = library(
+    'TestDummyMpi',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
+pkg.generate(lib_TestDummyMpi)
diff --git a/applications/test/00-dummy/meson.build b/applications/test/00-dummy/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..176119f48cac6b46ab7d417ff8d1ae2a841c3afe
--- /dev/null
+++ b/applications/test/00-dummy/meson.build
@@ -0,0 +1,32 @@
+subdir('library')
+
+srcfiles = [
+    lnInclude_hack,
+    'Test-dummyLib.cpp',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_TestDummy_OpenFOAM,
+    lib_TestDummyMpi,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/00-dummy',
+    '-I' + meson.source_root() / 'applications/test/00-dummy/library',
+    '-I' + recursive_include_dirs / 'applications/test/00-dummy',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dummyLib = executable(
+    'Test_dummyLib',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/00-machine-sizes/meson.build b/applications/test/00-machine-sizes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f64e226be8f49399fb5cd513fb375011ade0a51f
--- /dev/null
+++ b/applications/test/00-machine-sizes/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-machine-sizes.cpp',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/00-machine-sizes',
+    '-I' + recursive_include_dirs / 'applications/test/00-machine-sizes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_machine_sizes = executable(
+    'Test_machine_sizes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/00-openmp/meson.build b/applications/test/00-openmp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bdac8f4e0d4186e3f09c9bda2040928492a1adf6
--- /dev/null
+++ b/applications/test/00-openmp/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-openmp.cpp',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/00-openmp',
+    '-I' + recursive_include_dirs / 'applications/test/00-openmp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_openmp = executable(
+    'Test_openmp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/BinSum/meson.build b/applications/test/BinSum/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2a77c9f59cc7e12dd682ab0e9bf6dfc842dbf84f
--- /dev/null
+++ b/applications/test/BinSum/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-BinSum.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/BinSum',
+    '-I' + recursive_include_dirs / 'applications/test/BinSum',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_BinSum = executable(
+    'Test_BinSum',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/CircularBuffer/meson.build b/applications/test/CircularBuffer/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..153bcdf1f882c6d67d03a048e21cd0f7c3c414a1
--- /dev/null
+++ b/applications/test/CircularBuffer/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-CircularBuffer.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/CircularBuffer',
+    '-I' + recursive_include_dirs / 'applications/test/CircularBuffer',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_CircularBuffer = executable(
+    'Test_CircularBuffer',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Circulator/meson.build b/applications/test/Circulator/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5e6ae155c9682161cd483fddd00135aa020ccbb4
--- /dev/null
+++ b/applications/test/Circulator/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Circulator.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Circulator',
+    '-I' + recursive_include_dirs / 'applications/test/Circulator',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Circulator = executable(
+    'Test_Circulator',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/CompactIOList/meson.build b/applications/test/CompactIOList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e85f2f5e85212c146780c9215a2411914b3b49e9
--- /dev/null
+++ b/applications/test/CompactIOList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-CompactIOList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/CompactIOList',
+    '-I' + recursive_include_dirs / 'applications/test/CompactIOList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_CompactIOList = executable(
+    'Test_CompactIOList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/CompactListList/meson.build b/applications/test/CompactListList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8e2c517ccd9ee18145e5e62e00bf802d49be407c
--- /dev/null
+++ b/applications/test/CompactListList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-CompactListList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/CompactListList',
+    '-I' + recursive_include_dirs / 'applications/test/CompactListList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_CompactListList = executable(
+    'Test_CompactListList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DLList/meson.build b/applications/test/DLList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..53cffa8228d72ec3fc9b3c4213d132c2e0932d89
--- /dev/null
+++ b/applications/test/DLList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DLList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DLList',
+    '-I' + recursive_include_dirs / 'applications/test/DLList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DLList = executable(
+    'Test_DLList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DiagTensor/meson.build b/applications/test/DiagTensor/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7d8f568395a3de9a4918d714fdf21f158efc60c2
--- /dev/null
+++ b/applications/test/DiagTensor/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DiagTensor.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DiagTensor',
+    '-I' + recursive_include_dirs / 'applications/test/DiagTensor',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DiagTensor = executable(
+    'Test_DiagTensor',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Dictionary/meson.build b/applications/test/Dictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1b3153459be25d48a98fb043bfcef94b6582c220
--- /dev/null
+++ b/applications/test/Dictionary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Dictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Dictionary',
+    '-I' + recursive_include_dirs / 'applications/test/Dictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Dictionary = executable(
+    'Test_Dictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DirLister/meson.build b/applications/test/DirLister/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bebe7f6b20016d7e8288c5898a20343e7405d185
--- /dev/null
+++ b/applications/test/DirLister/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DirLister.C',
+    'DirLister.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DirLister',
+    '-I' + recursive_include_dirs / 'applications/test/DirLister',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DirLister = executable(
+    'Test_DirLister',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Distribution/meson.build b/applications/test/Distribution/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c1efb2a167804b79b7b7dd798ea52a0501ac014d
--- /dev/null
+++ b/applications/test/Distribution/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Distribution.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Distribution',
+    '-I' + recursive_include_dirs / 'applications/test/Distribution',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DistributionTest = executable(
+    'Test_DistributionTest',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DynamicField/meson.build b/applications/test/DynamicField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4888852b447652ef4adb00b7eb8530742972cc99
--- /dev/null
+++ b/applications/test/DynamicField/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DynamicField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DynamicField',
+    '-I' + recursive_include_dirs / 'applications/test/DynamicField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DynamicField = executable(
+    'Test_DynamicField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DynamicList/meson.build b/applications/test/DynamicList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..11bb0bb084c5c615d3b27a241cc3fd95e1c23a19
--- /dev/null
+++ b/applications/test/DynamicList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DynamicList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DynamicList',
+    '-I' + recursive_include_dirs / 'applications/test/DynamicList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DynamicList = executable(
+    'Test_DynamicList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/DynamicList2/meson.build b/applications/test/DynamicList2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..baa240840cc9fbd39fbbfe67912fca90eb71b7ad
--- /dev/null
+++ b/applications/test/DynamicList2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DynamicList2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/DynamicList2',
+    '-I' + recursive_include_dirs / 'applications/test/DynamicList2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DynamicList2 = executable(
+    'Test_DynamicList2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Enum/meson.build b/applications/test/Enum/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..55ec1f107c2f7d5055cc851c1b6fafc45b30c5e2
--- /dev/null
+++ b/applications/test/Enum/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Enum.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Enum',
+    '-I' + recursive_include_dirs / 'applications/test/Enum',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Enum = executable(
+    'Test_Enum',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/FieldFields1/meson.build b/applications/test/FieldFields1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3a42d10b87daeb6482c268cd7ff8aa01669a12bb
--- /dev/null
+++ b/applications/test/FieldFields1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-FieldFields1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/FieldFields1',
+    '-I' + recursive_include_dirs / 'applications/test/FieldFields1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_FieldFields1 = executable(
+    'Test_FieldFields1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/FieldFields2/meson.build b/applications/test/FieldFields2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..20dc4937603b98d215894b7664bf43d36f2f1e80
--- /dev/null
+++ b/applications/test/FieldFields2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-FieldFields2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/FieldFields2',
+    '-I' + recursive_include_dirs / 'applications/test/FieldFields2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_FieldFields2 = executable(
+    'Test_FieldFields2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/FixedList/meson.build b/applications/test/FixedList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e9399f41e5d59d9e24f5e7178e3f02bc0ed7576a
--- /dev/null
+++ b/applications/test/FixedList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-FixedList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/FixedList',
+    '-I' + recursive_include_dirs / 'applications/test/FixedList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_FixedList = executable(
+    'Test_FixedList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/FixedList2/meson.build b/applications/test/FixedList2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc7ec5993acbe1d1c76baabb6b75ce023b471a9e
--- /dev/null
+++ b/applications/test/FixedList2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-FixedList2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/FixedList2',
+    '-I' + recursive_include_dirs / 'applications/test/FixedList2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_FixedList2 = executable(
+    'Test_FixedList2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Function1/meson.build b/applications/test/Function1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ccb0439f6e61fe500dd87c2d3b59f1cc59d558af
--- /dev/null
+++ b/applications/test/Function1/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Function1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-I' + meson.source_root() / 'applications/test/Function1',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/Function1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Function1 = executable(
+    'Test_Function1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/GAMGAgglomeration/meson.build b/applications/test/GAMGAgglomeration/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..94d2c27e6d4a24e052ce7d3188e619383de06658
--- /dev/null
+++ b/applications/test/GAMGAgglomeration/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-GAMGAgglomeration.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/GAMGAgglomeration',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/GAMGAgglomeration',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_GAMGAgglomeration = executable(
+    'Test_GAMGAgglomeration',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashPtrTable/meson.build b/applications/test/HashPtrTable/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..04019234dfd64a5efc8f16c09770e46ec5779214
--- /dev/null
+++ b/applications/test/HashPtrTable/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashPtrTable.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashPtrTable',
+    '-I' + recursive_include_dirs / 'applications/test/HashPtrTable',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashPtrTable = executable(
+    'Test_HashPtrTable',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashSet/meson.build b/applications/test/HashSet/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d7365a1952d4304f70e58c660ce9b8c47ab70cd6
--- /dev/null
+++ b/applications/test/HashSet/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-hashSet.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashSet',
+    '-I' + recursive_include_dirs / 'applications/test/HashSet',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_hashSet = executable(
+    'Test_hashSet',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashTable1/meson.build b/applications/test/HashTable1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ccc795c9967bff99147ecd4c704174513b4713ea
--- /dev/null
+++ b/applications/test/HashTable1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashTable1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashTable1',
+    '-I' + recursive_include_dirs / 'applications/test/HashTable1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashTable1 = executable(
+    'Test_HashTable1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashTable2/meson.build b/applications/test/HashTable2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9573f69c2e212541a86623b5dc7f165b9d99eef5
--- /dev/null
+++ b/applications/test/HashTable2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashTable2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashTable2',
+    '-I' + recursive_include_dirs / 'applications/test/HashTable2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashTable2 = executable(
+    'Test_HashTable2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashTable3/meson.build b/applications/test/HashTable3/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4f7d6e02aa091c255f2078c01b723d2cdca3d5ae
--- /dev/null
+++ b/applications/test/HashTable3/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashTable3.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashTable3',
+    '-I' + recursive_include_dirs / 'applications/test/HashTable3',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashTable3 = executable(
+    'Test_HashTable3',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashTable4/meson.build b/applications/test/HashTable4/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..580a0c6ef497fa0ad4fbf52a8b1008e8e1cba876
--- /dev/null
+++ b/applications/test/HashTable4/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashTable4.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashTable4',
+    '-I' + recursive_include_dirs / 'applications/test/HashTable4',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashTable4 = executable(
+    'Test_HashTable4',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Hashing1/meson.build b/applications/test/Hashing1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..859208dd4739d11d211e023b9dbe7bd539d9a089
--- /dev/null
+++ b/applications/test/Hashing1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Hashing1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Hashing1',
+    '-I' + recursive_include_dirs / 'applications/test/Hashing1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Hashing1 = executable(
+    'Test_Hashing1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Hashing2/meson.build b/applications/test/Hashing2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1616fe3892a2e37ab2ae06ef2b76f1850f6cf843
--- /dev/null
+++ b/applications/test/Hashing2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Hashing2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Hashing2',
+    '-I' + recursive_include_dirs / 'applications/test/Hashing2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Hashing2 = executable(
+    'Test_Hashing2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/HashingSpeed/meson.build b/applications/test/HashingSpeed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8ff4156abe7284a074b0499d0bee6e3006069584
--- /dev/null
+++ b/applications/test/HashingSpeed/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-HashingSpeed.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/HashingSpeed',
+    '-I' + recursive_include_dirs / 'applications/test/HashingSpeed',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_HashingSpeed = executable(
+    'Test_HashingSpeed',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IFstream/meson.build b/applications/test/IFstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..177ab8483e4c61db1b1332378d69edeb182435e0
--- /dev/null
+++ b/applications/test/IFstream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IFstream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IFstream',
+    '-I' + recursive_include_dirs / 'applications/test/IFstream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IFstream = executable(
+    'Test_IFstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IListStream/meson.build b/applications/test/IListStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6bfe62e5c6577dffc6f3dada393b510bf67473b4
--- /dev/null
+++ b/applications/test/IListStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IListStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IListStream',
+    '-I' + recursive_include_dirs / 'applications/test/IListStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IListStream = executable(
+    'Test_IListStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IOField/meson.build b/applications/test/IOField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5de3fc1a646c0b42ffe60cd8bb870b5ae02d391d
--- /dev/null
+++ b/applications/test/IOField/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IOField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IOField',
+    '-I' + recursive_include_dirs / 'applications/test/IOField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IOField = executable(
+    'Test_IOField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IOobjectList/meson.build b/applications/test/IOobjectList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0bf7dc363599e82fd21bb41c641b0009ab886308
--- /dev/null
+++ b/applications/test/IOobjectList/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IOobjectList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IOobjectList',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/test/IOobjectList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IOobjectList = executable(
+    'Test_IOobjectList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ISLList/meson.build b/applications/test/ISLList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..97bbc1570f562ea44a233a5e2155b496b1bb2489
--- /dev/null
+++ b/applications/test/ISLList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ISLList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ISLList',
+    '-I' + recursive_include_dirs / 'applications/test/ISLList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ISLList = executable(
+    'Test_ISLList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IStringStream/meson.build b/applications/test/IStringStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ff6bf265619e009c94d49b4e1f3de0aaf3c76f0c
--- /dev/null
+++ b/applications/test/IStringStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IStringStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IStringStream',
+    '-I' + recursive_include_dirs / 'applications/test/IStringStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IStringStream = executable(
+    'Test_IStringStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ITstream/meson.build b/applications/test/ITstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e8c4a5e49e55f56b8c7c5b7fee8901cd942aabd4
--- /dev/null
+++ b/applications/test/ITstream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ITstream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ITstream',
+    '-I' + recursive_include_dirs / 'applications/test/ITstream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ITstream = executable(
+    'Test_ITstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IjkField/meson.build b/applications/test/IjkField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..211d3666af0eed660406fd968af38d4c79d47aff
--- /dev/null
+++ b/applications/test/IjkField/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IjkField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-I' + meson.source_root() / 'applications/test/IjkField',
+    '-I' + recursive_include_dirs / 'applications/test/IjkField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IjkField = executable(
+    'Test_IjkField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IndirectList/meson.build b/applications/test/IndirectList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3a0c4e79b5cf4ab9e048b9fa75c57a604d4c8b6a
--- /dev/null
+++ b/applications/test/IndirectList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IndirectList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IndirectList',
+    '-I' + recursive_include_dirs / 'applications/test/IndirectList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IndirectList = executable(
+    'Test_IndirectList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/IntRange/meson.build b/applications/test/IntRange/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..576a212da072512674d41f54f4a0ef0b3109446d
--- /dev/null
+++ b/applications/test/IntRange/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-IntRange.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/IntRange',
+    '-I' + recursive_include_dirs / 'applications/test/IntRange',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_IntRange = executable(
+    'Test_IntRange',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/LabelledItem/meson.build b/applications/test/LabelledItem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ec031a9afadc307abdcdcd206b7b90722886c619
--- /dev/null
+++ b/applications/test/LabelledItem/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-LabelledItem.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/LabelledItem',
+    '-I' + recursive_include_dirs / 'applications/test/LabelledItem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_LabelledItem = executable(
+    'Test_LabelledItem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/List/meson.build b/applications/test/List/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b4b3b3126b1f0d24fe573c2797c3893c3734a3dd
--- /dev/null
+++ b/applications/test/List/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-List.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/List',
+    '-I' + recursive_include_dirs / 'applications/test/List',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_List = executable(
+    'Test_List',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/List2/meson.build b/applications/test/List2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a641ea40a6c8213d401ad7203828f8a2e83e8ab
--- /dev/null
+++ b/applications/test/List2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-List2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/List2',
+    '-I' + recursive_include_dirs / 'applications/test/List2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_List2 = executable(
+    'Test_List2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/List3/meson.build b/applications/test/List3/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..983dd6a5909bfc7307223e3db7f5e89689743ceb
--- /dev/null
+++ b/applications/test/List3/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-List3.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/List3',
+    '-I' + recursive_include_dirs / 'applications/test/List3',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_List3 = executable(
+    'Test_List3',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ListOps/meson.build b/applications/test/ListOps/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a94f921b58eec5a8590ee97e48805803bfb4c6c8
--- /dev/null
+++ b/applications/test/ListOps/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ListOps.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ListOps',
+    '-I' + recursive_include_dirs / 'applications/test/ListOps',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ListOps = executable(
+    'Test_ListOps',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ListOps2/meson.build b/applications/test/ListOps2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6fd54e3b1265c638be55af5f9eec7dcafaf29e2e
--- /dev/null
+++ b/applications/test/ListOps2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ListOps2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ListOps2',
+    '-I' + recursive_include_dirs / 'applications/test/ListOps2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ListOps2 = executable(
+    'Test_ListOps2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Map/meson.build b/applications/test/Map/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c50f1be3f16f9e9ec7c8b0e55d2e4495bd71263f
--- /dev/null
+++ b/applications/test/Map/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Map.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Map',
+    '-I' + recursive_include_dirs / 'applications/test/Map',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Map = executable(
+    'Test_Map',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/MathFunctions/meson.build b/applications/test/MathFunctions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d92dea0c6a7d6eac1dd786c906ceb14865c2ab8e
--- /dev/null
+++ b/applications/test/MathFunctions/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-MathFunctions.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/MathFunctions',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/MathFunctions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_MathFunctions = executable(
+    'Test_MathFunctions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/NamedEnum/meson.build b/applications/test/NamedEnum/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..91ce6e96a79e69d38fa0b31b47eae1fca6f46052
--- /dev/null
+++ b/applications/test/NamedEnum/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-NamedEnum.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/NamedEnum',
+    '-I' + recursive_include_dirs / 'applications/test/NamedEnum',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_NamedEnum = executable(
+    'Test_NamedEnum',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OCountStream/meson.build b/applications/test/OCountStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..55d55d308b957a7377dfec9893547afd08e4079f
--- /dev/null
+++ b/applications/test/OCountStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OCountStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OCountStream',
+    '-I' + recursive_include_dirs / 'applications/test/OCountStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OCountStream = executable(
+    'Test_OCountStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ODE/meson.build b/applications/test/ODE/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..85d9ae55b0e3cdccfad8c35c5f3a1b26422d9d21
--- /dev/null
+++ b/applications/test/ODE/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ODE.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_ODE,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ODE',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'applications/test/ODE',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ODE = executable(
+    'Test_ODE',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OFstream/meson.build b/applications/test/OFstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ab060cab346589d6a6f083c636a1cce9acfb9cad
--- /dev/null
+++ b/applications/test/OFstream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OFstream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OFstream',
+    '-I' + recursive_include_dirs / 'applications/test/OFstream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OFstream = executable(
+    'Test_OFstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OListStream/meson.build b/applications/test/OListStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2c3e4075082642ccbe04eebb90bd7d719c47e0ff
--- /dev/null
+++ b/applications/test/OListStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OListStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OListStream',
+    '-I' + recursive_include_dirs / 'applications/test/OListStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OListStream = executable(
+    'Test_OListStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OSspecific/meson.build b/applications/test/OSspecific/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fae723f91f309d8c4b4132aab6d70c856c111119
--- /dev/null
+++ b/applications/test/OSspecific/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OSspecific.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OSspecific',
+    '-I' + recursive_include_dirs / 'applications/test/OSspecific',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OSspecific = executable(
+    'Test_OSspecific',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OStringStream/meson.build b/applications/test/OStringStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..263b73563e7607ce527e15da88b50e12197fa22e
--- /dev/null
+++ b/applications/test/OStringStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OStringStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OStringStream',
+    '-I' + recursive_include_dirs / 'applications/test/OStringStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OStringStream = executable(
+    'Test_OStringStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/OTstream/meson.build b/applications/test/OTstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7e78f8b27358f647366983ca014e271cdf1d28bb
--- /dev/null
+++ b/applications/test/OTstream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-OTstream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/OTstream',
+    '-I' + recursive_include_dirs / 'applications/test/OTstream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_OTstream = executable(
+    'Test_OTstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PDRblockMesh/meson.build b/applications/test/PDRblockMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..af09051ebcef062cfca249f33d7129bee3875cd4
--- /dev/null
+++ b/applications/test/PDRblockMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PDRblockMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_blockMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-I' + meson.source_root() / 'applications/test/PDRblockMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/test/PDRblockMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PDRblockMesh = executable(
+    'Test_PDRblockMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PackedList/meson.build b/applications/test/PackedList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8f8789c496a11d3e369ab4019d0ad178da0d920f
--- /dev/null
+++ b/applications/test/PackedList/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PackedList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/PackedList',
+    '-I' + recursive_include_dirs / 'applications/test/PackedList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PackedList = executable(
+    'Test_PackedList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PackedList1/meson.build b/applications/test/PackedList1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a76e9f303619252f2ed77e01e3cfc57ca6dd6bfa
--- /dev/null
+++ b/applications/test/PackedList1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PackedList1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PackedList1',
+    '-I' + recursive_include_dirs / 'applications/test/PackedList1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PackedList1 = executable(
+    'Test_PackedList1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PackedList2/meson.build b/applications/test/PackedList2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9289c7a488a18cfa90663c62a215ddd9b1d06199
--- /dev/null
+++ b/applications/test/PackedList2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PackedList2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PackedList2',
+    '-I' + recursive_include_dirs / 'applications/test/PackedList2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PackedList2 = executable(
+    'Test_PackedList2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PatchEdgeFaceWave/meson.build b/applications/test/PatchEdgeFaceWave/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..983afd89170da317ed2561faa4c693150922e02d
--- /dev/null
+++ b/applications/test/PatchEdgeFaceWave/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PatchEdgeFaceWave.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PatchEdgeFaceWave',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/PatchEdgeFaceWave',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PatchEdgeFaceWave = executable(
+    'Test_PatchEdgeFaceWave',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PatchFunction1/meson.build b/applications/test/PatchFunction1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dba582dd695cdcbd550b183fe941873718dfdb41
--- /dev/null
+++ b/applications/test/PatchFunction1/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PatchFunction1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_lagrangianIntermediate,
+    lib_radiationModels,
+    lib_regionModels,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/PatchFunction1',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/PatchFunction1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PatchFunction1 = executable(
+    'Test_PatchFunction1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PatchTools/meson.build b/applications/test/PatchTools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..23a41ea523262fc26c79bb06ff2e7397594223e5
--- /dev/null
+++ b/applications/test/PatchTools/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PatchTools.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PatchTools',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/PatchTools',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PatchTools = executable(
+    'Test_PatchTools',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PointEdgeWave/meson.build b/applications/test/PointEdgeWave/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..caa761ea259dcfb13cf7a26fd3478d122681c914
--- /dev/null
+++ b/applications/test/PointEdgeWave/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PointEdgeWave.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PointEdgeWave',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/PointEdgeWave',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PointEdgeWave = executable(
+    'Test_PointEdgeWave',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Polynomial/meson.build b/applications/test/Polynomial/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5892f5986509a59f2db4f136ebaa1dad60163e3b
--- /dev/null
+++ b/applications/test/Polynomial/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Polynomial.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Polynomial',
+    '-I' + recursive_include_dirs / 'applications/test/Polynomial',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Polynomial = executable(
+    'Test_Polynomial',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PrecisionAdaptor/meson.build b/applications/test/PrecisionAdaptor/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9285bc6a43d8b8fb33066bebaa5307ba4e8a8204
--- /dev/null
+++ b/applications/test/PrecisionAdaptor/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PrecisionAdaptor.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PrecisionAdaptor',
+    '-I' + recursive_include_dirs / 'applications/test/PrecisionAdaptor',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PrecisionAdaptor = executable(
+    'Test_PrecisionAdaptor',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PtrList/meson.build b/applications/test/PtrList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fe1aa3ae2983bbcec2093db87841638a6554faa9
--- /dev/null
+++ b/applications/test/PtrList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PtrList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PtrList',
+    '-I' + recursive_include_dirs / 'applications/test/PtrList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PtrList = executable(
+    'Test_PtrList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PtrListDictionary/meson.build b/applications/test/PtrListDictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cd19da3b425fc297ec7152d6a4ff6a0995f06588
--- /dev/null
+++ b/applications/test/PtrListDictionary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PtrListDictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PtrListDictionary',
+    '-I' + recursive_include_dirs / 'applications/test/PtrListDictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PtrListDictionary = executable(
+    'Test_PtrListDictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/PtrMap/meson.build b/applications/test/PtrMap/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2fba2a01804eceb757628902bf11bbdf377c43ec
--- /dev/null
+++ b/applications/test/PtrMap/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PtrMap.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/PtrMap',
+    '-I' + recursive_include_dirs / 'applications/test/PtrMap',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PtrMap = executable(
+    'Test_PtrMap',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SLList/meson.build b/applications/test/SLList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e570a1e7eb75f5d8ff1cd54f47ee283d110940d4
--- /dev/null
+++ b/applications/test/SLList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SLList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SLList',
+    '-I' + recursive_include_dirs / 'applications/test/SLList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SLList = executable(
+    'Test_SLList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SphericalTensor/meson.build b/applications/test/SphericalTensor/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..721ba3fc1762aeab16e3bb0cacfefbcbdac91a40
--- /dev/null
+++ b/applications/test/SphericalTensor/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SphericalTensor.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SphericalTensor',
+    '-I' + recursive_include_dirs / 'applications/test/SphericalTensor',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SphericalTensor = executable(
+    'Test_SphericalTensor',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SphericalTensor2D/meson.build b/applications/test/SphericalTensor2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cfd371904f1c74fb66034117a20d849794b7285f
--- /dev/null
+++ b/applications/test/SphericalTensor2D/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SphericalTensor2D.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SphericalTensor2D',
+    '-I' + recursive_include_dirs / 'applications/test/SphericalTensor2D',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SphericalTensor2D = executable(
+    'Test_SphericalTensor2D',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SubField/meson.build b/applications/test/SubField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4f144d002a5e88ea23de1c0f0d51803838f6fcbd
--- /dev/null
+++ b/applications/test/SubField/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SubField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SubField',
+    '-I' + recursive_include_dirs / 'applications/test/SubField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SubField = executable(
+    'Test_SubField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SymmTensor/meson.build b/applications/test/SymmTensor/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5245ec8405216609a01bbb0a797d75e663ad5bf8
--- /dev/null
+++ b/applications/test/SymmTensor/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SymmTensor.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SymmTensor',
+    '-I' + recursive_include_dirs / 'applications/test/SymmTensor',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SymmTensor = executable(
+    'Test_SymmTensor',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/SymmTensor2D/meson.build b/applications/test/SymmTensor2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6e8a7a0f9fa446ede8c549b7c0ba774bbf758ce6
--- /dev/null
+++ b/applications/test/SymmTensor2D/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SymmTensor2D.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/SymmTensor2D',
+    '-I' + recursive_include_dirs / 'applications/test/SymmTensor2D',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SymmTensor2D = executable(
+    'Test_SymmTensor2D',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Tensor/meson.build b/applications/test/Tensor/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0b17ce66cbc0a4db4290f3e2e71a3736879a8feb
--- /dev/null
+++ b/applications/test/Tensor/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Tensor.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Tensor',
+    '-I' + recursive_include_dirs / 'applications/test/Tensor',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Tensor = executable(
+    'Test_Tensor',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Tensor2D/meson.build b/applications/test/Tensor2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..12b95a45ea742677948902c00c18ed710f014b31
--- /dev/null
+++ b/applications/test/Tensor2D/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Tensor2D.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Tensor2D',
+    '-I' + recursive_include_dirs / 'applications/test/Tensor2D',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Tensor2D = executable(
+    'Test_Tensor2D',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/Tuple2/meson.build b/applications/test/Tuple2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cb513b59ff1e02bec3bd2ecdc8cb76a7b21b7490
--- /dev/null
+++ b/applications/test/Tuple2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Tuple2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/Tuple2',
+    '-I' + recursive_include_dirs / 'applications/test/Tuple2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Tuple2 = executable(
+    'Test_Tuple2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/UDictionary/meson.build b/applications/test/UDictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e3dcd593ef2bc871d93ddef280dc7ab525942f0b
--- /dev/null
+++ b/applications/test/UDictionary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-UDictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/UDictionary',
+    '-I' + recursive_include_dirs / 'applications/test/UDictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_UDictionary = executable(
+    'Test_UDictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/UIListStream/meson.build b/applications/test/UIListStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b93a77d9a903efd2e5b5c5f78f292f6fea339a0d
--- /dev/null
+++ b/applications/test/UIListStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-UIListStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/UIListStream',
+    '-I' + recursive_include_dirs / 'applications/test/UIListStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_UIListStream = executable(
+    'Test_UIListStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/UIndirectList/meson.build b/applications/test/UIndirectList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..250624ddf5b10712bf69b51c1ec808e35a7d3ffb
--- /dev/null
+++ b/applications/test/UIndirectList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-UIndirectList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/UIndirectList',
+    '-I' + recursive_include_dirs / 'applications/test/UIndirectList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_UIndirectList = executable(
+    'Test_UIndirectList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/UList/meson.build b/applications/test/UList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d171e7f5a4e09ad2b1eb753e304edd23f20e7c96
--- /dev/null
+++ b/applications/test/UList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-UList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/UList',
+    '-I' + recursive_include_dirs / 'applications/test/UList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_UList = executable(
+    'Test_UList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/UniformField/meson.build b/applications/test/UniformField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0058ee79990e478026704d96a08b3be202432dec
--- /dev/null
+++ b/applications/test/UniformField/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-UniformField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/UniformField',
+    '-I' + recursive_include_dirs / 'applications/test/UniformField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_UniformField = executable(
+    'Test_UniformField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/argList/meson.build b/applications/test/argList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6d0f56595e00b311e30468cc889716b75ac94bf1
--- /dev/null
+++ b/applications/test/argList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-argList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/argList',
+    '-I' + recursive_include_dirs / 'applications/test/argList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_argList = executable(
+    'Test_argList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/autoPtr/meson.build b/applications/test/autoPtr/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2776048eee566a0d45b0e774ba8da18fdf52553a
--- /dev/null
+++ b/applications/test/autoPtr/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-autoPtr.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_thermophysicalProperties,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/autoPtr',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'applications/test/autoPtr',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_autoPtr = executable(
+    'Test_autoPtr',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/barycentric/meson.build b/applications/test/barycentric/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7181d4c1e4af9f916b392b6b2768bf3b2db0126a
--- /dev/null
+++ b/applications/test/barycentric/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-barycentric.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/barycentric',
+    '-I' + recursive_include_dirs / 'applications/test/barycentric',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_barycentric = executable(
+    'Test_barycentric',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/base64/meson.build b/applications/test/base64/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..47cb982ec9f4962a8f3dc2bccae9c1531ac6092c
--- /dev/null
+++ b/applications/test/base64/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-base64Encoding.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/base64',
+    '-I' + recursive_include_dirs / 'applications/test/base64',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_base64Encoding = executable(
+    'Test_base64Encoding',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/bitSet1/meson.build b/applications/test/bitSet1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..300792f0abb78578a2eac63f6312bb23b588dd48
--- /dev/null
+++ b/applications/test/bitSet1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-bitSet1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/bitSet1',
+    '-I' + recursive_include_dirs / 'applications/test/bitSet1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_bitSet1 = executable(
+    'Test_bitSet1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/bitSet2/meson.build b/applications/test/bitSet2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dd8f8baf96f15061f5342aacb5c5a6cfaea73a71
--- /dev/null
+++ b/applications/test/bitSet2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-bitSet2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/bitSet2',
+    '-I' + recursive_include_dirs / 'applications/test/bitSet2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_bitSet2 = executable(
+    'Test_bitSet2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/bitops/meson.build b/applications/test/bitops/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bcec528239d5fde405ed65f5d31bfa6ea05aadc4
--- /dev/null
+++ b/applications/test/bitops/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-bitops.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/bitops',
+    '-I' + recursive_include_dirs / 'applications/test/bitops',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_bitops = executable(
+    'Test_bitops',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/boolVector/meson.build b/applications/test/boolVector/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..aff24c77b79b5caeedbe70bdca9439146cb95072
--- /dev/null
+++ b/applications/test/boolVector/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-boolVector.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/boolVector',
+    '-I' + recursive_include_dirs / 'applications/test/boolVector',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_boolVector = executable(
+    'Test_boolVector',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/boundBox/meson.build b/applications/test/boundBox/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..44641f84bcbbc650e016cfdba891005051f36c3e
--- /dev/null
+++ b/applications/test/boundBox/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-boundBox.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/boundBox',
+    '-I' + recursive_include_dirs / 'applications/test/boundBox',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_boundBox = executable(
+    'Test_boundBox',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/boundBox2/meson.build b/applications/test/boundBox2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b76dcb1e626f2ce1ca0c9c317b3cedaeed11bb9a
--- /dev/null
+++ b/applications/test/boundBox2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-boundBox2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/boundBox2',
+    '-I' + recursive_include_dirs / 'applications/test/boundBox2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_boundBox2 = executable(
+    'Test_boundBox2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/callback/meson.build b/applications/test/callback/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..977cf64d51965f1c81c935dc457917d1d741e074
--- /dev/null
+++ b/applications/test/callback/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-callback.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/callback',
+    '-I' + recursive_include_dirs / 'applications/test/callback',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_callback = executable(
+    'Test_callback',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/cellModels/meson.build b/applications/test/cellModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..389becf2b3b1c3b7e0d7dd17f9252258ff108818
--- /dev/null
+++ b/applications/test/cellModels/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cellModels.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/cellModels',
+    '-I' + recursive_include_dirs / 'applications/test/cellModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cellModels = executable(
+    'Test_cellModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/charList/meson.build b/applications/test/charList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2ca4eff55436a143495b5c2fbe9d53368d8e77f1
--- /dev/null
+++ b/applications/test/charList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-charList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/charList',
+    '-I' + recursive_include_dirs / 'applications/test/charList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_charList = executable(
+    'Test_charList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/checkDecomposePar/meson.build b/applications/test/checkDecomposePar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..af4c2b1a555ad629f0cb6939ee9e29d12dc4d341
--- /dev/null
+++ b/applications/test/checkDecomposePar/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-checkDecomposePar.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_decompose,
+    lib_decompositionMethods,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/checkDecomposePar',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'applications/test/checkDecomposePar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_checkDecomposePar = executable(
+    'Test_checkDecomposePar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/clock/meson.build b/applications/test/clock/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..666d9069694e01c06b9e9a010b6b4710c8b54d52
--- /dev/null
+++ b/applications/test/clock/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-clock.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/clock',
+    '-I' + recursive_include_dirs / 'applications/test/clock',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_clock = executable(
+    'Test_clock',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/codeStream/meson.build b/applications/test/codeStream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a042a666d1cff3139cb9e5635ce45598c8049c75
--- /dev/null
+++ b/applications/test/codeStream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-codeStream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/codeStream',
+    '-I' + recursive_include_dirs / 'applications/test/codeStream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_codeStream = executable(
+    'Test_codeStream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/colourTables/meson.build b/applications/test/colourTables/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dc18ec2a86906aca2cc52763d6ec6491806492d5
--- /dev/null
+++ b/applications/test/colourTables/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-colourTables.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/colourTables',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'applications/test/colourTables',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_colourTables = executable(
+    'Test_colourTables',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/complex/meson.build b/applications/test/complex/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8b18ddd7f163f3560d194848311f40ed6bbb7563
--- /dev/null
+++ b/applications/test/complex/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-complex.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/complex',
+    '-I' + recursive_include_dirs / 'applications/test/complex',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_complex = executable(
+    'Test_complex',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/constantFields/meson.build b/applications/test/constantFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dfc5e41f3bd26ea1c4ced5863849e4cb583ad3b1
--- /dev/null
+++ b/applications/test/constantFields/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-constantFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/constantFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/constantFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_constantFields = executable(
+    'Test_constantFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/contiguous/meson.build b/applications/test/contiguous/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..135d24261e11a21e01f6920218824f07325272f9
--- /dev/null
+++ b/applications/test/contiguous/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-contiguous.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/contiguous',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'applications/test/contiguous',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_contiguous = executable(
+    'Test_contiguous',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/copyFile/meson.build b/applications/test/copyFile/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2275ead27b45212233a0a76ccfa4363f89eba1b5
--- /dev/null
+++ b/applications/test/copyFile/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-copyFile.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/copyFile',
+    '-I' + recursive_include_dirs / 'applications/test/copyFile',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_copyFile = executable(
+    'Test_copyFile',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/cplusplus1/meson.build b/applications/test/cplusplus1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..da2c4a311745c7ff97bfa0c495fa4253cd60c853
--- /dev/null
+++ b/applications/test/cplusplus1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cpluplus1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/cplusplus1',
+    '-I' + recursive_include_dirs / 'applications/test/cplusplus1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cpluplus1 = executable(
+    'Test_cpluplus1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/cpuInfo/meson.build b/applications/test/cpuInfo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9226890bb548ca72e7a32281826f11971dcd954f
--- /dev/null
+++ b/applications/test/cpuInfo/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cpuInfo.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/cpuInfo',
+    '-I' + recursive_include_dirs / 'applications/test/cpuInfo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cpuInfo = executable(
+    'Test_cpuInfo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/cstring/meson.build b/applications/test/cstring/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c33ca40b91d9cce63f083d1d808a0683bb117944
--- /dev/null
+++ b/applications/test/cstring/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cstring.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/cstring',
+    '-I' + recursive_include_dirs / 'applications/test/cstring',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cstring = executable(
+    'Test_cstring',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/cyclic/meson.build b/applications/test/cyclic/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1341126eabf9b87f7b2caec0d914db99d8fdcb84
--- /dev/null
+++ b/applications/test/cyclic/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cyclic.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/cyclic',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/cyclic',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cyclic = executable(
+    'Test_cyclic',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/decomposedBlockData/meson.build b/applications/test/decomposedBlockData/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..976c9213ac912f3ad53c9e12ea67c0291e7d5fc3
--- /dev/null
+++ b/applications/test/decomposedBlockData/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-decomposedBlockData.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/decomposedBlockData',
+    '-I' + recursive_include_dirs / 'applications/test/decomposedBlockData',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_decomposedBlockData = executable(
+    'Test_decomposedBlockData',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/delete/meson.build b/applications/test/delete/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0c3167ffe754d5e31e7792f528e188b714e3afbf
--- /dev/null
+++ b/applications/test/delete/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-delete.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/delete',
+    '-I' + recursive_include_dirs / 'applications/test/delete',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_delete = executable(
+    'Test_delete',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionary/meson.build b/applications/test/dictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..02ba2b6379fa3b2d83277660cc21810402e88ff0
--- /dev/null
+++ b/applications/test/dictionary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dictionary',
+    '-I' + recursive_include_dirs / 'applications/test/dictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionary = executable(
+    'Test_dictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionary2/meson.build b/applications/test/dictionary2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7078a3cf1f3e7b6a82b6a27c8b6b11daea8edca5
--- /dev/null
+++ b/applications/test/dictionary2/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionary2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DCOMPAT_OPENFOAM_ORG',
+    '-I' + meson.source_root() / 'applications/test/dictionary2',
+    '-I' + recursive_include_dirs / 'applications/test/dictionary2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionary2 = executable(
+    'Test_dictionary2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionary3/meson.build b/applications/test/dictionary3/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..568b84435d2396830625c5fee36df1e5bddb0e96
--- /dev/null
+++ b/applications/test/dictionary3/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionary3.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dictionary3',
+    '-I' + recursive_include_dirs / 'applications/test/dictionary3',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionary3 = executable(
+    'Test_dictionary3',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionary4/meson.build b/applications/test/dictionary4/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..23fd77d91f9fadfe8851a653d2beb1eff61dc87f
--- /dev/null
+++ b/applications/test/dictionary4/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionary4.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dictionary4',
+    '-I' + recursive_include_dirs / 'applications/test/dictionary4',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionary4 = executable(
+    'Test_dictionary4',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionaryCopy/meson.build b/applications/test/dictionaryCopy/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5dd0b1593389a17fb8ed6924b678ce16c78f3cad
--- /dev/null
+++ b/applications/test/dictionaryCopy/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionaryCopy.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dictionaryCopy',
+    '-I' + recursive_include_dirs / 'applications/test/dictionaryCopy',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionaryCopy = executable(
+    'Test_dictionaryCopy',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dictionaryTokens/meson.build b/applications/test/dictionaryTokens/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f8282ee460352c0de7d3e2d02d3ea03861d802f0
--- /dev/null
+++ b/applications/test/dictionaryTokens/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dictionaryTokens.C',
+    'dictionaryTokens.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dictionaryTokens',
+    '-I' + recursive_include_dirs / 'applications/test/dictionaryTokens',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dictionaryTokens = executable(
+    'Test_dictionaryTokens',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dimField/meson.build b/applications/test/dimField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dad286127c3dfc02be5f44d925e9786f25a0e3c9
--- /dev/null
+++ b/applications/test/dimField/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dimField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dimField',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/dimField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dimField = executable(
+    'Test_dimField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dimensionSet/meson.build b/applications/test/dimensionSet/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cac6264dff5c97683b0a871eb5da036278990277
--- /dev/null
+++ b/applications/test/dimensionSet/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dimensionSet.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dimensionSet',
+    '-I' + recursive_include_dirs / 'applications/test/dimensionSet',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dimensionSet = executable(
+    'Test_dimensionSet',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dimensionedType/meson.build b/applications/test/dimensionedType/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..362d2b4305006a4f4256bca7861dd89c34d0910c
--- /dev/null
+++ b/applications/test/dimensionedType/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dimensionedType.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dimensionedType',
+    '-I' + recursive_include_dirs / 'applications/test/dimensionedType',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dimensionedType = executable(
+    'Test_dimensionedType',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dynamicIndexedOctree/meson.build b/applications/test/dynamicIndexedOctree/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b273e7f590ec6b812b91c6f763e702d8a2135886
--- /dev/null
+++ b/applications/test/dynamicIndexedOctree/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dynamicIndexedOctree.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dynamicIndexedOctree',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/dynamicIndexedOctree',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dynamicIndexedOctree = executable(
+    'Test_dynamicIndexedOctree',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/dynamicLibrary/meson.build b/applications/test/dynamicLibrary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4ad3e61e8af73545917ee12946c30810ace8e1d8
--- /dev/null
+++ b/applications/test/dynamicLibrary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-dynamicLibrary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/dynamicLibrary',
+    '-I' + recursive_include_dirs / 'applications/test/dynamicLibrary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_dynamicLibrary = executable(
+    'Test_dynamicLibrary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/edges/meson.build b/applications/test/edges/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6fe05766009991afea4759313c519604475faed2
--- /dev/null
+++ b/applications/test/edges/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-edges.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/edges',
+    '-I' + recursive_include_dirs / 'applications/test/edges',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_edges = executable(
+    'Test_edges',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/ensightFile/meson.build b/applications/test/ensightFile/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d248472af3a835d3101d7683f09d2f999dcb06e0
--- /dev/null
+++ b/applications/test/ensightFile/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ensightFile.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/ensightFile',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/test/ensightFile',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ensightFile = executable(
+    'Test_ensightFile',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/error/meson.build b/applications/test/error/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fa51671a23dfdabbddb431162cff4f7406a1b776
--- /dev/null
+++ b/applications/test/error/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-error.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/error',
+    '-I' + recursive_include_dirs / 'applications/test/error',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_error = executable(
+    'Test_error',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/etcFiles/meson.build b/applications/test/etcFiles/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..afba69c0706a44c6e2e5fc5a9cf952d06550a776
--- /dev/null
+++ b/applications/test/etcFiles/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-etcFiles.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/etcFiles',
+    '-I' + recursive_include_dirs / 'applications/test/etcFiles',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_etcFiles = executable(
+    'Test_etcFiles',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/exprEntry/meson.build b/applications/test/exprEntry/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a7a2f7ec7fd4ba894fb65b077445f4a78059eef
--- /dev/null
+++ b/applications/test/exprEntry/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-exprEntry.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/exprEntry',
+    '-I' + recursive_include_dirs / 'applications/test/exprEntry',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_exprEntry = executable(
+    'Test_exprEntry',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/exprTraits/meson.build b/applications/test/exprTraits/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4679210346936ed18ea315846de47f91a24fe658
--- /dev/null
+++ b/applications/test/exprTraits/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-exprTraits.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/exprTraits',
+    '-I' + recursive_include_dirs / 'applications/test/exprTraits',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_exprTraits = executable(
+    'Test_exprTraits',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/extendedStencil/meson.build b/applications/test/extendedStencil/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..de9f656d99b3866b77ddc8eeaeea0dbb9da57db0
--- /dev/null
+++ b/applications/test/extendedStencil/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-ExtendedStencil.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/extendedStencil',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/extendedStencil',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_ExtendedStencil = executable(
+    'Test_ExtendedStencil',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/externalFileCoupler/meson.build b/applications/test/externalFileCoupler/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..45c901cb69aeec4cbaab7af75910489aa7e3b1d7
--- /dev/null
+++ b/applications/test/externalFileCoupler/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-externalFileCoupler.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/externalFileCoupler',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/externalFileCoupler',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_externalFileCoupler = executable(
+    'Test_externalFileCoupler',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/faceHashing/meson.build b/applications/test/faceHashing/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6ada5e973c5a732d90eba2ecda427bc7b7103c00
--- /dev/null
+++ b/applications/test/faceHashing/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-faceHashing.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/faceHashing',
+    '-I' + recursive_include_dirs / 'applications/test/faceHashing',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_faceHashing = executable(
+    'Test_faceHashing',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/faces/meson.build b/applications/test/faces/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..83281df7b588961a8f1d0c2712053c5a1404d794
--- /dev/null
+++ b/applications/test/faces/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-faces.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/faces',
+    '-I' + recursive_include_dirs / 'applications/test/faces',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_faces = executable(
+    'Test_faces',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fft/meson.build b/applications/test/fft/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..214ccd6d60d5d3facdddbdcc055cc992be7a3e27
--- /dev/null
+++ b/applications/test/fft/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fft.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_randomProcesses,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fft',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'applications/test/fft',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fft = executable(
+    'Test_fft',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/field1/meson.build b/applications/test/field1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7823653f5cfd725cbccd18799d23072c669e0412
--- /dev/null
+++ b/applications/test/field1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-field1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/field1',
+    '-I' + recursive_include_dirs / 'applications/test/field1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_field1 = executable(
+    'Test_field1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fieldDependency/meson.build b/applications/test/fieldDependency/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a2aa63fef899d52b9d6082808df603f4f6321408
--- /dev/null
+++ b/applications/test/fieldDependency/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fieldDependency.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fieldDependency',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/fieldDependency',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fieldDependency = executable(
+    'Test_fieldDependency',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fieldMapping/meson.build b/applications/test/fieldMapping/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..86bac9fcb1563aa10423eef4d87def8aff55df71
--- /dev/null
+++ b/applications/test/fieldMapping/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fieldMapping.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/fieldMapping',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/fieldMapping',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fieldMapping = executable(
+    'Test_fieldMapping',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fieldTypes/meson.build b/applications/test/fieldTypes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a6f29679150552ab67a6fb77076ee4a0504738dd
--- /dev/null
+++ b/applications/test/fieldTypes/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fieldTypes.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fieldTypes',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/fieldTypes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fieldTypes = executable(
+    'Test_fieldTypes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fileName/meson.build b/applications/test/fileName/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4af3a0d2d46e91b95bd8dc351db39f8df614af02
--- /dev/null
+++ b/applications/test/fileName/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fileName.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fileName',
+    '-I' + recursive_include_dirs / 'applications/test/fileName',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fileName = executable(
+    'Test_fileName',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fileNameClean/meson.build b/applications/test/fileNameClean/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..911b2ac3e9d1d81ba70398a3d6fb182a7d6c7ff5
--- /dev/null
+++ b/applications/test/fileNameClean/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fileNameClean.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fileNameClean',
+    '-I' + recursive_include_dirs / 'applications/test/fileNameClean',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fileNameClean = executable(
+    'Test_fileNameClean',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fileNameOS/meson.build b/applications/test/fileNameOS/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6990c87067668a3d26cef3c60bbc9f427348ddf4
--- /dev/null
+++ b/applications/test/fileNameOS/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fileNameOS.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fileNameOS',
+    '-I' + recursive_include_dirs / 'applications/test/fileNameOS',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fileNameOS = executable(
+    'Test_fileNameOS',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fileOperation1/meson.build b/applications/test/fileOperation1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ab59052c61f7b40c027fa2579fbf49ce6e2a3c5b
--- /dev/null
+++ b/applications/test/fileOperation1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fileOperation1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fileOperation1',
+    '-I' + recursive_include_dirs / 'applications/test/fileOperation1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fileOperation1 = executable(
+    'Test_fileOperation1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/findCell-octree/meson.build b/applications/test/findCell-octree/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a85203ce3830f4b24f6bdfc80dd3bfced6198678
--- /dev/null
+++ b/applications/test/findCell-octree/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-findCell-octree.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/findCell-octree',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/findCell-octree',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_findCell_octree = executable(
+    'Test_findCell_octree',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/findSphereFeatureEdges-octree/meson.build b/applications/test/findSphereFeatureEdges-octree/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6fa89adbde2196affa0c9c93ea07fdfda8af84e7
--- /dev/null
+++ b/applications/test/findSphereFeatureEdges-octree/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-findSphereFeatureEdges-octree.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/findSphereFeatureEdges-octree',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/findSphereFeatureEdges-octree',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_findSphereFeatureEdges_octree = executable(
+    'Test_findSphereFeatureEdges_octree',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/findTimes/meson.build b/applications/test/findTimes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fa3bf03ecb48c3491e2890173ecb726e54a1630b
--- /dev/null
+++ b/applications/test/findTimes/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-findTimes.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/findTimes',
+    '-I' + recursive_include_dirs / 'applications/test/findTimes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_findTimes = executable(
+    'Test_findTimes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/flatOutput1/meson.build b/applications/test/flatOutput1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..39f564843e64d76932a5206a2f8fd31f421855a2
--- /dev/null
+++ b/applications/test/flatOutput1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-flatOuput1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/flatOutput1',
+    '-I' + recursive_include_dirs / 'applications/test/flatOutput1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_flatOuput1 = executable(
+    'Test_flatOuput1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamCellZoneToVTK/meson.build b/applications/test/foamCellZoneToVTK/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5a9d36a481d003af6974c5fa579f2e031ca85e33
--- /dev/null
+++ b/applications/test/foamCellZoneToVTK/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamCellZoneToVTK.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamCellZoneToVTK',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/foamCellZoneToVTK',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamCellZoneToVTK = executable(
+    'foamCellZoneToVTK',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamEnv/meson.build b/applications/test/foamEnv/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2a66a5f34723f9c9caaaf3574e40cff4cddd59e4
--- /dev/null
+++ b/applications/test/foamEnv/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-foamEnv.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamEnv',
+    '-I' + recursive_include_dirs / 'applications/test/foamEnv',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_foamEnv = executable(
+    'Test_foamEnv',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamMeshToTet-vtk/meson.build b/applications/test/foamMeshToTet-vtk/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2876ff3f83b38bdd9437e82ba69ce1cdcbb5f691
--- /dev/null
+++ b/applications/test/foamMeshToTet-vtk/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamMeshToTet-vtk.C',
+    'writeVTKtetMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamMeshToTet-vtk',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/foamMeshToTet-vtk',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamMeshToTet_vtk = executable(
+    'foamMeshToTet_vtk',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamToEnsight-check/meson.build b/applications/test/foamToEnsight-check/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..82ae76f68c5a6ce7a7150a605e3fa8e5aeffaa95
--- /dev/null
+++ b/applications/test/foamToEnsight-check/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToEnsight-check.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_conversion,
+    lib_lagrangianIntermediate,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamToEnsight-check',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'applications/test/foamToEnsight-check',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToEnsight_check = executable(
+    'foamToEnsight_check',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamToMetisGraph/meson.build b/applications/test/foamToMetisGraph/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..382567f2c4de460678f154dc0f7d431829b8b835
--- /dev/null
+++ b/applications/test/foamToMetisGraph/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToMetisGraph.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamToMetisGraph',
+    '-I' + recursive_include_dirs / 'applications/test/foamToMetisGraph',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToMetisGraph = executable(
+    'foamToMetisGraph',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/foamVersion/meson.build b/applications/test/foamVersion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4b7e42f60421ad9bc942dbf2c244dff73f569fe1
--- /dev/null
+++ b/applications/test/foamVersion/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-foamVersion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/foamVersion',
+    '-I' + recursive_include_dirs / 'applications/test/foamVersion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_foamVersion = executable(
+    'Test_foamVersion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fstreamPointer/meson.build b/applications/test/fstreamPointer/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..306164d66c97d96cd8e95486a5e812daf6b2ed74
--- /dev/null
+++ b/applications/test/fstreamPointer/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fstreamPointer.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fstreamPointer',
+    '-I' + recursive_include_dirs / 'applications/test/fstreamPointer',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fstreamPointer = executable(
+    'Test_fstreamPointer',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fvSolutionCombine/meson.build b/applications/test/fvSolutionCombine/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b4c16f1452b6dee1e94e1f52f531df8ac25239f0
--- /dev/null
+++ b/applications/test/fvSolutionCombine/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fvSolutionCombine.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fvSolutionCombine',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/test/fvSolutionCombine',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fvSolutionCombine = executable(
+    'Test_fvSolutionCombine',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fvc/meson.build b/applications/test/fvc/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..259d1142164a6ea66205ab628f33ba846994083c
--- /dev/null
+++ b/applications/test/fvc/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fvc.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fvc',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/fvc',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fvc = executable(
+    'Test_fvc',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/fvc2D/meson.build b/applications/test/fvc2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2e5b0137c315d7f22c061037a6bd925c9fa4fec6
--- /dev/null
+++ b/applications/test/fvc2D/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-fvc2D.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/fvc2D',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/fvc2D',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_fvc2D = executable(
+    'Test_fvc2D',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/gatherValues1/meson.build b/applications/test/gatherValues1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a89cb1bb691db9c754e1ccccab970fcc006e07a0
--- /dev/null
+++ b/applications/test/gatherValues1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-gatherValues1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/gatherValues1',
+    '-I' + recursive_include_dirs / 'applications/test/gatherValues1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_gatherValues1 = executable(
+    'Test_gatherValues1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/globalIndex/meson.build b/applications/test/globalIndex/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6eb31b53365620e6eb3e5d001ba3b3bef51d03d0
--- /dev/null
+++ b/applications/test/globalIndex/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-globalIndex.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/globalIndex',
+    '-I' + recursive_include_dirs / 'applications/test/globalIndex',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_globalIndex = executable(
+    'Test_globalIndex',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/globalMeshData/meson.build b/applications/test/globalMeshData/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..40fcee17bd20115e78266b49aa083513a984dd01
--- /dev/null
+++ b/applications/test/globalMeshData/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-globalMeshData.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/globalMeshData',
+    '-I' + recursive_include_dirs / 'applications/test/globalMeshData',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_globalMeshData = executable(
+    'Test_globalMeshData',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/graph/meson.build b/applications/test/graph/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2d4e80c6157795e9b669945f1cbac3afbcc117f0
--- /dev/null
+++ b/applications/test/graph/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-graph.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_sampling,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/graph',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/graph',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_graph = executable(
+    'Test_graph',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/graphXi/meson.build b/applications/test/graphXi/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1ebf2b345694f78bf93a732c0c27b4395071f18d
--- /dev/null
+++ b/applications/test/graphXi/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-graphXi.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_sampling,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/graphXi',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/graphXi',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_graphXi = executable(
+    'Test_graphXi',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/hashedWordList/meson.build b/applications/test/hashedWordList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..91c9a27879c8dce4da9d7e80e25113f4a10ba1bb
--- /dev/null
+++ b/applications/test/hashedWordList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-hashedWordList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/hashedWordList',
+    '-I' + recursive_include_dirs / 'applications/test/hashedWordList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_hashedWordList = executable(
+    'Test_hashedWordList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/hexRef8/meson.build b/applications/test/hexRef8/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..aa62c991aa9e88353a77444053da868423832019
--- /dev/null
+++ b/applications/test/hexRef8/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-hexRef8.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/hexRef8',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/hexRef8',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_hexRef8 = executable(
+    'Test_hexRef8',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/instant/meson.build b/applications/test/instant/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..835e64449866984a28f9805f0698e5908639141b
--- /dev/null
+++ b/applications/test/instant/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-instant.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/instant',
+    '-I' + recursive_include_dirs / 'applications/test/instant',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_instant = executable(
+    'Test_instant',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/io/meson.build b/applications/test/io/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..413538e1dbc320256263178339c5dfcbf365ce5b
--- /dev/null
+++ b/applications/test/io/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-io.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/io',
+    '-I' + recursive_include_dirs / 'applications/test/io',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_io = executable(
+    'Test_io',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/leastSquareGrad/meson.build b/applications/test/leastSquareGrad/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d6126a6aa20aa36b76e97234eddde70e1c8e83ee
--- /dev/null
+++ b/applications/test/leastSquareGrad/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-leastSquareGrad.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/leastSquareGrad',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/test/leastSquareGrad',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_leastSquareGrad = executable(
+    'Test_leastSquareGrad',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/limits/meson.build b/applications/test/limits/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6445ea890b0802d9a208a04332ae687e192ae38f
--- /dev/null
+++ b/applications/test/limits/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-limits.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/limits',
+    '-I' + recursive_include_dirs / 'applications/test/limits',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_limits = executable(
+    'Test_limits',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/liquid/meson.build b/applications/test/liquid/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e26160ba06ed75da555c8e9810145da0a75b746
--- /dev/null
+++ b/applications/test/liquid/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-liquid.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_thermophysicalProperties,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/liquid',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'applications/test/liquid',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_liquid = executable(
+    'Test_liquid',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/mapDistributePolyMesh/meson.build b/applications/test/mapDistributePolyMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a108e8aa711871e899396b65a5fbeccec9f34454
--- /dev/null
+++ b/applications/test/mapDistributePolyMesh/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-mapDistributePolyMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_dynamicMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/mapDistributePolyMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/test/mapDistributePolyMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_mapDistributePolyMesh = executable(
+    'Test_mapDistributePolyMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/mappedPatch/meson.build b/applications/test/mappedPatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bec53173da742c5d63eabad9a1870e1459b8fea4
--- /dev/null
+++ b/applications/test/mappedPatch/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-MappedPatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/mappedPatch',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/test/mappedPatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_MappedPatch = executable(
+    'Test_MappedPatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/DiagonalMatrix/meson.build b/applications/test/matrices/DiagonalMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0503ac2b0d4bd9042ac1f42ff137018d90fe70e0
--- /dev/null
+++ b/applications/test/matrices/DiagonalMatrix/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-DiagonalMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/DiagonalMatrix',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/DiagonalMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_DiagonalMatrix = executable(
+    'Test_DiagonalMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/Matrix/meson.build b/applications/test/matrices/Matrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b4c429e6a8cc4fb3cdf99bc650a8b4ec3ec080bc
--- /dev/null
+++ b/applications/test/matrices/Matrix/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-Matrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/Matrix',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/Matrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_Matrix = executable(
+    'Test_Matrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/QRMatrix/meson.build b/applications/test/matrices/QRMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..41f155d7cfc5b7cd6759b94baa5a3571ae2b9186
--- /dev/null
+++ b/applications/test/matrices/QRMatrix/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-QRMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/QRMatrix',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/QRMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_QRMatrix = executable(
+    'Test_QRMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/RectangularMatrix/meson.build b/applications/test/matrices/RectangularMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e0611b8b71307071482908d17c46fa18dde12ad5
--- /dev/null
+++ b/applications/test/matrices/RectangularMatrix/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-RectangularMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/RectangularMatrix',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/RectangularMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_RectangularMatrix = executable(
+    'Test_RectangularMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/SquareMatrix/meson.build b/applications/test/matrices/SquareMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..77fe90e73b634a17f5a98b9be35954d4172aa644
--- /dev/null
+++ b/applications/test/matrices/SquareMatrix/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SquareMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/SquareMatrix',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/SquareMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SquareMatrix = executable(
+    'Test_SquareMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/SymmetricSquareMatrix/meson.build b/applications/test/matrices/SymmetricSquareMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0f6a53498a2230e7be854d22397549fc1d712955
--- /dev/null
+++ b/applications/test/matrices/SymmetricSquareMatrix/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SymmetricSquareMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/matrices/SymmetricSquareMatrix',
+    '-I' + meson.source_root() / 'applications/test/TestTools',
+    '-I' + recursive_include_dirs / 'applications/test/matrices/SymmetricSquareMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SymmetricSquareMatrix = executable(
+    'Test_SymmetricSquareMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/matrices/meson.build b/applications/test/matrices/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a5ac198aeec783921f6c8071a875931150ad93a9
--- /dev/null
+++ b/applications/test/matrices/meson.build
@@ -0,0 +1,6 @@
+subdir('DiagonalMatrix')
+subdir('Matrix')
+subdir('QRMatrix')
+subdir('RectangularMatrix')
+subdir('SquareMatrix')
+subdir('SymmetricSquareMatrix')
diff --git a/applications/test/maxMem/meson.build b/applications/test/maxMem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7b7a0713f1107b1787e37cd3719ea4f0e66d9903
--- /dev/null
+++ b/applications/test/maxMem/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-maxMem.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/maxMem',
+    '-I' + recursive_include_dirs / 'applications/test/maxMem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_maxMem = executable(
+    'Test_maxMem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/memInfo/meson.build b/applications/test/memInfo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..08185a095399f58c484196c8d38bf94eaea0873c
--- /dev/null
+++ b/applications/test/memInfo/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-memInfo.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/memInfo',
+    '-I' + recursive_include_dirs / 'applications/test/memInfo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_memInfo = executable(
+    'Test_memInfo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/mesh/meson.build b/applications/test/mesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b4a7a6b82177ee3bbc24e263ede9debeb3432816
--- /dev/null
+++ b/applications/test/mesh/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-mesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/mesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/test/mesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_mesh = executable(
+    'Test_mesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/meson.build b/applications/test/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7df89e76eb56d20ac430f5a6cb6705dfa47cc8ec
--- /dev/null
+++ b/applications/test/meson.build
@@ -0,0 +1,262 @@
+subdir('00-dummy')
+subdir('00-machine-sizes')
+subdir('00-openmp')
+subdir('BinSum')
+subdir('CircularBuffer')
+subdir('Circulator')
+subdir('CompactIOList')
+subdir('CompactListList')
+subdir('DLList')
+subdir('DiagTensor')
+subdir('Dictionary')
+subdir('DirLister')
+subdir('Distribution')
+subdir('DynamicField')
+subdir('DynamicList')
+subdir('DynamicList2')
+subdir('Enum')
+subdir('FieldFields1')
+subdir('FieldFields2')
+subdir('FixedList')
+subdir('FixedList2')
+subdir('Function1')
+subdir('GAMGAgglomeration')
+subdir('HashPtrTable')
+subdir('HashSet')
+subdir('HashTable1')
+subdir('HashTable2')
+subdir('HashTable3')
+subdir('HashTable4')
+subdir('Hashing1')
+subdir('Hashing2')
+subdir('HashingSpeed')
+subdir('IFstream')
+subdir('IListStream')
+subdir('IOField')
+subdir('IOobjectList')
+subdir('ISLList')
+subdir('IStringStream')
+subdir('ITstream')
+subdir('IjkField')
+subdir('IndirectList')
+subdir('IntRange')
+subdir('LabelledItem')
+subdir('List')
+subdir('List2')
+subdir('List3')
+subdir('ListOps')
+subdir('ListOps2')
+subdir('Map')
+subdir('MathFunctions')
+subdir('NamedEnum')
+subdir('OCountStream')
+subdir('ODE')
+subdir('OFstream')
+subdir('OListStream')
+subdir('OSspecific')
+subdir('OStringStream')
+subdir('OTstream')
+subdir('PDRblockMesh')
+subdir('PackedList')
+subdir('PackedList1')
+subdir('PackedList2')
+subdir('PatchEdgeFaceWave')
+subdir('PatchFunction1')
+subdir('PatchTools')
+subdir('PointEdgeWave')
+subdir('Polynomial')
+subdir('PrecisionAdaptor')
+subdir('PtrList')
+subdir('PtrListDictionary')
+subdir('PtrMap')
+subdir('SLList')
+subdir('SphericalTensor')
+subdir('SphericalTensor2D')
+subdir('SubField')
+subdir('SymmTensor')
+subdir('SymmTensor2D')
+subdir('Tensor')
+subdir('Tensor2D')
+subdir('Tuple2')
+subdir('UDictionary')
+subdir('UIListStream')
+subdir('UIndirectList')
+subdir('UList')
+subdir('UniformField')
+subdir('argList')
+subdir('autoPtr')
+subdir('barycentric')
+subdir('base64')
+subdir('bitSet1')
+subdir('bitSet2')
+subdir('bitops')
+subdir('boolVector')
+subdir('boundBox')
+subdir('boundBox2')
+subdir('callback')
+subdir('cellModels')
+subdir('charList')
+subdir('checkDecomposePar')
+subdir('clock')
+subdir('codeStream')
+subdir('colourTables')
+subdir('complex')
+subdir('constantFields')
+subdir('contiguous')
+subdir('copyFile')
+subdir('cplusplus1')
+subdir('cpuInfo')
+subdir('cstring')
+subdir('cyclic')
+subdir('decomposedBlockData')
+subdir('delete')
+subdir('dictionary')
+subdir('dictionary2')
+subdir('dictionary3')
+subdir('dictionary4')
+subdir('dictionaryCopy')
+subdir('dictionaryTokens')
+subdir('dimField')
+subdir('dimensionSet')
+subdir('dimensionedType')
+subdir('dynamicIndexedOctree')
+subdir('dynamicLibrary')
+subdir('edges')
+subdir('ensightFile')
+subdir('error')
+subdir('etcFiles')
+subdir('exprEntry')
+subdir('exprTraits')
+subdir('extendedStencil')
+subdir('externalFileCoupler')
+subdir('faceHashing')
+subdir('faces')
+subdir('fft')
+subdir('field1')
+subdir('fieldDependency')
+subdir('fieldMapping')
+subdir('fieldTypes')
+subdir('fileName')
+subdir('fileNameClean')
+subdir('fileNameOS')
+subdir('fileOperation1')
+subdir('findCell-octree')
+subdir('findSphereFeatureEdges-octree')
+subdir('findTimes')
+subdir('flatOutput1')
+subdir('foamCellZoneToVTK')
+subdir('foamEnv')
+subdir('foamMeshToTet-vtk')
+subdir('foamToEnsight-check')
+subdir('foamToMetisGraph')
+subdir('foamVersion')
+subdir('fstreamPointer')
+subdir('fvSolutionCombine')
+subdir('fvc')
+subdir('fvc2D')
+subdir('gatherValues1')
+subdir('globalIndex')
+subdir('globalMeshData')
+subdir('graph')
+subdir('graphXi')
+subdir('hashedWordList')
+subdir('hexRef8')
+subdir('instant')
+subdir('io')
+subdir('leastSquareGrad')
+subdir('limits')
+subdir('liquid')
+subdir('mapDistributePolyMesh')
+subdir('mappedPatch')
+subdir('matrices')
+subdir('maxMem')
+subdir('memInfo')
+subdir('mesh')
+subdir('minMax1')
+subdir('minMax2')
+subdir('mkdir')
+subdir('momentOfInertia')
+subdir('multiDimPolyFitter')
+subdir('mvBak')
+subdir('namedDictionary')
+subdir('nullObject')
+subdir('objectRegistry')
+subdir('objectRegistry2')
+subdir('pTraits')
+subdir('parallel')
+subdir('parallel-broadcast')
+subdir('parallel-chunks')
+subdir('parallel-comm0')
+subdir('parallel-comm1')
+subdir('parallel-comm2')
+subdir('parallel-external-init')
+subdir('parallelOverset')
+subdir('passiveParticle')
+subdir('patchRegion')
+subdir('plotFunction1')
+subdir('pointField')
+subdir('polynomialEqns')
+subdir('predicates')
+subdir('prefixOSstream')
+subdir('primitivePatch')
+subdir('primitives')
+subdir('processorTopology')
+subdir('quaternion')
+subdir('rawIOField')
+subdir('readDir')
+subdir('reconstruct')
+subdir('reconstructedDistanceFunction')
+subdir('refPtr')
+subdir('regex1')
+subdir('rigidBodyDynamics')
+subdir('router')
+subdir('scalarOps')
+subdir('scalarPredicates')
+subdir('scalarRanges')
+subdir('searchableSphere')
+subdir('sha1')
+subdir('sigFpe')
+subdir('simpleMatrix')
+subdir('sizeof')
+subdir('sliceRange')
+subdir('slicedField')
+subdir('sort')
+subdir('speed')
+subdir('spline')
+subdir('splitFunctionArgs')
+subdir('string')
+subdir('string2')
+subdir('stringList')
+subdir('stringSplit')
+subdir('surfaceIntersection')
+subdir('surfaceMeshConvert')
+subdir('surfaceReading')
+subdir('surfaceTree')
+subdir('surfaceWriter')
+subdir('syncTools')
+subdir('sysInfo')
+subdir('tensor2D')
+subdir('tensorFields1')
+subdir('testFunctionObjects')
+subdir('tetTetOverlap')
+subdir('thermoMixture')
+subdir('timeSelector')
+subdir('tmp')
+subdir('token')
+subdir('tokenize')
+subdir('treeComms')
+subdir('triTet')
+subdir('triangleIntersection')
+subdir('unitConversion')
+subdir('vector')
+subdir('vectorTools')
+subdir('volField')
+subdir('volPointInterpolation')
+subdir('vtkSeriesWriter')
+subdir('vtmWriter')
+subdir('wallDist')
+subdir('wallDistDyM')
+subdir('wmake1')
+subdir('wordRe')
+subdir('write-wrapped-string')
+subdir('zoneDistribute')
diff --git a/applications/test/minMax1/meson.build b/applications/test/minMax1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fce8ea303df4267219d8ddbea64081e6a70a6167
--- /dev/null
+++ b/applications/test/minMax1/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-minMax1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/minMax1',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/minMax1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_minMax1 = executable(
+    'Test_minMax1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/minMax2/meson.build b/applications/test/minMax2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..12b97039d5bc11ef2ec012e15728d0a041ee2632
--- /dev/null
+++ b/applications/test/minMax2/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-minMax2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/minMax2',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/minMax2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_minMax2 = executable(
+    'Test_minMax2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/mkdir/meson.build b/applications/test/mkdir/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7a36cdac3c56032ae4ea153a9b093fd76e9054fa
--- /dev/null
+++ b/applications/test/mkdir/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-mkdir.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/mkdir',
+    '-I' + recursive_include_dirs / 'applications/test/mkdir',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_mkdir = executable(
+    'Test_mkdir',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/momentOfInertia/meson.build b/applications/test/momentOfInertia/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..91ee657f9345f865154deaf9d1a287f84e1d86bc
--- /dev/null
+++ b/applications/test/momentOfInertia/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-momentOfInertia.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/momentOfInertia',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/momentOfInertia',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_momentOfInertia = executable(
+    'Test_momentOfInertia',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/multiDimPolyFitter/meson.build b/applications/test/multiDimPolyFitter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b9f0fb18d39fb0c67b6653f54ab2a2c52e22563d
--- /dev/null
+++ b/applications/test/multiDimPolyFitter/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-multiDimPolyFitter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/multiDimPolyFitter',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/test/multiDimPolyFitter',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_multiDimPolyFitter = executable(
+    'Test_multiDimPolyFitter',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/mvBak/meson.build b/applications/test/mvBak/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..962ae7c8e4327e3e1a69dea195b6110a29713945
--- /dev/null
+++ b/applications/test/mvBak/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-mvBak.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/mvBak',
+    '-I' + recursive_include_dirs / 'applications/test/mvBak',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_mvBak = executable(
+    'Test_mvBak',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/namedDictionary/meson.build b/applications/test/namedDictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f7e722b78c83ee0c807c2005d94cba1cbaa5aaa9
--- /dev/null
+++ b/applications/test/namedDictionary/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-namedDictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/namedDictionary',
+    '-I' + recursive_include_dirs / 'applications/test/namedDictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_namedDictionary = executable(
+    'Test_namedDictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/nullObject/meson.build b/applications/test/nullObject/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c554aacb2d52cd665f96238b8344645720b13989
--- /dev/null
+++ b/applications/test/nullObject/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-nullObject.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/nullObject',
+    '-I' + recursive_include_dirs / 'applications/test/nullObject',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_nullObject = executable(
+    'Test_nullObject',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/objectRegistry/meson.build b/applications/test/objectRegistry/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6ec05deac34582ef46cee54598318c98a4ff84be
--- /dev/null
+++ b/applications/test/objectRegistry/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-objectRegistry.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/objectRegistry',
+    '-I' + recursive_include_dirs / 'applications/test/objectRegistry',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_objectRegistry = executable(
+    'Test_objectRegistry',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/objectRegistry2/meson.build b/applications/test/objectRegistry2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a60a4606bcc32ae00d16ef0ae7623f24f7bdc26
--- /dev/null
+++ b/applications/test/objectRegistry2/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-objectRegistry2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/objectRegistry2',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/objectRegistry2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_objectRegistry2 = executable(
+    'Test_objectRegistry2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/pTraits/meson.build b/applications/test/pTraits/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d03829ab5a3ca1f486d6042bb39da4f388e9c042
--- /dev/null
+++ b/applications/test/pTraits/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-pTraits.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/pTraits',
+    '-I' + recursive_include_dirs / 'applications/test/pTraits',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_pTraits = executable(
+    'Test_pTraits',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-broadcast/meson.build b/applications/test/parallel-broadcast/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..24ab3bd060121c9eb0d06e70db65581b93e35bf1
--- /dev/null
+++ b/applications/test/parallel-broadcast/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-broadcast.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel-broadcast',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-broadcast',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_broadcast = executable(
+    'Test_parallel_broadcast',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-chunks/meson.build b/applications/test/parallel-chunks/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9319d78fb4a5e943ddd0b820ff2a9aa71c990554
--- /dev/null
+++ b/applications/test/parallel-chunks/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-chunks.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel-chunks',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-chunks',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_chunks = executable(
+    'Test_parallel_chunks',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-comm0/meson.build b/applications/test/parallel-comm0/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fecfc0e9a60de0f4f9c4d40baef40140b3906ca4
--- /dev/null
+++ b/applications/test/parallel-comm0/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-comm0.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel-comm0',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-comm0',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_comm0 = executable(
+    'Test_parallel_comm0',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-comm1/meson.build b/applications/test/parallel-comm1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..99e32b76706256b13d02fe498c0d5b301bf34510
--- /dev/null
+++ b/applications/test/parallel-comm1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-comm1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel-comm1',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-comm1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_comm1 = executable(
+    'Test_parallel_comm1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-comm2/meson.build b/applications/test/parallel-comm2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..47dd218b094ce36c01716183a19b80be2bcc5340
--- /dev/null
+++ b/applications/test/parallel-comm2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-comm2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel-comm2',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-comm2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_comm2 = executable(
+    'Test_parallel_comm2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel-external-init/meson.build b/applications/test/parallel-external-init/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..543c3323425d47461fdcf6a16041af5beebf927d
--- /dev/null
+++ b/applications/test/parallel-external-init/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel-external-init.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    mpi_dep,
+]
+cpp_args = [
+    '-DMPICH_SKIP_MPICXX',
+    '-DOMPI_SKIP_MPICXX',
+    '-I' + meson.source_root() / 'applications/test/parallel-external-init',
+    '-I' + recursive_include_dirs / 'applications/test/parallel-external-init',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel_external_init = executable(
+    'Test_parallel_external_init',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallel/meson.build b/applications/test/parallel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..922e63281dd1fdcfe43ee51ef68cb45ec4032fa8
--- /dev/null
+++ b/applications/test/parallel/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-parallel.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/parallel',
+    '-I' + recursive_include_dirs / 'applications/test/parallel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_parallel = executable(
+    'Test_parallel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/parallelOverset/meson.build b/applications/test/parallelOverset/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d19eec0f68ef4c71f34a83b5958f9f9649b3e3cf
--- /dev/null
+++ b/applications/test/parallelOverset/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'laplacianDyMFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_sampling,
+    lib_overset,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/parallelOverset',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'applications/test/parallelOverset',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_correctBoundaryConditions = executable(
+    'correctBoundaryConditions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/passiveParticle/meson.build b/applications/test/passiveParticle/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f54471aad568c35418382e23cf80e050b4660a35
--- /dev/null
+++ b/applications/test/passiveParticle/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-passiveParticle.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/passiveParticle',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/test/passiveParticle',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_passiveParticle = executable(
+    'Test_passiveParticle',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/patchRegion/meson.build b/applications/test/patchRegion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9ab5cbcd10474fe9b5cad76c69b2f79afce8505b
--- /dev/null
+++ b/applications/test/patchRegion/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-patchRegion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/patchRegion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/patchRegion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_patchRegion = executable(
+    'Test_patchRegion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/plotFunction1/meson.build b/applications/test/plotFunction1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2fb3ab628fb711288a2f0d5f93c1d18f7c27cf2c
--- /dev/null
+++ b/applications/test/plotFunction1/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-plotFunction1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_lagrangianIntermediate,
+    lib_radiationModels,
+    lib_regionModels,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/plotFunction1',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/plotFunction1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_plotFunction1 = executable(
+    'Test_plotFunction1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/pointField/meson.build b/applications/test/pointField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e30e2af101a5cc83e2dc351ca123fc4c379d4f1
--- /dev/null
+++ b/applications/test/pointField/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PointField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/pointField',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/pointField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_pointField = executable(
+    'Test_pointField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/polynomialEqns/cubicEqn/meson.build b/applications/test/polynomialEqns/cubicEqn/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8fd7fa8c81ad9a7b29b16458f91da19426d4c088
--- /dev/null
+++ b/applications/test/polynomialEqns/cubicEqn/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-cubicEqn.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/polynomialEqns/cubicEqn',
+    '-I' + recursive_include_dirs / 'applications/test/polynomialEqns/cubicEqn',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_cubicEqn = executable(
+    'Test_cubicEqn',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/polynomialEqns/linearEqn/meson.build b/applications/test/polynomialEqns/linearEqn/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..eb232e59be6bfe6f1321961082d8d91c42695e66
--- /dev/null
+++ b/applications/test/polynomialEqns/linearEqn/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-linearEqn.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/polynomialEqns/linearEqn',
+    '-I' + recursive_include_dirs / 'applications/test/polynomialEqns/linearEqn',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_linearEqn = executable(
+    'Test_linearEqn',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/polynomialEqns/meson.build b/applications/test/polynomialEqns/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a72f5ab96a17a4b406216f2bda4f387e5be3a011
--- /dev/null
+++ b/applications/test/polynomialEqns/meson.build
@@ -0,0 +1,3 @@
+subdir('cubicEqn')
+subdir('linearEqn')
+subdir('quadraticEqn')
diff --git a/applications/test/polynomialEqns/quadraticEqn/meson.build b/applications/test/polynomialEqns/quadraticEqn/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..061da65c8ec89f9dc7ad46b28996a0da88075c06
--- /dev/null
+++ b/applications/test/polynomialEqns/quadraticEqn/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-quadraticEqn.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/polynomialEqns/quadraticEqn',
+    '-I' + recursive_include_dirs / 'applications/test/polynomialEqns/quadraticEqn',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_quadraticEqn = executable(
+    'Test_quadraticEqn',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/predicates/meson.build b/applications/test/predicates/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..854c6f5b5c0acaee2bf6e8a7868686c55b72b280
--- /dev/null
+++ b/applications/test/predicates/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-predicates.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/predicates',
+    '-I' + recursive_include_dirs / 'applications/test/predicates',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_predicates = executable(
+    'Test_predicates',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/prefixOSstream/meson.build b/applications/test/prefixOSstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..082081bef06e98ec7e3be00a2a92be449dfdd40d
--- /dev/null
+++ b/applications/test/prefixOSstream/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-prefixOSstream.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/prefixOSstream',
+    '-I' + recursive_include_dirs / 'applications/test/prefixOSstream',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_prefixOSstream = executable(
+    'Test_prefixOSstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/primitivePatch/meson.build b/applications/test/primitivePatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..932d7d26e2851c50c4a37718e7b0b6516d3b35ef
--- /dev/null
+++ b/applications/test/primitivePatch/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-PrimitivePatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/primitivePatch',
+    '-I' + recursive_include_dirs / 'applications/test/primitivePatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_PrimitivePatch = executable(
+    'Test_PrimitivePatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/primitives/meson.build b/applications/test/primitives/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1d58a8396b1de436c8047822e5b7a9f6522f8329
--- /dev/null
+++ b/applications/test/primitives/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-primitives.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DCOMPAT_OPENFOAM_ORG',
+    '-I' + meson.source_root() / 'applications/test/primitives',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'applications/test/primitives',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_primitives = executable(
+    'Test_primitives',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/processorTopology/meson.build b/applications/test/processorTopology/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d140903f056aad54571d3918017cc7e8db3b13d5
--- /dev/null
+++ b/applications/test/processorTopology/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-processorTopology.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/processorTopology',
+    '-I' + recursive_include_dirs / 'applications/test/processorTopology',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_processorTopology = executable(
+    'Test_processorTopology',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/quaternion/meson.build b/applications/test/quaternion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..18bad52c6cb7fbea515f127cbf8c974237294ad2
--- /dev/null
+++ b/applications/test/quaternion/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-quaternion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/quaternion',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/quaternion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_quaternion = executable(
+    'Test_quaternion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/rawIOField/meson.build b/applications/test/rawIOField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5643d6854f7d7776cc18a73866ff6ac4da39b492
--- /dev/null
+++ b/applications/test/rawIOField/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-rawIOField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/rawIOField',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/rawIOField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_rawIOField = executable(
+    'Test_rawIOField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/readDir/meson.build b/applications/test/readDir/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3cf34f9363ebee165c17279f13f8536d474fc73b
--- /dev/null
+++ b/applications/test/readDir/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-readDir.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/readDir',
+    '-I' + recursive_include_dirs / 'applications/test/readDir',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_readDir = executable(
+    'Test_readDir',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/reconstruct/meson.build b/applications/test/reconstruct/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d0fb6859227f46db22aeaa859872af0efcc0591f
--- /dev/null
+++ b/applications/test/reconstruct/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-reconstruct.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/reconstruct',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/reconstruct',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_reconstruct = executable(
+    'Test_reconstruct',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/reconstructedDistanceFunction/meson.build b/applications/test/reconstructedDistanceFunction/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7fbb8e4ca84947ea26719635f01723c919476102
--- /dev/null
+++ b/applications/test/reconstructedDistanceFunction/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-reconstructedDistanceFunction.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_geometricVoF,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/reconstructedDistanceFunction',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'applications/test/reconstructedDistanceFunction',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_reconstructedDistanceFunction = executable(
+    'Test_reconstructedDistanceFunction',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/refPtr/meson.build b/applications/test/refPtr/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..63ed0e62c0d8d1b0c236b3979044932c8229440b
--- /dev/null
+++ b/applications/test/refPtr/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-refPtr.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/refPtr',
+    '-I' + recursive_include_dirs / 'applications/test/refPtr',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_refPtr = executable(
+    'Test_refPtr',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/regex1/meson.build b/applications/test/regex1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f76e2938eec3107f6d55bb03bbfb4e834e8b786a
--- /dev/null
+++ b/applications/test/regex1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-regex1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/regex1',
+    '-I' + recursive_include_dirs / 'applications/test/regex1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_regex1 = executable(
+    'Test_regex1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/rigidBodyDynamics/meson.build b/applications/test/rigidBodyDynamics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d53e7e5806a6ffdb787e12f0f5fb17bbb0f589ed
--- /dev/null
+++ b/applications/test/rigidBodyDynamics/meson.build
@@ -0,0 +1,3 @@
+subdir('pendulum')
+subdir('pendulumAndSpring')
+subdir('sphericalJoint')
diff --git a/applications/test/rigidBodyDynamics/pendulum/meson.build b/applications/test/rigidBodyDynamics/pendulum/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..820918fa6f8c44f4d30a8dbc2ff4b168b66885a1
--- /dev/null
+++ b/applications/test/rigidBodyDynamics/pendulum/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'pendulum.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_rigidBodyDynamics,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/rigidBodyDynamics/pendulum',
+    '-I' + recursive_include_dirs / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'applications/test/rigidBodyDynamics/pendulum',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_pendulum = executable(
+    'Test_pendulum',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/rigidBodyDynamics/pendulumAndSpring/meson.build b/applications/test/rigidBodyDynamics/pendulumAndSpring/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..44915f2d90ee688509e9f930d78cce24d0a035cf
--- /dev/null
+++ b/applications/test/rigidBodyDynamics/pendulumAndSpring/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'pendulumAndSpring.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_rigidBodyDynamics,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/rigidBodyDynamics/pendulumAndSpring',
+    '-I' + recursive_include_dirs / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'applications/test/rigidBodyDynamics/pendulumAndSpring',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_pendulumAndSpring = executable(
+    'Test_pendulumAndSpring',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/rigidBodyDynamics/sphericalJoint/meson.build b/applications/test/rigidBodyDynamics/sphericalJoint/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e7c174c0fbc932080e8bc4f2917ed02a3f862179
--- /dev/null
+++ b/applications/test/rigidBodyDynamics/sphericalJoint/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'sphericalJoint.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_rigidBodyDynamics,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/rigidBodyDynamics/sphericalJoint',
+    '-I' + recursive_include_dirs / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'applications/test/rigidBodyDynamics/sphericalJoint',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sphericalJoint = executable(
+    'Test_sphericalJoint',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/router/meson.build b/applications/test/router/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..85e806aaee523b3a0d95e381d70dfe98e9c59a28
--- /dev/null
+++ b/applications/test/router/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'router.C',
+    'Test-processorRouter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/router',
+    '-I' + meson.source_root() / 'applications/test/router/Gather',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/test/router',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_processorRouter = executable(
+    'Test_processorRouter',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/scalarOps/meson.build b/applications/test/scalarOps/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c3dbc87f0001f7f4192d91350cff2a5b3661671a
--- /dev/null
+++ b/applications/test/scalarOps/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-scalarOps.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/scalarOps',
+    '-I' + recursive_include_dirs / 'applications/test/scalarOps',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_scalarOps = executable(
+    'Test_scalarOps',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/scalarPredicates/meson.build b/applications/test/scalarPredicates/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..888c2e787a3eddcb51adb9e85a30a86f4c622394
--- /dev/null
+++ b/applications/test/scalarPredicates/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-scalarPredicates.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/scalarPredicates',
+    '-I' + recursive_include_dirs / 'applications/test/scalarPredicates',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_scalarPredicates = executable(
+    'Test_scalarPredicates',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/scalarRanges/meson.build b/applications/test/scalarRanges/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3cbacea8266cf5e9876e9ff0f73d211b7be47b0e
--- /dev/null
+++ b/applications/test/scalarRanges/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-scalarRanges.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/scalarRanges',
+    '-I' + recursive_include_dirs / 'applications/test/scalarRanges',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_scalarRanges = executable(
+    'Test_scalarRanges',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/searchableSphere/meson.build b/applications/test/searchableSphere/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..044c50d2b6af322ef8ee90951a0fd0ef94a1e2f9
--- /dev/null
+++ b/applications/test/searchableSphere/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-searchableSphere.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/searchableSphere',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/searchableSphere',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_searchableSphere = executable(
+    'Test_searchableSphere',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sha1/meson.build b/applications/test/sha1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c329ce787d083bfe610b0b91e069b7190e31169f
--- /dev/null
+++ b/applications/test/sha1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-SHA1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sha1',
+    '-I' + recursive_include_dirs / 'applications/test/sha1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_SHA1 = executable(
+    'Test_SHA1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sigFpe/meson.build b/applications/test/sigFpe/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..422ebbb8e716e862746e1f7714decdd0d93b9b1b
--- /dev/null
+++ b/applications/test/sigFpe/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-sigFpe.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sigFpe',
+    '-I' + recursive_include_dirs / 'applications/test/sigFpe',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sigFpe = executable(
+    'Test_sigFpe',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/simpleMatrix/meson.build b/applications/test/simpleMatrix/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7fd6e441ce71e153b6a0aab58ce48781ac70d2f6
--- /dev/null
+++ b/applications/test/simpleMatrix/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-simpleMatrix.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/simpleMatrix',
+    '-I' + recursive_include_dirs / 'applications/test/simpleMatrix',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_simpleMatrix = executable(
+    'Test_simpleMatrix',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sizeof/meson.build b/applications/test/sizeof/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..98c7aed0c1516d783e9a2ae09469ab48f7f53ac0
--- /dev/null
+++ b/applications/test/sizeof/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-sizeof.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sizeof',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/sizeof',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sizeof = executable(
+    'Test_sizeof',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sliceRange/meson.build b/applications/test/sliceRange/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1b5d047684b1b97ae8fdaff6990bed6b7cf5f0cf
--- /dev/null
+++ b/applications/test/sliceRange/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-sliceRange.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sliceRange',
+    '-I' + recursive_include_dirs / 'applications/test/sliceRange',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sliceRange = executable(
+    'Test_sliceRange',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/slicedField/meson.build b/applications/test/slicedField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2012ea9faf8aae88c0468b4005fce224e4df1075
--- /dev/null
+++ b/applications/test/slicedField/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-slicedField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/slicedField',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/slicedField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_slicedField = executable(
+    'Test_slicedField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sort/meson.build b/applications/test/sort/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e30c26d77396588cb336a1279c613f3b021a33c
--- /dev/null
+++ b/applications/test/sort/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-sortList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sort',
+    '-I' + recursive_include_dirs / 'applications/test/sort',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sortList = executable(
+    'Test_sortList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/speed/meson.build b/applications/test/speed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c82c6c20d42fec0058c58a92c06215640bea3ca
--- /dev/null
+++ b/applications/test/speed/meson.build
@@ -0,0 +1,2 @@
+subdir('scalarSpeed')
+subdir('vectorSpeed')
diff --git a/applications/test/speed/scalarSpeed/meson.build b/applications/test/speed/scalarSpeed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..77156efd89728f81d6fe509496438ef75ee557f5
--- /dev/null
+++ b/applications/test/speed/scalarSpeed/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-scalarSpeed.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/speed/scalarSpeed',
+    '-I' + recursive_include_dirs / 'applications/test/speed/scalarSpeed',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_scalarSpeed = executable(
+    'Test_scalarSpeed',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/speed/vectorSpeed/meson.build b/applications/test/speed/vectorSpeed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..99751dcabef291930865b9fdf9631f14972f4bb6
--- /dev/null
+++ b/applications/test/speed/vectorSpeed/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-vectorSpeed.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/speed/vectorSpeed',
+    '-I' + recursive_include_dirs / 'applications/test/speed/vectorSpeed',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_vectorSpeed = executable(
+    'Test_vectorSpeed',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/spline/meson.build b/applications/test/spline/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..58775aa37a7178ec6868166acda43edd01137c9e
--- /dev/null
+++ b/applications/test/spline/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-spline.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_blockMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/spline',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/test/spline',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_spline = executable(
+    'Test_spline',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/splitFunctionArgs/meson.build b/applications/test/splitFunctionArgs/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a1f557d951e522db53c4097b4e8925597531fb76
--- /dev/null
+++ b/applications/test/splitFunctionArgs/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-splitFunctionArgs.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/splitFunctionArgs',
+    '-I' + recursive_include_dirs / 'applications/test/splitFunctionArgs',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_splitFunctionArgs = executable(
+    'Test_splitFunctionArgs',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/string/meson.build b/applications/test/string/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f1532e66c1de222387a807bcc53af1b42c778ba3
--- /dev/null
+++ b/applications/test/string/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-string.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/string',
+    '-I' + recursive_include_dirs / 'applications/test/string',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_string = executable(
+    'Test_string',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/string2/meson.build b/applications/test/string2/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1f8509cff4aa2ab57e7278f2412176c34848fc1f
--- /dev/null
+++ b/applications/test/string2/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-string2.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/string2',
+    '-I' + recursive_include_dirs / 'applications/test/string2',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_string2 = executable(
+    'Test_string2',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/stringList/meson.build b/applications/test/stringList/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9b5939aafce23fde837bc7b5fade30f9434bd818
--- /dev/null
+++ b/applications/test/stringList/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-stringList.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/stringList',
+    '-I' + recursive_include_dirs / 'applications/test/stringList',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_stringList = executable(
+    'Test_stringList',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/stringSplit/meson.build b/applications/test/stringSplit/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a3c9d8001bce957946e219d0f1b735449fe4f833
--- /dev/null
+++ b/applications/test/stringSplit/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-stringSplit.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/stringSplit',
+    '-I' + recursive_include_dirs / 'applications/test/stringSplit',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_stringSplit = executable(
+    'Test_stringSplit',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/surfaceIntersection/meson.build b/applications/test/surfaceIntersection/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..72ead749a2f78d63ecd59d6724fa01e8fc340104
--- /dev/null
+++ b/applications/test/surfaceIntersection/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-surfaceIntersection.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/surfaceIntersection',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/surfaceIntersection',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_surfaceIntersection = executable(
+    'Test_surfaceIntersection',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/surfaceMeshConvert/meson.build b/applications/test/surfaceMeshConvert/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b1a14c7b5902b3f264301f2928949112eec9bc9f
--- /dev/null
+++ b/applications/test/surfaceMeshConvert/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-surfaceMeshConvert.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/surfaceMeshConvert',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/test/surfaceMeshConvert',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_surfaceMeshConvert = executable(
+    'Test_surfaceMeshConvert',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/surfaceReading/meson.build b/applications/test/surfaceReading/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..612dac72371eb0a4490747153161e1858ef8b57b
--- /dev/null
+++ b/applications/test/surfaceReading/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-surfaceReading.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/surfaceReading',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/test/surfaceReading',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_surfaceReading = executable(
+    'Test_surfaceReading',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/surfaceTree/meson.build b/applications/test/surfaceTree/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..02decf7ab88b1c1b032f5626b8240f1404b0bbe6
--- /dev/null
+++ b/applications/test/surfaceTree/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-surfaceTree.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/surfaceTree',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/surfaceTree',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_surfaceTree = executable(
+    'Test_surfaceTree',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/surfaceWriter/meson.build b/applications/test/surfaceWriter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bc316bac5a1aa8aabb9273199c1c206fcd9d7236
--- /dev/null
+++ b/applications/test/surfaceWriter/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-surfaceWriter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/surfaceWriter',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/test/surfaceWriter',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_surfaceWriter = executable(
+    'Test_surfaceWriter',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/syncTools/meson.build b/applications/test/syncTools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..82f42bead78ccafda60da61d6698a19f5da3b35a
--- /dev/null
+++ b/applications/test/syncTools/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-syncTools.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/syncTools',
+    '-I' + recursive_include_dirs / 'applications/test/syncTools',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_syncTools = executable(
+    'Test_syncTools',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/sysInfo/meson.build b/applications/test/sysInfo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..66b956e3fa45f66ec972862502c40c0a3212c196
--- /dev/null
+++ b/applications/test/sysInfo/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-sysInfo.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/sysInfo',
+    '-I' + recursive_include_dirs / 'applications/test/sysInfo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_sysInfo = executable(
+    'Test_sysInfo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/tensor2D/meson.build b/applications/test/tensor2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a8952e807b8537cda56f7720c39d53aeff82bb78
--- /dev/null
+++ b/applications/test/tensor2D/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-tensor2D.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/tensor2D',
+    '-I' + recursive_include_dirs / 'applications/test/tensor2D',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_tensor2D = executable(
+    'Test_tensor2D',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/tensorFields1/meson.build b/applications/test/tensorFields1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..63391a1906903ee848a8d28a9fc10db7f230e4c2
--- /dev/null
+++ b/applications/test/tensorFields1/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-tensorFields1.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/tensorFields1',
+    '-I' + recursive_include_dirs / 'applications/test/tensorFields1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_tensorFields1 = executable(
+    'Test_tensorFields1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/testFunctionObjects/meson.build b/applications/test/testFunctionObjects/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ab81f9f895bea0f1f9d91ad47eb568214b2002c8
--- /dev/null
+++ b/applications/test/testFunctionObjects/meson.build
@@ -0,0 +1,23 @@
+srcfiles = [
+    lnInclude_hack,
+    'fakeError/fakeErrorFunctionObject.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/testFunctionObjects',
+    '-I' + recursive_include_dirs / 'applications/test/testFunctionObjects',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_testFunctionObjects = library(
+    'testFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
+pkg.generate(lib_testFunctionObjects)
diff --git a/applications/test/tetTetOverlap/meson.build b/applications/test/tetTetOverlap/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5e5ae7ff46a6804fb25f1f966c3686c5cf37e553
--- /dev/null
+++ b/applications/test/tetTetOverlap/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-tetTetOverlap.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/tetTetOverlap',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/tetTetOverlap',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_tetTetOverlap = executable(
+    'Test_tetTetOverlap',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/thermoMixture/meson.build b/applications/test/thermoMixture/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c1abf0a977a42c7ae406a44ea515e8b2c0a17897
--- /dev/null
+++ b/applications/test/thermoMixture/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-thermoMixture.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/thermoMixture',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/test/thermoMixture',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_thermoMixture = executable(
+    'Test_thermoMixture',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/timeSelector/meson.build b/applications/test/timeSelector/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ae4cfe57b71077723a7c8a4e2cacd5978b38d920
--- /dev/null
+++ b/applications/test/timeSelector/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-timeSelector.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/timeSelector',
+    '-I' + recursive_include_dirs / 'applications/test/timeSelector',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_timeSelector = executable(
+    'Test_timeSelector',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/tmp/meson.build b/applications/test/tmp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2af2e47f8865ad6a351302aba6a67244e5db7eaa
--- /dev/null
+++ b/applications/test/tmp/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-tmp.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/tmp',
+    '-I' + recursive_include_dirs / 'applications/test/tmp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_tmp = executable(
+    'Test_tmp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/token/meson.build b/applications/test/token/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..74386c3635404cabf90182076056d19639d89b4b
--- /dev/null
+++ b/applications/test/token/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-token.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/token',
+    '-I' + recursive_include_dirs / 'applications/test/token',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_token = executable(
+    'Test_token',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/tokenize/meson.build b/applications/test/tokenize/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1b9d989c134618825703230ae5bd424d3f315dd8
--- /dev/null
+++ b/applications/test/tokenize/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-tokenize.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-DFULLDEBUG',
+    '-g',
+    '-O0',
+    '-I' + meson.source_root() / 'applications/test/tokenize',
+    '-I' + recursive_include_dirs / 'applications/test/tokenize',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_tokenize = executable(
+    'Test_tokenize',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/treeComms/meson.build b/applications/test/treeComms/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc11a5a1246194cd24437b3f2c91c9bea1294217
--- /dev/null
+++ b/applications/test/treeComms/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-treeComms.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/treeComms',
+    '-I' + recursive_include_dirs / 'applications/test/treeComms',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_treeComms = executable(
+    'Test_treeComms',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/triTet/meson.build b/applications/test/triTet/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc5a454c71483d9450d6c15496263f5028b7c743
--- /dev/null
+++ b/applications/test/triTet/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-triTet.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/triTet',
+    '-I' + recursive_include_dirs / 'applications/test/triTet',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_triTet = executable(
+    'Test_triTet',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/triangleIntersection/meson.build b/applications/test/triangleIntersection/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8302608a3fd57845c4d5776d44930d63753a16ea
--- /dev/null
+++ b/applications/test/triangleIntersection/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-triangleIntersection.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/triangleIntersection',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/triangleIntersection',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_triangleIntersection = executable(
+    'Test_triangleIntersection',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/unitConversion/meson.build b/applications/test/unitConversion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e1441812634bcd2ac30ef6c87e74a05982cc24bb
--- /dev/null
+++ b/applications/test/unitConversion/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-unitConversion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/unitConversion',
+    '-I' + recursive_include_dirs / 'applications/test/unitConversion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_unitConversion = executable(
+    'Test_unitConversion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/vector/meson.build b/applications/test/vector/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b9e66cf6b377110bab9ec9b59c11764b8676e204
--- /dev/null
+++ b/applications/test/vector/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-vector.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/vector',
+    '-I' + recursive_include_dirs / 'applications/test/vector',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_vector = executable(
+    'Test_vector',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/vectorTools/meson.build b/applications/test/vectorTools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cf18e5c9f69948fd0a716e891ebd6a569408e2ac
--- /dev/null
+++ b/applications/test/vectorTools/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-vectorTools.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/vectorTools',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/vectorTools',
+    '-I' + recursive_include_dirs / 'applications/test/vectorTools',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_vectorTools = executable(
+    'Test_vectorTools',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/volField/meson.build b/applications/test/volField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cef79029739e5a55e51c95b8141235452d8dc8a0
--- /dev/null
+++ b/applications/test/volField/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-volField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/volField',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/volField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_volField = executable(
+    'Test_volField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/volPointInterpolation/meson.build b/applications/test/volPointInterpolation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..90dd1f6825410f7c0167a5ab7ee7492587764dcd
--- /dev/null
+++ b/applications/test/volPointInterpolation/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-volPointInterpolation.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/volPointInterpolation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/volPointInterpolation',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_volPointInterpolation = executable(
+    'Test_volPointInterpolation',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/vtkSeriesWriter/meson.build b/applications/test/vtkSeriesWriter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7ead31599bd46c388bc1af43fc37cb854e423d13
--- /dev/null
+++ b/applications/test/vtkSeriesWriter/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-vtkSeriesWriter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/vtkSeriesWriter',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'applications/test/vtkSeriesWriter',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_vtkSeriesWriter = executable(
+    'Test_vtkSeriesWriter',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/vtmWriter/meson.build b/applications/test/vtmWriter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..47091c6e08ee623492035182bb9a159560d63d2f
--- /dev/null
+++ b/applications/test/vtmWriter/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-vtmWriter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/vtmWriter',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'applications/test/vtmWriter',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_vtmWriter = executable(
+    'Test_vtmWriter',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/wallDist/meson.build b/applications/test/wallDist/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b83069618af7c5447bb791f547dcf4d6846efb9b
--- /dev/null
+++ b/applications/test/wallDist/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-wallDist.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/wallDist',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/wallDist',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_wallDist = executable(
+    'Test_wallDist',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/wallDistDyM/meson.build b/applications/test/wallDistDyM/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..46fe9ac30a504b8625e5ac76f064cf0a0658dccf
--- /dev/null
+++ b/applications/test/wallDistDyM/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-wallDistDyM.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/wallDistDyM',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/test/wallDistDyM',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_wallDistDyM = executable(
+    'Test_wallDistDyM',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/wmake1/meson.build b/applications/test/wmake1/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2e3510fcb4ad1328c2aefa7da49f0cfed792ef61
--- /dev/null
+++ b/applications/test/wmake1/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-wmake1.C',
+    'newStub.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/wmake1',
+    '-I' + recursive_include_dirs / 'applications/test/wmake1',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_wmake1 = executable(
+    'Test_wmake1',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/wordRe/meson.build b/applications/test/wordRe/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e02802ad5ea60240e68f23cb5deaf8850e8f2493
--- /dev/null
+++ b/applications/test/wordRe/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-wordRe.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/wordRe',
+    '-I' + recursive_include_dirs / 'applications/test/wordRe',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_wordRe = executable(
+    'Test_wordRe',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/write-wrapped-string/meson.build b/applications/test/write-wrapped-string/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..23c92971e2a83d876bca04cf73e66bf3ea5f0db8
--- /dev/null
+++ b/applications/test/write-wrapped-string/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-write-wrapped-string.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/write-wrapped-string',
+    '-I' + recursive_include_dirs / 'applications/test/write-wrapped-string',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_write_wrapped_string = executable(
+    'Test_write_wrapped_string',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/test/zoneDistribute/meson.build b/applications/test/zoneDistribute/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc8eadd54a14bbb06e5c4cf8e9eccc9e1d5dc1fe
--- /dev/null
+++ b/applications/test/zoneDistribute/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'Test-zoneDistribute.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/test/zoneDistribute',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/test/zoneDistribute',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_Test_zoneDistribute = executable(
+    'Test_zoneDistribute',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/applications/tools/foamCalc/meson.build b/applications/tools/foamCalc/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d64098d7ada9ad31fd4ef4756b45f46baa4cc7ac
--- /dev/null
+++ b/applications/tools/foamCalc/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamCalc.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/tools/foamCalc',
+    '-I' + recursive_include_dirs / 'applications/tools/foamCalc',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamCalc = executable(
+    'foamCalc',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/tools/foamExprParserInfo/meson.build b/applications/tools/foamExprParserInfo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dcb7401835f762f03cf79bb23a4c40879551e942
--- /dev/null
+++ b/applications/tools/foamExprParserInfo/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamExprParserInfo.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/tools/foamExprParserInfo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/tools/foamExprParserInfo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamExprParserInfo = executable(
+    'foamExprParserInfo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/tools/meson.build b/applications/tools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ac85b8870779c179c7c0b358cc338cbcef216bef
--- /dev/null
+++ b/applications/tools/meson.build
@@ -0,0 +1,2 @@
+subdir('foamCalc')
+subdir('foamExprParserInfo')
diff --git a/applications/utilities/finiteArea/checkFaMesh/meson.build b/applications/utilities/finiteArea/checkFaMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f30711ff5f9d38ec2313675593838e2fe7f96a57
--- /dev/null
+++ b/applications/utilities/finiteArea/checkFaMesh/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'checkFaMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/finiteArea/checkFaMesh',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/finiteArea/checkFaMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_checkFaMesh = executable(
+    'checkFaMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/finiteArea/makeFaMesh/meson.build b/applications/utilities/finiteArea/makeFaMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8cb763b7390a50cbf18813238c641f53796dd1ad
--- /dev/null
+++ b/applications/utilities/finiteArea/makeFaMesh/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'makeFaMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_faDecompose,
+    lib_faReconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/finiteArea/makeFaMesh',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/faDecompose',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/faReconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/finiteArea/makeFaMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_makeFaMesh = executable(
+    'makeFaMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/finiteArea/meson.build b/applications/utilities/finiteArea/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..444dbd76dfa446682fc1c41d82f6798144200d5b
--- /dev/null
+++ b/applications/utilities/finiteArea/meson.build
@@ -0,0 +1,2 @@
+subdir('checkFaMesh')
+subdir('makeFaMesh')
diff --git a/applications/utilities/mesh/advanced/PDRMesh/meson.build b/applications/utilities/mesh/advanced/PDRMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b2183bf4b2d61e71ed35d06955610f099c82bbda
--- /dev/null
+++ b/applications/utilities/mesh/advanced/PDRMesh/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'PDRMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/PDRMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/PDRMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_PDRMesh = executable(
+    'PDRMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/collapseEdges/meson.build b/applications/utilities/mesh/advanced/collapseEdges/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..521cb1c324dd4ef20f88034430020947ee6e18cc
--- /dev/null
+++ b/applications/utilities/mesh/advanced/collapseEdges/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'collapseEdges.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/collapseEdges',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/collapseEdges',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_collapseEdges = executable(
+    'collapseEdges',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/meson.build b/applications/utilities/mesh/advanced/combinePatchFaces/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b51d1df1e22a7c9e9308972b58d7b31768e6e379
--- /dev/null
+++ b/applications/utilities/mesh/advanced/combinePatchFaces/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'combinePatchFaces.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/combinePatchFaces',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/combinePatchFaces',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_combinePatchFaces = executable(
+    'combinePatchFaces',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/meson.build b/applications/utilities/mesh/advanced/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e2d21f35ee583c408b4157d8130aec2cd0094fa5
--- /dev/null
+++ b/applications/utilities/mesh/advanced/meson.build
@@ -0,0 +1,11 @@
+subdir('PDRMesh')
+subdir('collapseEdges')
+subdir('combinePatchFaces')
+subdir('modifyMesh')
+subdir('refineHexMesh')
+subdir('refineWallLayer')
+subdir('refinementLevel')
+subdir('removeFaces')
+subdir('selectCells')
+subdir('snappyRefineMesh')
+subdir('splitCells')
diff --git a/applications/utilities/mesh/advanced/modifyMesh/meson.build b/applications/utilities/mesh/advanced/modifyMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2e403681beceafe364d714e48fdc657bff8d2eba
--- /dev/null
+++ b/applications/utilities/mesh/advanced/modifyMesh/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'cellSplitter.C',
+    'modifyMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/modifyMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/modifyMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_modifyMesh = executable(
+    'modifyMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/refineHexMesh/meson.build b/applications/utilities/mesh/advanced/refineHexMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c3d16490997da6e2fb15f60a20c1ec35be33f0bc
--- /dev/null
+++ b/applications/utilities/mesh/advanced/refineHexMesh/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'refineHexMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/refineHexMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/refineHexMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_refineHexMesh = executable(
+    'refineHexMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/refineWallLayer/meson.build b/applications/utilities/mesh/advanced/refineWallLayer/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5d51f1fc0b32fea8c237ba77900be16052e20157
--- /dev/null
+++ b/applications/utilities/mesh/advanced/refineWallLayer/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'refineWallLayer.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/refineWallLayer',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/refineWallLayer',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_refineWallLayer = executable(
+    'refineWallLayer',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/refinementLevel/meson.build b/applications/utilities/mesh/advanced/refinementLevel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..473c17ac20a69054b35b244f19e2fd3180ec7401
--- /dev/null
+++ b/applications/utilities/mesh/advanced/refinementLevel/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'refinementLevel.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/refinementLevel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/refinementLevel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_refinementLevel = executable(
+    'refinementLevel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/removeFaces/meson.build b/applications/utilities/mesh/advanced/removeFaces/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6bcf14d28a117482950d6a96bea26355cf76311f
--- /dev/null
+++ b/applications/utilities/mesh/advanced/removeFaces/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'removeFaces.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/removeFaces',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/removeFaces',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_removeFaces = executable(
+    'removeFaces',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/selectCells/meson.build b/applications/utilities/mesh/advanced/selectCells/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f277802c9977beea548c0fe6fb0cee247d18c30c
--- /dev/null
+++ b/applications/utilities/mesh/advanced/selectCells/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'edgeStats.C',
+    'selectCells.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_lagrangian,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/selectCells',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/selectCells',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_selectCells = executable(
+    'selectCells',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/snappyRefineMesh/meson.build b/applications/utilities/mesh/advanced/snappyRefineMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a2abfa67e7a9affb83dc1aa0060c324175400795
--- /dev/null
+++ b/applications/utilities/mesh/advanced/snappyRefineMesh/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'snappyRefineMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_lagrangian,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/snappyRefineMesh',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/snappyRefineMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_snappyRefineMesh = executable(
+    'snappyRefineMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/advanced/splitCells/meson.build b/applications/utilities/mesh/advanced/splitCells/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..144f2755e0c1c2a1270c97f15f1c365c335a4e0a
--- /dev/null
+++ b/applications/utilities/mesh/advanced/splitCells/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'splitCells.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/advanced/splitCells',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/advanced/splitCells',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_splitCells = executable(
+    'splitCells',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ansysToFoam/meson.build b/applications/utilities/mesh/conversion/ansysToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5d528a51980c9855f5e09f495b90ada8b8b58fd2
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ansysToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('ansysToFoam.L'),
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/ansysToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/ansysToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_ansysToFoam = executable(
+    'ansysToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ccm/ccmToFoam/meson.build b/applications/utilities/mesh/conversion/ccm/ccmToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0e35eca282b108dc124cc82b19e516fa7b127832
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ccm/ccmToFoam/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'ccmToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_genericPatchFields,
+    lib_meshTools,
+    lib_conversion,
+    lib_ccm,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/ccm/ccmToFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/conversion/ccm',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/ccm/ccmToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_ccmToFoam = executable(
+    'ccmToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ccm/foamToCcm/meson.build b/applications/utilities/mesh/conversion/ccm/foamToCcm/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..495c8e11d7810b51d761c3bd902d63751ac9cf79
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ccm/foamToCcm/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToCcm.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_genericPatchFields,
+    lib_conversion,
+    lib_ccm,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/ccm/foamToCcm',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/conversion/ccm',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/ccm/foamToCcm',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToCcm = executable(
+    'foamToCcm',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ccm/meson.build b/applications/utilities/mesh/conversion/ccm/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d5e852e9373bfeaa8fe74727925b0013053c226e
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ccm/meson.build
@@ -0,0 +1,2 @@
+subdir('ccmToFoam')
+subdir('foamToCcm')
diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/meson.build b/applications/utilities/mesh/conversion/cfx4ToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a9f210a61ee21db3ba5b7e29e6c504c898afb26c
--- /dev/null
+++ b/applications/utilities/mesh/conversion/cfx4ToFoam/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'hexBlock.C',
+    'cfx4ToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/cfx4ToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/cfx4ToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_cfx4ToFoam = executable(
+    'cfx4ToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/datToFoam/meson.build b/applications/utilities/mesh/conversion/datToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f1b88a5a27d2047be032b1cde156a78ec50692c6
--- /dev/null
+++ b/applications/utilities/mesh/conversion/datToFoam/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'datToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/datToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/datToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_datToFoam = executable(
+    'datToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ensightToFoam/meson.build b/applications/utilities/mesh/conversion/ensightToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..065fb48e514a73340b98f517bdb84216a533a939
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ensightToFoam/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'ensightMeshReader.C',
+    'ensightToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/ensightToFoam',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/ensightToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_ensightToFoam = executable(
+    'ensightToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/fireToFoam/meson.build b/applications/utilities/mesh/conversion/fireToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..169e080aa099986487b8a02642f56421fdf42e5a
--- /dev/null
+++ b/applications/utilities/mesh/conversion/fireToFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'fireToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/fireToFoam',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/fireToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_fireToFoam = executable(
+    'fireToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/meson.build b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a2f0ba5832fb65a38fb1da267e4aa69cb8546cc5
--- /dev/null
+++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('fluent3DMeshToFoam.L'),
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/fluent3DMeshToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/fluent3DMeshToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_fluent3DMeshToFoam = executable(
+    'fluent3DMeshToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/meson.build b/applications/utilities/mesh/conversion/fluentMeshToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a61eec9439302bd0478bf1b831d679445fdc7612
--- /dev/null
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('fluentMeshToFoam.L'),
+    'extrudedTriangleCellShape.C',
+    'extrudedQuadCellShape.C',
+    'create3DCellShape.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/fluentMeshToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/fluentMeshToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_fluentMeshToFoam = executable(
+    'fluentMeshToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/meson.build b/applications/utilities/mesh/conversion/foamMeshToFluent/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..621b9d5e26dc9926d85f5f7f1f60026d4aaccedc
--- /dev/null
+++ b/applications/utilities/mesh/conversion/foamMeshToFluent/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'fluentFvMesh.C',
+    'foamMeshToFluent.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/foamMeshToFluent',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/foamMeshToFluent',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamMeshToFluent = executable(
+    'foamMeshToFluent',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/foamToFireMesh/meson.build b/applications/utilities/mesh/conversion/foamToFireMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d277ba537dc0702ee67df5ae145b8ff18eb42731
--- /dev/null
+++ b/applications/utilities/mesh/conversion/foamToFireMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToFireMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/foamToFireMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/foamToFireMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToFireMesh = executable(
+    'foamToFireMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/foamToStarMesh/meson.build b/applications/utilities/mesh/conversion/foamToStarMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2a28abc93316780106d5b2861ae1e6873429ab0f
--- /dev/null
+++ b/applications/utilities/mesh/conversion/foamToStarMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToStarMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/foamToStarMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/foamToStarMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToStarMesh = executable(
+    'foamToStarMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/foamToSurface/meson.build b/applications/utilities/mesh/conversion/foamToSurface/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..394ae7733a0fc408f37ced86e43daaf1ddffe20d
--- /dev/null
+++ b/applications/utilities/mesh/conversion/foamToSurface/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToSurface.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/foamToSurface',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/foamToSurface',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToSurface = executable(
+    'foamToSurface',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/gambitToFoam/meson.build b/applications/utilities/mesh/conversion/gambitToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e317bb3e60cde90f1f1942490e3cb5ce202addd
--- /dev/null
+++ b/applications/utilities/mesh/conversion/gambitToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('gambitToFoam.L'),
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/gambitToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/gambitToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_gambitToFoam = executable(
+    'gambitToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/gmshToFoam/meson.build b/applications/utilities/mesh/conversion/gmshToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..58d38d4d84d26b1c5637e08be5922213415e3ed5
--- /dev/null
+++ b/applications/utilities/mesh/conversion/gmshToFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'gmshToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_dynamicMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/gmshToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/gmshToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_gmshToFoam = executable(
+    'gmshToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/meson.build b/applications/utilities/mesh/conversion/ideasUnvToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..37795776f1ef4b64a52d1b2a18186a7a554fa8e5
--- /dev/null
+++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'ideasUnvToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/ideasUnvToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/ideasUnvToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_ideasUnvToFoam = executable(
+    'ideasUnvToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/kivaToFoam/meson.build b/applications/utilities/mesh/conversion/kivaToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f68cf1c585ff1221fddddb8cd3da41094a1e578c
--- /dev/null
+++ b/applications/utilities/mesh/conversion/kivaToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'kivaToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/kivaToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/kivaToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_kivaToFoam = executable(
+    'kivaToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/meson.build b/applications/utilities/mesh/conversion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..74a638cb66fda6703cc243d1032c4a244250605e
--- /dev/null
+++ b/applications/utilities/mesh/conversion/meson.build
@@ -0,0 +1,23 @@
+subdir('ansysToFoam')
+subdir('ccm')
+subdir('cfx4ToFoam')
+subdir('datToFoam')
+subdir('ensightToFoam')
+subdir('fireToFoam')
+subdir('fluent3DMeshToFoam')
+subdir('fluentMeshToFoam')
+subdir('foamMeshToFluent')
+subdir('foamToFireMesh')
+subdir('foamToStarMesh')
+subdir('foamToSurface')
+subdir('gambitToFoam')
+subdir('gmshToFoam')
+subdir('ideasUnvToFoam')
+subdir('kivaToFoam')
+subdir('mshToFoam')
+subdir('netgenNeutralToFoam')
+subdir('plot3dToFoam')
+subdir('star4ToFoam')
+subdir('tetgenToFoam')
+subdir('vtkUnstructuredToFoam')
+subdir('writeMeshObj')
diff --git a/applications/utilities/mesh/conversion/mshToFoam/meson.build b/applications/utilities/mesh/conversion/mshToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b2c972d7c00414b190b533159a065cbde3bbf62a
--- /dev/null
+++ b/applications/utilities/mesh/conversion/mshToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'mshToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/mshToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/mshToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mshToFoam = executable(
+    'mshToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/netgenNeutralToFoam/meson.build b/applications/utilities/mesh/conversion/netgenNeutralToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b7b7279f46818eda2840d7b84370b69dc519b8ca
--- /dev/null
+++ b/applications/utilities/mesh/conversion/netgenNeutralToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'netgenNeutralToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/netgenNeutralToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/netgenNeutralToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_netgenNeutralToFoam = executable(
+    'netgenNeutralToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/meson.build b/applications/utilities/mesh/conversion/plot3dToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ba9253169ab5cf67049f9fc2cd1102d14e88d986
--- /dev/null
+++ b/applications/utilities/mesh/conversion/plot3dToFoam/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'hexBlock.C',
+    'plot3dToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/plot3dToFoam',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/plot3dToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_plot3dToFoam = executable(
+    'plot3dToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/star4ToFoam/meson.build b/applications/utilities/mesh/conversion/star4ToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4a6f3e41a29290d15f6d0c31c720478d0507ccd0
--- /dev/null
+++ b/applications/utilities/mesh/conversion/star4ToFoam/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'star4ToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conversion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/star4ToFoam',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/star4ToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_star4ToFoam = executable(
+    'star4ToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/meson.build b/applications/utilities/mesh/conversion/tetgenToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8f2a119823b9c060d0914b636ae007b484c86328
--- /dev/null
+++ b/applications/utilities/mesh/conversion/tetgenToFoam/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'tetgenToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/tetgenToFoam',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/tetgenToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_tetgenToFoam = executable(
+    'tetgenToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/meson.build b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..085f0945b27cfbf1ce91b5100e0496a14577e6c1
--- /dev/null
+++ b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'vtkUnstructuredToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/vtkUnstructuredToFoam',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/vtkUnstructuredToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_vtkUnstructuredToFoam = executable(
+    'vtkUnstructuredToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/conversion/writeMeshObj/meson.build b/applications/utilities/mesh/conversion/writeMeshObj/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..944f6dd648ddc725ac694d287cc61657c0bbaa7d
--- /dev/null
+++ b/applications/utilities/mesh/conversion/writeMeshObj/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'writeMeshObj.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/conversion/writeMeshObj',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/conversion/writeMeshObj',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_writeMeshObj = executable(
+    'writeMeshObj',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/PDRblockMesh/meson.build b/applications/utilities/mesh/generation/PDRblockMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8a80d0ad831487cd952120258b573bb4d960bd64
--- /dev/null
+++ b/applications/utilities/mesh/generation/PDRblockMesh/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'PDRblockMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_blockMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/PDRblockMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/PDRblockMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_PDRblockMesh = executable(
+    'PDRblockMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/blockMesh/meson.build b/applications/utilities/mesh/generation/blockMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7315777e042abc0fac6805b4a5700be959a993d7
--- /dev/null
+++ b/applications/utilities/mesh/generation/blockMesh/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'blockMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_blockMesh,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/blockMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/blockMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_blockMesh = executable(
+    'blockMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/meson.build b/applications/utilities/mesh/generation/extrude/extrudeMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0a648dd50ede2ddbd2caf7f81633c32aa340f14e
--- /dev/null
+++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'extrudedMesh/extrudedMesh.C',
+    'extrudeMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_extrudeModel,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/extrude/extrudeMesh',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude/extrudeMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_extrudeMesh = executable(
+    'extrudeMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/meson.build b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..50831e2569c5fadca8b6b661d437b1695199b097
--- /dev/null
+++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'extrudeToRegionMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_extrudeModel,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/extrude/extrudeToRegionMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude/extrudeToRegionMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_extrudeToRegionMesh = executable(
+    'extrudeToRegionMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/extrude/meson.build b/applications/utilities/mesh/generation/extrude/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a118599ee0224af5f3f2b84cb6201115dd778b0f
--- /dev/null
+++ b/applications/utilities/mesh/generation/extrude/meson.build
@@ -0,0 +1,2 @@
+subdir('extrudeMesh')
+subdir('extrudeToRegionMesh')
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/meson.build b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fe0a9422c8d93b55beabba3e3bdd273bb88797a2
--- /dev/null
+++ b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'extrude2DMesh/extrude2DMesh.C',
+    'patchToPoly2DMesh/patchToPoly2DMesh.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_extrudeModel,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_extrude2DMesh = library(
+    'extrude2DMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_extrude2DMesh)
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/meson.build b/applications/utilities/mesh/generation/extrude2DMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7dabaade7ed66bead5356c10dbd6e48e6800c4c3
--- /dev/null
+++ b/applications/utilities/mesh/generation/extrude2DMesh/meson.build
@@ -0,0 +1 @@
+subdir('extrude2DMesh')
diff --git a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/meson.build b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..295d82ade0132f2a6487eead55cb08382c9f3f02
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'cellSizeAndAlignmentGrid.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conformalVoronoiMesh,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_decompositionMethods,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_ptscotchDecomp,
+    lib_scotchDecomp,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_cellSizeAndAlignmentGrid = executable(
+    'cellSizeAndAlignmentGrid',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..40eff698cc825efb7cd2da8383dfa474cd9f8ad4
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh/meson.build
@@ -0,0 +1,22 @@
+srcfiles = [
+    lnInclude_hack,
+    'cv2DControls/cv2DControls.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_cv2DMesh = library(
+    'cv2DMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_cv2DMesh)
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..457e7eb70dd62d15dfb6246caa8fb8f83b6e4b9a
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/meson.build
@@ -0,0 +1,94 @@
+srcfiles = [
+    lnInclude_hack,
+    'DelaunayMeshTools/DelaunayMeshTools.C',
+    'conformalVoronoiMesh/indexedVertex/indexedVertexEnum.C',
+    'conformalVoronoiMesh/indexedCell/indexedCellEnum.C',
+    'conformalVoronoiMesh/conformalVoronoiMesh.C',
+    'conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C',
+    'conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C',
+    'conformalVoronoiMesh/conformalVoronoiMeshZones.C',
+    'conformalVoronoiMesh/conformalVoronoiMeshIO.C',
+    'conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C',
+    'conformalVoronoiMesh/featurePointConformer/pointFeatureEdgesTypes.C',
+    'conformalVoronoiMesh/featurePointConformer/featurePointConformer.C',
+    'conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C',
+    'cvControls/cvControls.C',
+    'conformationSurfaces/conformationSurfaces.C',
+    'backgroundMeshDecomposition/backgroundMeshDecomposition.C',
+    'cellShapeControl/cellShapeControl/cellShapeControl.C',
+    'cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C',
+    'cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControls.C',
+    'cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl.C',
+    'cellShapeControl/cellSizeAndAlignmentControl/fileControl/fileControl.C',
+    'cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C',
+    'cellShapeControl/cellAspectRatioControl/cellAspectRatioControl.C',
+    'cellShapeControl/smoothAlignmentSolver/smoothAlignmentSolver.C',
+    'cellShapeControl/controlMeshRefinement/controlMeshRefinement.C',
+    'cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.C',
+    'cellSizeControlSurfaces/cellSizeFunction/uniform/uniform.C',
+    'cellSizeControlSurfaces/cellSizeFunction/uniformDistance/uniformDistance.C',
+    'cellSizeControlSurfaces/cellSizeFunction/linearDistance/linearDistance.C',
+    'cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C',
+    'cellSizeControlSurfaces/cellSizeFunction/linearSpatial/linearSpatial.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/surfaceCellSizeFunction/surfaceCellSizeFunction.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/uniformValue/uniformValue.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/cellSizeCalculationType/cellSizeCalculationType.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/fieldFromFile/fieldFromFile.C',
+    'cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/automatic/automatic.C',
+    'initialPointsMethod/initialPointsMethod/initialPointsMethod.C',
+    'initialPointsMethod/uniformGrid/uniformGrid.C',
+    'initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C',
+    'initialPointsMethod/faceCentredCubic/faceCentredCubic.C',
+    'initialPointsMethod/pointFile/pointFile.C',
+    'initialPointsMethod/autoDensity/autoDensity.C',
+    'initialPointsMethod/rayShooting/rayShooting.C',
+    'relaxationModel/relaxationModel/relaxationModel.C',
+    'relaxationModel/adaptiveLinear/adaptiveLinear.C',
+    'relaxationModel/rampHoldFall/rampHoldFall.C',
+    'faceAreaWeightModel/faceAreaWeightModel/faceAreaWeightModel.C',
+    'faceAreaWeightModel/piecewiseLinearRamp/piecewiseLinearRamp.C',
+    'searchableSurfaceFeatures/searchableSurfaceFeatures.C',
+    'searchableSurfaceFeatures/searchableBoxFeatures.C',
+    'searchableSurfaceFeatures/searchablePlateFeatures.C',
+    'searchableSurfaceFeatures/triSurfaceMeshFeatures.C',
+]
+link_with = [
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_decompose,
+    lib_dynamicMesh,
+    lib_snappyHexMesh,
+]
+dependencies = [
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/PrintTable',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_conformalVoronoiMesh = library(
+    'conformalVoronoiMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_conformalVoronoiMesh)
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e510febb387393f9e59c2db8c80a2d917ca62b7
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamyHexMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conformalVoronoiMesh,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_decompositionMethods,
+    lib_decompose,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_ptscotchDecomp,
+    lib_scotchDecomp,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/foamyHexMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/foamyHexMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamyHexMesh = executable(
+    'foamyHexMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..44d9776577fad95bbe21815344894c83effe142e
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamyHexMeshBackgroundMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_conformalVoronoiMesh,
+    lib_decompositionMethods,
+    lib_decompose,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_sampling,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamyHexMeshBackgroundMesh = executable(
+    'foamyHexMeshBackgroundMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7c63920fd1efcc1fe518abff74bb0fdd6c7bf795
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/meson.build
@@ -0,0 +1,61 @@
+srcfiles = [
+    lnInclude_hack,
+    'CV2D.C',
+    'insertFeaturePoints.C',
+    'insertSurfaceNearestPointPairs.C',
+    'insertSurfaceNearPointPairs.C',
+    'insertBoundaryConformPointPairs.C',
+    'CV2DIO.C',
+    'shortEdgeFilter2D.C',
+    'foamyQuadMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_extrude2DMesh,
+    lib_extrudeModel,
+    lib_cv2DMesh,
+    lib_conformalVoronoiMesh,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_decompositionMethods,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_ptscotchDecomp,
+    lib_scotchDecomp,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoi2DMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamyQuadMesh = executable(
+    'foamyQuadMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/generation/foamyMesh/meson.build b/applications/utilities/mesh/generation/foamyMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1bea502d1a5a26a0f3dce53996d1b6cd4331f313
--- /dev/null
+++ b/applications/utilities/mesh/generation/foamyMesh/meson.build
@@ -0,0 +1,6 @@
+subdir('conformalVoronoiMesh')
+subdir('conformalVoronoi2DMesh')
+subdir('cellSizeAndAlignmentGrid')
+subdir('foamyHexMesh')
+subdir('foamyHexMeshBackgroundMesh')
+subdir('foamyQuadMesh')
diff --git a/applications/utilities/mesh/generation/meson.build b/applications/utilities/mesh/generation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..48979994591e1d80042c285feb24f8568bc0a38d
--- /dev/null
+++ b/applications/utilities/mesh/generation/meson.build
@@ -0,0 +1,6 @@
+subdir('PDRblockMesh')
+subdir('blockMesh')
+subdir('extrude')
+subdir('extrude2DMesh')
+subdir('snappyHexMesh')
+subdir('foamyMesh')
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/meson.build b/applications/utilities/mesh/generation/snappyHexMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..beb5fdcfb508d4d2d203a3ea17bfbf65b1442ab0
--- /dev/null
+++ b/applications/utilities/mesh/generation/snappyHexMesh/meson.build
@@ -0,0 +1,48 @@
+srcfiles = [
+    lnInclude_hack,
+    'snappyHexMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_decompositionMethods,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_ptscotchDecomp,
+    lib_scotchDecomp,
+    lib_decompose,
+    lib_reconstruct,
+    lib_snappyHexMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_snappyHexMesh = executable(
+    'snappyHexMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/attachMesh/meson.build b/applications/utilities/mesh/manipulation/attachMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7942f12495b8933f8b4f68e9585ddd3afbd43ff2
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/attachMesh/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'attachMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_dynamicMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/attachMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/attachMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_attachMesh = executable(
+    'attachMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/autoPatch/meson.build b/applications/utilities/mesh/manipulation/autoPatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3630c25233fa9c0057d67ebf498b79190e87b022
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/autoPatch/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'autoPatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/autoPatch',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/autoPatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_autoPatch = executable(
+    'autoPatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/checkMesh/meson.build b/applications/utilities/mesh/manipulation/checkMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..79442563038d5d60aa092acc463befd37018f105
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/checkMesh/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'writeFields.C',
+    'checkTools.C',
+    'checkTopology.C',
+    'checkGeometry.C',
+    'checkMeshQuality.C',
+    'checkMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/checkMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/checkMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_checkMesh = executable(
+    'checkMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/createBaffles/meson.build b/applications/utilities/mesh/manipulation/createBaffles/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ac009c3e303e6c01ee9b7cff158876b1b6572d03
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/createBaffles/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'faceSelection/faceSelection.C',
+    'faceSelection/faceZoneSelection.C',
+    'faceSelection/searchableSurfaceSelection.C',
+    'createBaffles.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/createBaffles',
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/createBaffles/faceSelection',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/createBaffles',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_createBaffles = executable(
+    'createBaffles',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/createPatch/meson.build b/applications/utilities/mesh/manipulation/createPatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c46628302e4e8f1cfe6271067a6f0e92b4312357
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/createPatch/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'createPatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/createPatch',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/createPatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_createPatch = executable(
+    'createPatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/deformedGeom/meson.build b/applications/utilities/mesh/manipulation/deformedGeom/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..83d12405667179967af2e97041c259653914a3d6
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/deformedGeom/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'deformedGeom.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/deformedGeom',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/deformedGeom',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_deformedGeom = executable(
+    'deformedGeom',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/flattenMesh/meson.build b/applications/utilities/mesh/manipulation/flattenMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cfa650df56396124e39d9d2f9a9b120d163ddced
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/flattenMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'flattenMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/flattenMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/flattenMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_flattenMesh = executable(
+    'flattenMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/insideCells/meson.build b/applications/utilities/mesh/manipulation/insideCells/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5b5bb3470241e87875ffefbb5eaffc266f4cc491
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/insideCells/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'insideCells.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/insideCells',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/insideCells',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_insideCells = executable(
+    'insideCells',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/meson.build b/applications/utilities/mesh/manipulation/mergeMeshes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c60ff2563489e9f107ba2aee14d406a250919e5f
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/mergeMeshes/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'mergePolyMesh.C',
+    'mergeMeshes.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/mergeMeshes',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/mergeMeshes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mergeMeshes = executable(
+    'mergeMeshes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/meson.build b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..236685d0f30f18e38779760b69cff0a2719ef5fd
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'mergeOrSplitBaffles.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/mergeOrSplitBaffles',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/mergeOrSplitBaffles',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mergeOrSplitBaffles = executable(
+    'mergeOrSplitBaffles',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/meson.build b/applications/utilities/mesh/manipulation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bf87d41e3253c3073b0814723f7ef3e908a2864a
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/meson.build
@@ -0,0 +1,30 @@
+subdir('attachMesh')
+subdir('autoPatch')
+subdir('checkMesh')
+subdir('createBaffles')
+subdir('createPatch')
+subdir('deformedGeom')
+subdir('flattenMesh')
+subdir('insideCells')
+subdir('mergeMeshes')
+subdir('mergeOrSplitBaffles')
+subdir('mirrorMesh')
+subdir('moveDynamicMesh')
+subdir('moveEngineMesh')
+subdir('moveMesh')
+subdir('objToVTK')
+subdir('orientFaceZone')
+subdir('polyDualMesh')
+subdir('refineMesh')
+subdir('renumberMesh')
+subdir('rotateMesh')
+subdir('setSet')
+subdir('setsToZones')
+subdir('singleCellMesh')
+subdir('splitMesh')
+subdir('splitMeshRegions')
+subdir('stitchMesh')
+subdir('subsetMesh')
+subdir('topoSet')
+subdir('transformPoints')
+subdir('zipUpMesh')
diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/meson.build b/applications/utilities/mesh/manipulation/mirrorMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9e5a1cb0b8f0124853970724b17d9828786b2713
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/mirrorMesh/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'mirrorFvMesh.C',
+    'mirrorMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/mirrorMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/mirrorMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mirrorMesh = executable(
+    'mirrorMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/meson.build b/applications/utilities/mesh/manipulation/moveDynamicMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..327ac7f85972e455f9cd305b202a6e2e56590c94
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'moveDynamicMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/moveDynamicMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/moveDynamicMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_moveDynamicMesh = executable(
+    'moveDynamicMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/moveEngineMesh/meson.build b/applications/utilities/mesh/manipulation/moveEngineMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e70842702132918c96d4f2e4b66d9f8e953917d8
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/moveEngineMesh/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'moveEngineMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_engine,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/moveEngineMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/moveEngineMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_moveEngineMesh = executable(
+    'moveEngineMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/moveMesh/meson.build b/applications/utilities/mesh/manipulation/moveMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..10615ca059c7147ddf4d9cf97d64351af1ab6c3a
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/moveMesh/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'moveMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/moveMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/moveMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_moveMesh = executable(
+    'moveMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/objToVTK/meson.build b/applications/utilities/mesh/manipulation/objToVTK/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c37550ee3847827beddce3bf42e32ce5f463c968
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/objToVTK/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'objToVTK.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/objToVTK',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/objToVTK',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_objToVTK = executable(
+    'objToVTK',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/meson.build b/applications/utilities/mesh/manipulation/orientFaceZone/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a15e326204a7feb82c44f9eede1bb648afec7e26
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/orientFaceZone/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'orientFaceZone.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_snappyHexMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/orientFaceZone',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/orientFaceZone',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_orientFaceZone = executable(
+    'orientFaceZone',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/meson.build b/applications/utilities/mesh/manipulation/polyDualMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..100150de29134183e160c1ae7ce8edc5e21579d1
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/polyDualMesh/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'meshDualiser.C',
+    'polyDualMeshApp.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/polyDualMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/polyDualMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_polyDualMesh = executable(
+    'polyDualMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/refineMesh/meson.build b/applications/utilities/mesh/manipulation/refineMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c538e44de79b28ee8ae97103014360856775fbe
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/refineMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'refineMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/refineMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/refineMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_refineMesh = executable(
+    'refineMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/meson.build b/applications/utilities/mesh/manipulation/renumberMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..66e68ab64a9cd57e6d678cd931492256c9b739b1
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/renumberMesh/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'renumberMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_genericPatchFields,
+    lib_renumberMethods,
+    lib_reconstruct,
+    lib_decompositionMethods,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_scotchDecomp,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/renumberMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/renumber/renumberMethods',
+    '-I' + recursive_include_dirs / 'src/renumber/zoltanRenumber',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/renumberMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+if zoltan_dep.found()
+    cpp_args += '-DHAVE_ZOLTAN'
+    dependencies += zoltan_dep
+endif
+exe_renumberMesh = executable(
+    'renumberMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/rotateMesh/meson.build b/applications/utilities/mesh/manipulation/rotateMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c5fd4c18f04e39c0e09468268d0845e1de75584
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/rotateMesh/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'rotateMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/rotateMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/rotateMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_rotateMesh = executable(
+    'rotateMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/setSet/meson.build b/applications/utilities/mesh/manipulation/setSet/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..35c92e93e6b847ee94ae3099a0a63729f1bc0f62
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/setSet/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'setSet.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/setSet',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/setSet',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+if readline_dep.found()
+    cpp_args += '-DHAVE_LIBREADLINE'
+    dependencies += readline_dep
+endif
+exe_setSet = executable(
+    'setSet',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/setsToZones/meson.build b/applications/utilities/mesh/manipulation/setsToZones/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..748d6fcd4eb963b29fb9b75b8e7c273da82ea766
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/setsToZones/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'setsToZones.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/setsToZones',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/setsToZones',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setsToZones = executable(
+    'setsToZones',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/meson.build b/applications/utilities/mesh/manipulation/singleCellMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e4a124a24caccd0929163fba832ef79ced94e372
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/singleCellMesh/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'singleCellMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/singleCellMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/singleCellMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_singleCellMesh = executable(
+    'singleCellMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/splitMesh/meson.build b/applications/utilities/mesh/manipulation/splitMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9e47a0b7ea75db7dc5b29148f3cbe96e4d202fd9
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/splitMesh/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'regionSide.C',
+    'splitMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/splitMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/splitMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_splitMesh = executable(
+    'splitMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/meson.build b/applications/utilities/mesh/manipulation/splitMeshRegions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..18bbb466e4b51dda9ea61334c45d198ca61af427
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/splitMeshRegions/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'splitMeshRegions.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/splitMeshRegions',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/splitMeshRegions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_splitMeshRegions = executable(
+    'splitMeshRegions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/stitchMesh/meson.build b/applications/utilities/mesh/manipulation/stitchMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..072715b1f27af2048ac84b9d1f257b6c73e7d062
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/stitchMesh/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'stitchMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/stitchMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/stitchMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_stitchMesh = executable(
+    'stitchMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/subsetMesh/meson.build b/applications/utilities/mesh/manipulation/subsetMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..64d3a3b38012fb175af09144b0b677dfa12c8b3e
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/subsetMesh/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'subsetMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/subsetMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/subsetMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_subsetMesh = executable(
+    'subsetMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/topoSet/meson.build b/applications/utilities/mesh/manipulation/topoSet/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c79e625d5d672f097cc16cbfb8ff76867ad40c63
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/topoSet/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'topoSet.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/topoSet',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/topoSet',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_topoSet = executable(
+    'topoSet',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/transformPoints/meson.build b/applications/utilities/mesh/manipulation/transformPoints/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a4c7e9d605aa58b1299e67c50672dd85b12cfe00
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/transformPoints/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'transformPoints.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/transformPoints',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/transformPoints',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_transformPoints = executable(
+    'transformPoints',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/manipulation/zipUpMesh/meson.build b/applications/utilities/mesh/manipulation/zipUpMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..662452530d6e291224a27a51a677cfa0cbbe743b
--- /dev/null
+++ b/applications/utilities/mesh/manipulation/zipUpMesh/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'zipUpMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/manipulation/zipUpMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/manipulation/zipUpMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_zipUpMesh = executable(
+    'zipUpMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/mesh/meson.build b/applications/utilities/mesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7c096b256f97a6ac25d223cf074dca8b81543ad3
--- /dev/null
+++ b/applications/utilities/mesh/meson.build
@@ -0,0 +1,44 @@
+subdir('advanced')
+subdir('conversion')
+subdir('generation')
+subdir('manipulation')
+
+srcfiles = [
+    lnInclude_hack,
+    'generation/extrude2DMesh/extrude2DMeshApp.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_extrude2DMesh,
+    lib_extrudeModel,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/mesh/generation/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/mesh/generation/extrude2DMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_extrude2DMesh = executable(
+    'extrude2DMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/meson.build b/applications/utilities/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..17dff6185cdb3179c3a9184878def837c6c26919
--- /dev/null
+++ b/applications/utilities/meson.build
@@ -0,0 +1,8 @@
+subdir('finiteArea')
+subdir('mesh')
+subdir('miscellaneous')
+subdir('parallelProcessing')
+subdir('postProcessing')
+subdir('preProcessing')
+subdir('surface')
+subdir('thermophysical')
diff --git a/applications/utilities/miscellaneous/OSspecific/addr2line/meson.build b/applications/utilities/miscellaneous/OSspecific/addr2line/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e33616831ad9b3c43905d6b6d8afbcab322c1ec3
--- /dev/null
+++ b/applications/utilities/miscellaneous/OSspecific/addr2line/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'addr2line.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/OSspecific/addr2line',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/OSspecific/addr2line',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_addr2line = executable(
+    'addr2line',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/OSspecific/meson.build b/applications/utilities/miscellaneous/OSspecific/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bcfe4392832c0f46355b23ccce34f14da47ac116
--- /dev/null
+++ b/applications/utilities/miscellaneous/OSspecific/meson.build
@@ -0,0 +1 @@
+subdir('addr2line')
diff --git a/applications/utilities/miscellaneous/foamDictionary/meson.build b/applications/utilities/miscellaneous/foamDictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..eb48afb73461b7ec62fb1f21517a860d62753ca2
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamDictionary/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamDictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamDictionary',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamDictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamDictionary = executable(
+    'foamDictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamFormatConvert/meson.build b/applications/utilities/miscellaneous/foamFormatConvert/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f1c6a43b051a7664bfe4e6cc81911c75447b9daf
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamFormatConvert/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamFormatConvert.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamFormatConvert',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamFormatConvert',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamFormatConvert = executable(
+    'foamFormatConvert',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamHasLibrary/meson.build b/applications/utilities/miscellaneous/foamHasLibrary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..45f7f5018468576ebe1b2fe0310c8de2e022400d
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamHasLibrary/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamHasLibrary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamHasLibrary',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamHasLibrary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamHasLibrary = executable(
+    'foamHasLibrary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/meson.build b/applications/utilities/miscellaneous/foamHelp/helpTypes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..14c5875e580f120ba0636cfb209d4dee6e97a742
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'helpType/helpType.C',
+    'helpType/helpTypeNew.C',
+    'helpBoundary/helpBoundary.C',
+    'helpFunctionObject/helpFunctionObject.C',
+    'helpSolver/helpSolver.C',
+    'doxygenXmlParser/doxygenXmlParser.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_radiationModels,
+    lib_fluidThermophysicalModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamHelp/helpTypes',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamHelp/helpTypes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_helpTypes = library(
+    'helpTypes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_helpTypes)
diff --git a/applications/utilities/miscellaneous/foamHelp/meson.build b/applications/utilities/miscellaneous/foamHelp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fb9a4a7f98525c733705ae0ba7938a53eff00e1f
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamHelp/meson.build
@@ -0,0 +1,40 @@
+subdir('helpTypes')
+
+srcfiles = [
+    lnInclude_hack,
+    'foamHelp.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_helpTypes,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_radiationModels,
+    lib_fluidThermophysicalModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamHelp',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamHelp/helpTypes',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamHelp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamHelp = executable(
+    'foamHelp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamListRegions/meson.build b/applications/utilities/miscellaneous/foamListRegions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b74980b2cb19f90fc37a689921449e82a681f8c1
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamListRegions/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamListRegions.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamListRegions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamListRegions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamListRegions = executable(
+    'foamListRegions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamListTimes/meson.build b/applications/utilities/miscellaneous/foamListTimes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a984ad68ed31edfe82af5341c85b28ffdf96126
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamListTimes/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamListTimes.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamListTimes',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamListTimes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamListTimes = executable(
+    'foamListTimes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/foamRestoreFields/meson.build b/applications/utilities/miscellaneous/foamRestoreFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c029533612c750a2df9ac89ec44ab6b53892cc2b
--- /dev/null
+++ b/applications/utilities/miscellaneous/foamRestoreFields/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamRestoreFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/foamRestoreFields',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/foamRestoreFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamRestoreFields = executable(
+    'foamRestoreFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/miscellaneous/meson.build b/applications/utilities/miscellaneous/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0e383e59e4a7f06036be7d6c22879bdab9dd8125
--- /dev/null
+++ b/applications/utilities/miscellaneous/meson.build
@@ -0,0 +1,9 @@
+subdir('OSspecific')
+subdir('foamDictionary')
+subdir('foamFormatConvert')
+subdir('foamHasLibrary')
+subdir('foamHelp')
+subdir('foamListRegions')
+subdir('foamListTimes')
+subdir('foamRestoreFields')
+subdir('patchSummary')
diff --git a/applications/utilities/miscellaneous/patchSummary/meson.build b/applications/utilities/miscellaneous/patchSummary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..40bf35be522ca7a8ce2e9dfb3be136a91a8bc189
--- /dev/null
+++ b/applications/utilities/miscellaneous/patchSummary/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'patchSummary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/miscellaneous/patchSummary',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/miscellaneous/patchSummary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_patchSummary = executable(
+    'patchSummary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/parallelProcessing/decomposePar/meson.build b/applications/utilities/parallelProcessing/decomposePar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f9b47030ba3097fd63dd6eb6f8a670c2a66925b5
--- /dev/null
+++ b/applications/utilities/parallelProcessing/decomposePar/meson.build
@@ -0,0 +1,54 @@
+srcfiles = [
+    lnInclude_hack,
+    'decomposePar.C',
+    'domainDecomposition.C',
+    'domainDecompositionMesh.C',
+    'domainDecompositionDistribute.C',
+    'domainDecompositionWrite.C',
+    'domainDecompositionDryRun.C',
+    'domainDecompositionDryRunWrite.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_dynamicMesh,
+    lib_genericPatchFields,
+    lib_decompositionMethods,
+    lib_decompose,
+    lib_faDecompose,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_scotchDecomp,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/parallelProcessing/decomposePar',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/faDecompose',
+    '-I' + recursive_include_dirs / 'applications/utilities/parallelProcessing/decomposePar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_decomposePar = executable(
+    'decomposePar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/parallelProcessing/meson.build b/applications/utilities/parallelProcessing/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4f7830e994dd600417352375bdabdb004c12e4b8
--- /dev/null
+++ b/applications/utilities/parallelProcessing/meson.build
@@ -0,0 +1,4 @@
+subdir('decomposePar')
+subdir('reconstructPar')
+subdir('reconstructParMesh')
+subdir('redistributePar')
diff --git a/applications/utilities/parallelProcessing/reconstructPar/meson.build b/applications/utilities/parallelProcessing/reconstructPar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f955dfe08764df44a5802ab6831cf28f77887c3c
--- /dev/null
+++ b/applications/utilities/parallelProcessing/reconstructPar/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'reconstructPar.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_genericPatchFields,
+    lib_dynamicMesh,
+    lib_reconstruct,
+    lib_faReconstruct,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/parallelProcessing/reconstructPar',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/faReconstruct',
+    '-I' + recursive_include_dirs / 'applications/utilities/parallelProcessing/reconstructPar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reconstructPar = executable(
+    'reconstructPar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/meson.build b/applications/utilities/parallelProcessing/reconstructParMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f8341f42c5e370987dd1d8eac2bc6fa50bf4bfb3
--- /dev/null
+++ b/applications/utilities/parallelProcessing/reconstructParMesh/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'reconstructParMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/parallelProcessing/reconstructParMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/parallelProcessing/reconstructParMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_reconstructParMesh = executable(
+    'reconstructParMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/parallelProcessing/redistributePar/meson.build b/applications/utilities/parallelProcessing/redistributePar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..753b6e0232e7ec6aa1e005198218c2381feb4389
--- /dev/null
+++ b/applications/utilities/parallelProcessing/redistributePar/meson.build
@@ -0,0 +1,59 @@
+srcfiles = [
+    lnInclude_hack,
+    'passivePositionParticleCloud.C',
+    'parLagrangianDistributor.C',
+    'parLagrangianDistributorFields.C',
+    'parPointFieldDistributor.C',
+    'parFaFieldDistributorCache.C',
+    'parFvFieldDistributor.C',
+    'parFvFieldDistributorFields.C',
+    'loadOrCreateMesh.C',
+    'redistributePar.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_lagrangian,
+    lib_dynamicMesh,
+    lib_snappyHexMesh,
+    lib_genericPatchFields,
+    lib_decompose,
+    lib_decompositionMethods,
+    lib_kahipDecomp,
+    lib_metisDecomp,
+    lib_ptscotchDecomp,
+    lib_scotchDecomp,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/parallelProcessing/redistributePar',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'applications/utilities/parallelProcessing/redistributePar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_redistributePar = executable(
+    'redistributePar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/meson.build b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..83e96a1176de175c82975cb8f183ff22bb2ad997
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'writeFluentScalarField.C',
+    'writeFluentVectorField.C',
+    'foamDataToFluent.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/foamDataToFluent',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/foamDataToFluent',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamDataToFluent = executable(
+    'foamDataToFluent',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/meson.build b/applications/utilities/postProcessing/dataConversion/foamToEnsight/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ed3dbe70d79e36aa48e6a70cb58a1f7d29e44c56
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'readFields.C',
+    'foamToEnsight.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_conversion,
+    lib_lagrangianIntermediate,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/foamToEnsight',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/foamToEnsight',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToEnsight = executable(
+    'foamToEnsight',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/foamToGMV/meson.build b/applications/utilities/postProcessing/dataConversion/foamToGMV/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a251ab62d18556ea83a2ed3816be981ac01dd015
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToGMV/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToGMV.C',
+    'itoa.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/foamToGMV',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/foamToGMV',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToGMV = executable(
+    'foamToGMV',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/meson.build b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b50ae5907d5ad332a76256ec1876716ddd714976
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToTetDualMesh.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/foamToTetDualMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/foamToTetDualMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToTetDualMesh = executable(
+    'foamToTetDualMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/meson.build b/applications/utilities/postProcessing/dataConversion/foamToVTK/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4909f2a441584279325bc1b364d08ed28f1ee7b3
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamToVTK.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_conversion,
+    lib_lagrangianIntermediate,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/foamToVTK',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/foamToVTK',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamToVTK = executable(
+    'foamToVTK',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/dataConversion/meson.build b/applications/utilities/postProcessing/dataConversion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d428f7bca0d39a7f25434b58bb23b05a7a349510
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/meson.build
@@ -0,0 +1,6 @@
+subdir('foamDataToFluent')
+subdir('foamToEnsight')
+subdir('foamToGMV')
+subdir('foamToTetDualMesh')
+subdir('foamToVTK')
+subdir('smapToFoam')
diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/meson.build b/applications/utilities/postProcessing/dataConversion/smapToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c1b81418b72bc80d3c02062f184beb02939800e
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'smapToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/dataConversion/smapToFoam',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/dataConversion/smapToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_smapToFoam = executable(
+    'smapToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lagrangian/meson.build b/applications/utilities/postProcessing/lagrangian/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f80615d3480078d15df24fcf7f79222da6698370
--- /dev/null
+++ b/applications/utilities/postProcessing/lagrangian/meson.build
@@ -0,0 +1,2 @@
+subdir('particleTracks')
+subdir('steadyParticleTracks')
diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/meson.build b/applications/utilities/postProcessing/lagrangian/particleTracks/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c46bc44dd12d421f943ceb3147e38adcaff7687d
--- /dev/null
+++ b/applications/utilities/postProcessing/lagrangian/particleTracks/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'particleTracks.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/lagrangian/particleTracks',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/lagrangian/particleTracks',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_particleTracks = executable(
+    'particleTracks',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/meson.build b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d66cb990c730821cdd334425d91746f4f693b09d
--- /dev/null
+++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'steadyParticleTracks.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/lagrangian/steadyParticleTracks',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/lagrangian/steadyParticleTracks',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_steadyParticleTracks = executable(
+    'steadyParticleTracks',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lumped/lumpedPointForces/meson.build b/applications/utilities/postProcessing/lumped/lumpedPointForces/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..120de03316f57612aaa18b6cece09e26baa0c8f4
--- /dev/null
+++ b/applications/utilities/postProcessing/lumped/lumpedPointForces/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'lumpedPointForces.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lumpedPointMotion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/lumped/lumpedPointForces',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/lumped/lumpedPointForces',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_lumpedPointForces = executable(
+    'lumpedPointForces',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lumped/lumpedPointMovement/meson.build b/applications/utilities/postProcessing/lumped/lumpedPointMovement/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e3f6cc47d366f8c3c7a76421e5eb9bee2952b955
--- /dev/null
+++ b/applications/utilities/postProcessing/lumped/lumpedPointMovement/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'lumpedPointMovement.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lumpedPointMotion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/lumped/lumpedPointMovement',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/lumped/lumpedPointMovement',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_lumpedPointMovement = executable(
+    'lumpedPointMovement',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lumped/lumpedPointZones/meson.build b/applications/utilities/postProcessing/lumped/lumpedPointZones/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9bffaf3e550c779ba51c8a5e672d93bf7e8f0787
--- /dev/null
+++ b/applications/utilities/postProcessing/lumped/lumpedPointZones/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'lumpedPointZones.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_lumpedPointMotion,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/lumped/lumpedPointZones',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/lumped/lumpedPointZones',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_lumpedPointZones = executable(
+    'lumpedPointZones',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/lumped/meson.build b/applications/utilities/postProcessing/lumped/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a514369f91f9b267ed4d8b02bf268f12962fcc14
--- /dev/null
+++ b/applications/utilities/postProcessing/lumped/meson.build
@@ -0,0 +1,3 @@
+subdir('lumpedPointForces')
+subdir('lumpedPointMovement')
+subdir('lumpedPointZones')
diff --git a/applications/utilities/postProcessing/meson.build b/applications/utilities/postProcessing/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..796b7a957656d711cd2fca11c0598e4401542e11
--- /dev/null
+++ b/applications/utilities/postProcessing/meson.build
@@ -0,0 +1,7 @@
+subdir('dataConversion')
+subdir('lagrangian')
+subdir('lumped')
+subdir('miscellaneous')
+subdir('noise')
+subdir('optimisation')
+subdir('postProcess')
diff --git a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/meson.build b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..40f65a9cae95ab308c5c8fe7f3de551ccf30b8d3
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'engineCompRatio.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_engine,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/miscellaneous/engineCompRatio',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/miscellaneous/engineCompRatio',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_engineCompRatio = executable(
+    'engineCompRatio',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/miscellaneous/meson.build b/applications/utilities/postProcessing/miscellaneous/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9ac3b65b8be3d9dcd3f0dbf57c4a4f7930858db7
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/meson.build
@@ -0,0 +1,5 @@
+subdir('engineCompRatio')
+subdir('pdfPlot')
+subdir('postChannel')
+subdir('profilingSummary')
+subdir('temporalInterpolate')
diff --git a/applications/utilities/postProcessing/miscellaneous/pdfPlot/meson.build b/applications/utilities/postProcessing/miscellaneous/pdfPlot/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ba0de6050b21a5bb6577cf5b0f7b195e825a9cbf
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/pdfPlot/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'pdfPlot.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+    lib_distributionModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/miscellaneous/pdfPlot',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/miscellaneous/pdfPlot',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_pdfPlot = executable(
+    'pdfPlot',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/meson.build b/applications/utilities/postProcessing/miscellaneous/postChannel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9be53e1cffb2f2b8ec4053b50537f2a83cbb8014
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/postChannel/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'postChannel.C',
+    'channelIndex.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/miscellaneous/postChannel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/miscellaneous/postChannel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_postChannel = executable(
+    'postChannel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/miscellaneous/profilingSummary/meson.build b/applications/utilities/postProcessing/miscellaneous/profilingSummary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a7446ce71658a7f83c28e3718021d8d46b2e06c8
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/profilingSummary/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'profilingSummary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/miscellaneous/profilingSummary',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/miscellaneous/profilingSummary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_profilingSummary = executable(
+    'profilingSummary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/meson.build b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f8d8fc33e0d8816480c774069a99453c75f1116b
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'temporalInterpolate.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/miscellaneous/temporalInterpolate',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/miscellaneous/temporalInterpolate',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_temporalInterpolate = executable(
+    'temporalInterpolate',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/noise/meson.build b/applications/utilities/postProcessing/noise/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4198792cf811820796ab02573cab46e835f3fe76
--- /dev/null
+++ b/applications/utilities/postProcessing/noise/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'noise.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_randomProcesses,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/noise',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/noise',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/noise',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_noise = executable(
+    'noise',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/optimisation/computeSensitivities/meson.build b/applications/utilities/postProcessing/optimisation/computeSensitivities/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..65343ba4f3019b008c25d13ed68e2bca753f12fb
--- /dev/null
+++ b/applications/utilities/postProcessing/optimisation/computeSensitivities/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'computeSensitivities.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_incompressibleTurbulenceModels,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_adjointOptimisation,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/optimisation/computeSensitivities',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/optimisation/computeSensitivities',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_computeSensitivities = executable(
+    'computeSensitivities',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/optimisation/cumulativeDisplacement/meson.build b/applications/utilities/postProcessing/optimisation/cumulativeDisplacement/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b88430528ff97dacbfe3fbde60436900dbf46aca
--- /dev/null
+++ b/applications/utilities/postProcessing/optimisation/cumulativeDisplacement/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'cumulativeDisplacement.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_dynamicFvMesh,
+    lib_dynamicMesh,
+    lib_meshTools,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/optimisation/cumulativeDisplacement',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/optimisation/cumulativeDisplacement',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_cumulativeDisplacement = executable(
+    'cumulativeDisplacement',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/postProcessing/optimisation/meson.build b/applications/utilities/postProcessing/optimisation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..828b55364758a06600c0f94d662858c6d331212f
--- /dev/null
+++ b/applications/utilities/postProcessing/optimisation/meson.build
@@ -0,0 +1,2 @@
+subdir('computeSensitivities')
+subdir('cumulativeDisplacement')
diff --git a/applications/utilities/postProcessing/postProcess/meson.build b/applications/utilities/postProcessing/postProcess/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d61f7e4f67b03c8ee73c283a6ace3dda85ef318e
--- /dev/null
+++ b/applications/utilities/postProcessing/postProcess/meson.build
@@ -0,0 +1,50 @@
+srcfiles = [
+    lnInclude_hack,
+    'postProcess.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/postProcessing/postProcess',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/postProcessing/postProcess',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_postProcess = executable(
+    'postProcess',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/PDR/PDRsetFields/meson.build b/applications/utilities/preProcessing/PDR/PDRsetFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a1b68f4b9055b0209b3cf934c3a533edac2e2045
--- /dev/null
+++ b/applications/utilities/preProcessing/PDR/PDRsetFields/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'PDRsetFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_blockMesh,
+    lib_pdrFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/PDR/PDRsetFields',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/PDR/pdrFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/PDR/PDRsetFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_PDRsetFields = executable(
+    'PDRsetFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/PDR/meson.build b/applications/utilities/preProcessing/PDR/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5b365147ac34b68b3c371fe2ad90df55d0f29582
--- /dev/null
+++ b/applications/utilities/preProcessing/PDR/meson.build
@@ -0,0 +1,2 @@
+subdir('pdrFields')
+subdir('PDRsetFields')
diff --git a/applications/utilities/preProcessing/PDR/pdrFields/meson.build b/applications/utilities/preProcessing/PDR/pdrFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..243f4f1c6efa5c2f7a43b191088328d9b521a7da
--- /dev/null
+++ b/applications/utilities/preProcessing/PDR/pdrFields/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'PDRarrays.C',
+    'PDRarraysAnalyse.C',
+    'PDRarraysCalc.C',
+    'PDRmeshArrays.C',
+    'PDRparams.C',
+    'PDRpatchDef.C',
+    'PDRlegacyMeshSpec.C',
+    'PDRutilsIntersect.C',
+    'PDRutilsOverlap.C',
+    'obstacles/PDRobstacle.C',
+    'obstacles/PDRobstacleIO.C',
+    'obstacles/PDRobstacleTypes.C',
+    'obstacles/PDRobstacleLegacyIO.C',
+    'obstacles/PDRobstacleLegacyRead.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_blockMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/PDR/pdrFields',
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/PDR/pdrFields/obstacles',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/PDR/pdrFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_pdrFields = library(
+    'pdrFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_pdrFields)
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/meson.build b/applications/utilities/preProcessing/applyBoundaryLayer/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2f841c0dd5b360477ffb221145139f0c2cfeecb6
--- /dev/null
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/meson.build
@@ -0,0 +1,46 @@
+srcfiles = [
+    lnInclude_hack,
+    'applyBoundaryLayer.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_fluidThermophysicalModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/applyBoundaryLayer',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/applyBoundaryLayer',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_applyBoundaryLayer = executable(
+    'applyBoundaryLayer',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/boxTurb/meson.build b/applications/utilities/preProcessing/boxTurb/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..51ac67c2ea34b9b6d60d5ba2205f0cf4666da623
--- /dev/null
+++ b/applications/utilities/preProcessing/boxTurb/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'boxTurb.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_randomProcesses,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/boxTurb',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/boxTurb',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_boxTurb = executable(
+    'boxTurb',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/changeDictionary/meson.build b/applications/utilities/preProcessing/changeDictionary/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0ee5293a0a4cef4638f5c781e271a4be90e3ecac
--- /dev/null
+++ b/applications/utilities/preProcessing/changeDictionary/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'changeDictionary.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/changeDictionary',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/changeDictionary',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_changeDictionary = executable(
+    'changeDictionary',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/createBoxTurb/meson.build b/applications/utilities/preProcessing/createBoxTurb/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d1806ae57e86444270cecb834add16577a34aad9
--- /dev/null
+++ b/applications/utilities/preProcessing/createBoxTurb/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'createBoxTurb.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_blockMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/createBoxTurb',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/createBoxTurb',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_createBoxTurb = executable(
+    'createBoxTurb',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/meson.build b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4fe94c28287904a70003b83e03abc9efd850b503
--- /dev/null
+++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'createExternalCoupledPatchGeometry.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_fieldFunctionObjects,
+    lib_incompressibleMultiphaseSystems,
+    lib_reactingMultiphaseSystem,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/createExternalCoupledPatchGeometry',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/functionObjects/field',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/createExternalCoupledPatchGeometry',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_createExternalCoupledPatchGeometry = executable(
+    'createExternalCoupledPatchGeometry',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/createZeroDirectory/meson.build b/applications/utilities/preProcessing/createZeroDirectory/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..53e0bff655d707e3abe18383232e4dd7f49c1cab
--- /dev/null
+++ b/applications/utilities/preProcessing/createZeroDirectory/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'boundaryInfo.C',
+    'boundaryTemplates.C',
+    'caseInfo.C',
+    'solverTemplate.C',
+    'createZeroDirectory.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/createZeroDirectory',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/createZeroDirectory',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_createZeroDirectory = executable(
+    'createZeroDirectory',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/dsmcInitialise/meson.build b/applications/utilities/preProcessing/dsmcInitialise/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7c98680f2908f5f6aa4d6e60bb5b7f3628662032
--- /dev/null
+++ b/applications/utilities/preProcessing/dsmcInitialise/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'dsmcInitialise.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_DSMC,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/dsmcInitialise',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/DSMC',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/dsmcInitialise',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_dsmcInitialise = executable(
+    'dsmcInitialise',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/engineSwirl/meson.build b/applications/utilities/preProcessing/engineSwirl/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2a25daff1cf3fbc9b3d4226ffcce62d67a504822
--- /dev/null
+++ b/applications/utilities/preProcessing/engineSwirl/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'engineSwirl.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/engineSwirl',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/engineSwirl',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_engineSwirl = executable(
+    'engineSwirl',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/faceAgglomerate/meson.build b/applications/utilities/preProcessing/faceAgglomerate/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dc4a72df28fdaef112ecc38d8679866e8da44033
--- /dev/null
+++ b/applications/utilities/preProcessing/faceAgglomerate/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'faceAgglomerate.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_pairPatchAgglomeration,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/faceAgglomerate',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fvAgglomerationMethods/pairPatchAgglomeration',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/faceAgglomerate',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_faceAgglomerate = executable(
+    'faceAgglomerate',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/foamUpgradeCyclics/meson.build b/applications/utilities/preProcessing/foamUpgradeCyclics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..904c045b29b115c21c3c060f392e856643179c56
--- /dev/null
+++ b/applications/utilities/preProcessing/foamUpgradeCyclics/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'foamUpgradeCyclics.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/foamUpgradeCyclics',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/foamUpgradeCyclics',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_foamUpgradeCyclics = executable(
+    'foamUpgradeCyclics',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/mapFields/meson.build b/applications/utilities/preProcessing/mapFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8bcff1cd7dcdf7323aa9dc7bad2e6396ff93c338
--- /dev/null
+++ b/applications/utilities/preProcessing/mapFields/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'mapLagrangian.C',
+    'mapFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+    lib_lagrangian,
+    lib_decompose,
+    lib_decompositionMethods,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/mapFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/mapFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mapFields = executable(
+    'mapFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/mapFieldsPar/meson.build b/applications/utilities/preProcessing/mapFieldsPar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6b9f7cc088cf4323e311a3d4a97197e8a087fa26
--- /dev/null
+++ b/applications/utilities/preProcessing/mapFieldsPar/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'mapLagrangian.C',
+    'mapFieldsPar.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_sampling,
+    lib_lagrangian,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/mapFieldsPar',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/mapFieldsPar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mapFieldsPar = executable(
+    'mapFieldsPar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/mdInitialise/meson.build b/applications/utilities/preProcessing/mdInitialise/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2cc6c637157f4b195fa46cad4792aec84fb722b6
--- /dev/null
+++ b/applications/utilities/preProcessing/mdInitialise/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'mdInitialise.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_lagrangian,
+    lib_molecule,
+    lib_potential,
+    lib_molecularMeasurements,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/mdInitialise',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecule',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/mdInitialise',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mdInitialise = executable(
+    'mdInitialise',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/meson.build b/applications/utilities/preProcessing/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..95dd41d5ee665ac33e6ba2d325c208aa25c2337c
--- /dev/null
+++ b/applications/utilities/preProcessing/meson.build
@@ -0,0 +1,23 @@
+subdir('PDR')
+subdir('applyBoundaryLayer')
+subdir('boxTurb')
+subdir('changeDictionary')
+subdir('createBoxTurb')
+subdir('createExternalCoupledPatchGeometry')
+subdir('createZeroDirectory')
+subdir('dsmcInitialise')
+subdir('engineSwirl')
+subdir('faceAgglomerate')
+subdir('foamUpgradeCyclics')
+subdir('mapFields')
+subdir('mapFieldsPar')
+subdir('mdInitialise')
+subdir('optimisation')
+subdir('setAlphaField')
+subdir('setExprBoundaryFields')
+subdir('setExprFields')
+subdir('setFields')
+subdir('setTurbulenceFields')
+subdir('smoothSurfaceData')
+subdir('viewFactorsGen')
+subdir('wallFunctionTable')
diff --git a/applications/utilities/preProcessing/optimisation/meson.build b/applications/utilities/preProcessing/optimisation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..caf2cfec156c5ba895a849cfd4e66fbf12955539
--- /dev/null
+++ b/applications/utilities/preProcessing/optimisation/meson.build
@@ -0,0 +1,2 @@
+subdir('writeActiveDesignVariables')
+subdir('writeMorpherCPs')
diff --git a/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/meson.build b/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..368aa59d299f93c3b3a4f6593a932e34d1f29c03
--- /dev/null
+++ b/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'writeActiveDesignVariables.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fvOptions,
+    lib_dynamicMesh,
+    lib_fvMotionSolvers,
+    lib_adjointOptimisation,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/optimisation/writeActiveDesignVariables',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/optimisation/writeActiveDesignVariables',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_writeActiveDesignVariables = executable(
+    'writeActiveDesignVariables',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/optimisation/writeMorpherCPs/meson.build b/applications/utilities/preProcessing/optimisation/writeMorpherCPs/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a962a84a9011acd3b1c0ef6b5ab31ee3650e2f41
--- /dev/null
+++ b/applications/utilities/preProcessing/optimisation/writeMorpherCPs/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'writeMorpherCPs.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fvOptions,
+    lib_dynamicMesh,
+    lib_fvMotionSolvers,
+    lib_adjointOptimisation,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/optimisation/writeMorpherCPs',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/finiteVolume/cfdTools',
+    '-I' + recursive_include_dirs / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/optimisation/writeMorpherCPs',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_writeMorpherCPs = executable(
+    'writeMorpherCPs',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/meson.build b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d04e3baf70e59c3d5b4169e466d359c58fa7f57c
--- /dev/null
+++ b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'implicitFunctions/implicitFunction.C',
+    'implicitFunctions/sphere/sphereImplicitFunction.C',
+    'implicitFunctions/sin/sinImplicitFunction.C',
+    'implicitFunctions/ellipsoid/ellipsoidImplicitFunction.C',
+    'implicitFunctions/paraboloid/paraboloidImplicitFunction.C',
+    'implicitFunctions/plane/planeImplicitFunction.C',
+    'implicitFunctions/cylinder/cylinderImplicitFunction.C',
+    'implicitFunctions/composedFunction/composedFunctionImplicitFunction.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_alphaFieldFunctions = library(
+    'alphaFieldFunctions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_alphaFieldFunctions)
diff --git a/applications/utilities/preProcessing/setAlphaField/meson.build b/applications/utilities/preProcessing/setAlphaField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..21f3d87220fd8de9b759e51db076b5f3241804dc
--- /dev/null
+++ b/applications/utilities/preProcessing/setAlphaField/meson.build
@@ -0,0 +1,44 @@
+subdir('alphaFieldFunctions')
+
+srcfiles = [
+    lnInclude_hack,
+    'setAlphaField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_geometricVoF,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_alphaFieldFunctions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setAlphaField',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setAlphaField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setAlphaField = executable(
+    'setAlphaField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/setExprBoundaryFields/meson.build b/applications/utilities/preProcessing/setExprBoundaryFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..20c8d08cabf6a05c25e582a1704a124ae89daafc
--- /dev/null
+++ b/applications/utilities/preProcessing/setExprBoundaryFields/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'setExprBoundaryFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setExprBoundaryFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setExprBoundaryFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setExprBoundaryFields = executable(
+    'setExprBoundaryFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/setExprFields/meson.build b/applications/utilities/preProcessing/setExprFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..48a6d9b80167ecdf0eed13f12f7ccfa6e888caab
--- /dev/null
+++ b/applications/utilities/preProcessing/setExprFields/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'setExprFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setExprFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setExprFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setExprFields = executable(
+    'setExprFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/setFields/meson.build b/applications/utilities/preProcessing/setFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d450c745f9a20d5a1828d007c3032176e1826dd1
--- /dev/null
+++ b/applications/utilities/preProcessing/setFields/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'setFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_meshTools,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setFields = executable(
+    'setFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/setTurbulenceFields/meson.build b/applications/utilities/preProcessing/setTurbulenceFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..45ffa88ee6d4447192e26a753a4e9f7cfa3216d9
--- /dev/null
+++ b/applications/utilities/preProcessing/setTurbulenceFields/meson.build
@@ -0,0 +1,46 @@
+srcfiles = [
+    lnInclude_hack,
+    'setTurbulenceFields.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_fluidThermophysicalModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_genericPatchFields,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/setTurbulenceFields',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/setTurbulenceFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_setTurbulenceFields = executable(
+    'setTurbulenceFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/smoothSurfaceData/meson.build b/applications/utilities/preProcessing/smoothSurfaceData/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c6c303e83eb6a3ca14d4b6f36851e2cd5893cc14
--- /dev/null
+++ b/applications/utilities/preProcessing/smoothSurfaceData/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'smoothSurfaceData.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/smoothSurfaceData',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/smoothSurfaceData',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_smoothSurfaceData = executable(
+    'smoothSurfaceData',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/viewFactorsGen/meson.build b/applications/utilities/preProcessing/viewFactorsGen/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..640515f4e9e592d01a2bc2f2d946d0d1275b94fe
--- /dev/null
+++ b/applications/utilities/preProcessing/viewFactorsGen/meson.build
@@ -0,0 +1,42 @@
+srcfiles = [
+    lnInclude_hack,
+    'viewFactorsGen.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_distributed,
+    lib_radiationModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-Wno-old-style-cast',
+    '-DCGAL_HEADER_ONLY',
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/viewFactorsGen',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/viewFactorsGen',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+if cgal_dep.found()
+    dependencies += cgal_dep
+else
+    cpp_args += '-DNO_CGAL'
+endif
+exe_viewFactorsGen = executable(
+    'viewFactorsGen',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/wallFunctionTable/meson.build b/applications/utilities/preProcessing/wallFunctionTable/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0eeb785e184de80d45f4cd661e87565e78a20ae5
--- /dev/null
+++ b/applications/utilities/preProcessing/wallFunctionTable/meson.build
@@ -0,0 +1,34 @@
+subdir('tabulatedWallFunction')
+
+srcfiles = [
+    lnInclude_hack,
+    'wallFunctionTable.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_tabulatedWallFunctions,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/wallFunctionTable',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/wallFunctionTable',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_wallFunctionTable = executable(
+    'wallFunctionTable',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/meson.build b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ee0e0858a2c49f66febd06da6fb63650b8d8ee62
--- /dev/null
+++ b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'tabulatedWallFunction/tabulatedWallFunction.C',
+    'tabulatedWallFunction/tabulatedWallFunctionNew.C',
+    'SpaldingsLaw/SpaldingsLaw.C',
+    'general/general.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_tabulatedWallFunctions = library(
+    'tabulatedWallFunctions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_tabulatedWallFunctions)
diff --git a/applications/utilities/surface/meson.build b/applications/utilities/surface/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8c341e5b457a842876d0db05592f10470dc57d48
--- /dev/null
+++ b/applications/utilities/surface/meson.build
@@ -0,0 +1,29 @@
+subdir('surfaceAdd')
+subdir('surfaceBooleanFeatures')
+subdir('surfaceCheck')
+subdir('surfaceClean')
+subdir('surfaceCoarsen')
+subdir('surfaceConvert')
+subdir('surfaceFeatureConvert')
+subdir('surfaceFeatureExtract')
+subdir('surfaceFind')
+subdir('surfaceHookUp')
+subdir('surfaceInertia')
+subdir('surfaceInflate')
+subdir('surfaceLambdaMuSmooth')
+subdir('surfaceMeshConvert')
+subdir('surfaceMeshExport')
+subdir('surfaceMeshExtract')
+subdir('surfaceMeshImport')
+subdir('surfaceMeshInfo')
+subdir('surfaceOrient')
+subdir('surfacePatch')
+subdir('surfacePointMerge')
+subdir('surfaceRedistributePar')
+subdir('surfaceRefineRedGreen')
+subdir('surfaceSplitByPatch')
+subdir('surfaceSplitByTopology')
+subdir('surfaceSplitNonManifolds')
+subdir('surfaceSubset')
+subdir('surfaceToPatch')
+subdir('surfaceTransformPoints')
diff --git a/applications/utilities/surface/surfaceAdd/meson.build b/applications/utilities/surface/surfaceAdd/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1f261af37587e95613c413dc783103488682a660
--- /dev/null
+++ b/applications/utilities/surface/surfaceAdd/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceAdd.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceAdd',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceAdd',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceAdd = executable(
+    'surfaceAdd',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/meson.build b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..751dd8c046029aeca68ee39daf03bc635f7c2f32
--- /dev/null
+++ b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'PolyhedronReader.C',
+]
+link_with = [
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader',
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceBooleanFeatures',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_PolyhedronReader = library(
+    'PolyhedronReader',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_PolyhedronReader)
diff --git a/applications/utilities/surface/surfaceBooleanFeatures/meson.build b/applications/utilities/surface/surfaceBooleanFeatures/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d82a9208c1cdc53cd2fd7dd81baec5b457d7cda4
--- /dev/null
+++ b/applications/utilities/surface/surfaceBooleanFeatures/meson.build
@@ -0,0 +1,45 @@
+subdir('PolyhedronReader')
+
+srcfiles = [
+    lnInclude_hack,
+    'surfaceBooleanFeatures.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+    cgal_dep,
+    mpfr_dep,
+    gmp_dep,
+]
+cpp_args = [
+    '-DNDEBUG',
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceBooleanFeatures',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceBooleanFeatures',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+if cgal_dep.found()
+    cpp_args += '-I' + meson.source_root() / 'applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader'
+    link_with += lib_PolyhedronReader
+    dependencies += cgal_dep
+else
+    cpp_args += '-DNO_CGAL'
+endif
+exe_surfaceBooleanFeatures = executable(
+    'surfaceBooleanFeatures',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceCheck/meson.build b/applications/utilities/surface/surfaceCheck/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dd1d56f44861043020bd043e8ae2a1bb892b1235
--- /dev/null
+++ b/applications/utilities/surface/surfaceCheck/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceCheck.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceCheck',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceCheck',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceCheck = executable(
+    'surfaceCheck',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceClean/meson.build b/applications/utilities/surface/surfaceClean/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6c68fe88dcc72e0fc131c8ebbf7abde2967b7ed3
--- /dev/null
+++ b/applications/utilities/surface/surfaceClean/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'collapseBase.C',
+    'collapseEdge.C',
+    'surfaceClean.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceClean',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceClean',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceClean = executable(
+    'surfaceClean',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceCoarsen/meson.build b/applications/utilities/surface/surfaceCoarsen/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ada983920eb2486193163e25803877318fed507b
--- /dev/null
+++ b/applications/utilities/surface/surfaceCoarsen/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'bunnylod/progmesh.cxx',
+    'bunnylod/vector.cxx',
+    'surfaceCoarsen.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceCoarsen',
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceCoarsen/bunnylod',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceCoarsen',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceCoarsen = executable(
+    'surfaceCoarsen',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceConvert/meson.build b/applications/utilities/surface/surfaceConvert/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..502949af60b479dd996c27ec6bb6b69b9bac22cc
--- /dev/null
+++ b/applications/utilities/surface/surfaceConvert/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceConvert.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceConvert',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceConvert',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceConvert = executable(
+    'surfaceConvert',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceFeatureConvert/meson.build b/applications/utilities/surface/surfaceFeatureConvert/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6e4d7804c90579850f789624b1e1f7ee88975e0c
--- /dev/null
+++ b/applications/utilities/surface/surfaceFeatureConvert/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceFeatureConvert.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceFeatureConvert',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceFeatureConvert',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceFeatureConvert = executable(
+    'surfaceFeatureConvert',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/meson.build b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..592c9c5ee166dac97796d31e03b815abc6180a4c
--- /dev/null
+++ b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceFeaturesExtraction.C',
+    'extractFromFile.C',
+    'extractFromNone.C',
+    'extractFromSurface.C',
+]
+link_with = [
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceFeatureExtract/extractionMethod',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceFeatureExtract/extractionMethod',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_surfaceFeatureExtract = library(
+    'surfaceFeatureExtract',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_surfaceFeatureExtract)
diff --git a/applications/utilities/surface/surfaceFeatureExtract/meson.build b/applications/utilities/surface/surfaceFeatureExtract/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5554a96fb0cc22f7d07647908181cab60529e8c9
--- /dev/null
+++ b/applications/utilities/surface/surfaceFeatureExtract/meson.build
@@ -0,0 +1,36 @@
+subdir('extractionMethod')
+
+srcfiles = [
+    lnInclude_hack,
+    'surfaceFeatureExtract.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_surfaceFeatureExtract,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceFeatureExtract',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceFeatureExtract/extractionMethod',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceFeatureExtract',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceFeatureExtract = executable(
+    'surfaceFeatureExtract',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceFind/meson.build b/applications/utilities/surface/surfaceFind/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6f56fb7282833d9e5a7156fe724be551949f9e27
--- /dev/null
+++ b/applications/utilities/surface/surfaceFind/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceFind.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceFind',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceFind',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceFind = executable(
+    'surfaceFind',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceHookUp/meson.build b/applications/utilities/surface/surfaceHookUp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a6eb8633103291640cfde851efe530d1c41c8009
--- /dev/null
+++ b/applications/utilities/surface/surfaceHookUp/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceHookUp.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceHookUp',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceHookUp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceHookUp = executable(
+    'surfaceHookUp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceInertia/meson.build b/applications/utilities/surface/surfaceInertia/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..608955c2a27ac2005c29b13eb8845c108d7dec68
--- /dev/null
+++ b/applications/utilities/surface/surfaceInertia/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceInertia.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceInertia',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceInertia',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceInertia = executable(
+    'surfaceInertia',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceInflate/meson.build b/applications/utilities/surface/surfaceInflate/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..79ea47d35f22481656837d7766f208c885841503
--- /dev/null
+++ b/applications/utilities/surface/surfaceInflate/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceInflate.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceInflate',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceInflate',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceInflate = executable(
+    'surfaceInflate',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/meson.build b/applications/utilities/surface/surfaceLambdaMuSmooth/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a7540e7dd0fc12059dde15c53e9e286affcd0f8
--- /dev/null
+++ b/applications/utilities/surface/surfaceLambdaMuSmooth/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceLambdaMuSmooth.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceLambdaMuSmooth',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceLambdaMuSmooth',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceLambdaMuSmooth = executable(
+    'surfaceLambdaMuSmooth',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceMeshConvert/meson.build b/applications/utilities/surface/surfaceMeshConvert/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..db0123e34c14699b7b5afc84f0115dbdebec45a9
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshConvert/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceMeshConvert.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceMeshConvert',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceMeshConvert',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceMeshConvert = executable(
+    'surfaceMeshConvert',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceMeshExport/meson.build b/applications/utilities/surface/surfaceMeshExport/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea307994b99d6906e7534aed7f11598524c3ea
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshExport/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceMeshExport.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceMeshExport',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceMeshExport',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceMeshExport = executable(
+    'surfaceMeshExport',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceMeshExtract/meson.build b/applications/utilities/surface/surfaceMeshExtract/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ef6bd41d550cf52358c7c6673ffe02f66803f2a9
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshExtract/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceMeshExtract.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceMeshExtract',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceMeshExtract',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceMeshExtract = executable(
+    'surfaceMeshExtract',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceMeshImport/meson.build b/applications/utilities/surface/surfaceMeshImport/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c2a98082fd2a5adf3aa440453aed76c7b8861b4
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshImport/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceMeshImport.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceMeshImport',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceMeshImport',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceMeshImport = executable(
+    'surfaceMeshImport',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceMeshInfo/meson.build b/applications/utilities/surface/surfaceMeshInfo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d6a185cdb16f220cad9c7c963724df72cbd8dfab
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshInfo/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceMeshInfo.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceMeshInfo',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceMeshInfo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceMeshInfo = executable(
+    'surfaceMeshInfo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceOrient/meson.build b/applications/utilities/surface/surfaceOrient/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a694d2db11080faf016dec02c63e3190645a55c0
--- /dev/null
+++ b/applications/utilities/surface/surfaceOrient/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceOrient.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceOrient',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceOrient',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceOrient = executable(
+    'surfaceOrient',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfacePatch/meson.build b/applications/utilities/surface/surfacePatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ea04b525f1164f69559a928fc7e6a0d2e3211b30
--- /dev/null
+++ b/applications/utilities/surface/surfacePatch/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'searchableSurfaceModifier/searchableSurfaceModifier.C',
+    'searchableSurfaceModifier/autoPatch.C',
+    'searchableSurfaceModifier/cut.C',
+    'surfacePatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfacePatch',
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfacePatch/searchableSurfaceModifier',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfacePatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfacePatch = executable(
+    'surfacePatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfacePointMerge/meson.build b/applications/utilities/surface/surfacePointMerge/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ad2697a02027bd199bd6807bd6033f13a44970a4
--- /dev/null
+++ b/applications/utilities/surface/surfacePointMerge/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfacePointMerge.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfacePointMerge',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfacePointMerge',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfacePointMerge = executable(
+    'surfacePointMerge',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceRedistributePar/meson.build b/applications/utilities/surface/surfaceRedistributePar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b645aa05efecc7d444b2466345147864477267eb
--- /dev/null
+++ b/applications/utilities/surface/surfaceRedistributePar/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceRedistributePar.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_distributed,
+    lib_decompose,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceRedistributePar',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceRedistributePar',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceRedistributePar = executable(
+    'surfaceRedistributePar',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceRefineRedGreen/meson.build b/applications/utilities/surface/surfaceRefineRedGreen/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e01a664291911f186f29abd11f3fcafcae8a6ae2
--- /dev/null
+++ b/applications/utilities/surface/surfaceRefineRedGreen/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceRefineRedGreen.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceRefineRedGreen',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceRefineRedGreen',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceRefineRedGreen = executable(
+    'surfaceRefineRedGreen',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceSplitByPatch/meson.build b/applications/utilities/surface/surfaceSplitByPatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a2a1a86ff30efeacf3eded161c24e028984efc1d
--- /dev/null
+++ b/applications/utilities/surface/surfaceSplitByPatch/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceSplitByPatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceSplitByPatch',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceSplitByPatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceSplitByPatch = executable(
+    'surfaceSplitByPatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceSplitByTopology/meson.build b/applications/utilities/surface/surfaceSplitByTopology/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6d278d7941c6b93b370e682d2599431610d79c91
--- /dev/null
+++ b/applications/utilities/surface/surfaceSplitByTopology/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceSplitByTopology.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceSplitByTopology',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceSplitByTopology',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceSplitByTopology = executable(
+    'surfaceSplitByTopology',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceSplitNonManifolds/meson.build b/applications/utilities/surface/surfaceSplitNonManifolds/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4d3ef35eb8c8e383a91a58b3ddc31cbd757a77df
--- /dev/null
+++ b/applications/utilities/surface/surfaceSplitNonManifolds/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceSplitNonManifolds.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceSplitNonManifolds',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceSplitNonManifolds',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceSplitNonManifolds = executable(
+    'surfaceSplitNonManifolds',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceSubset/meson.build b/applications/utilities/surface/surfaceSubset/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c1e9311b2a87ab18d1ccd35dcd8aa67d698d1fca
--- /dev/null
+++ b/applications/utilities/surface/surfaceSubset/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceSubset.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceSubset',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceSubset',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceSubset = executable(
+    'surfaceSubset',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceToPatch/meson.build b/applications/utilities/surface/surfaceToPatch/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a98966e72759d3a97f843cfac67a472dbef38f45
--- /dev/null
+++ b/applications/utilities/surface/surfaceToPatch/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceToPatch.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceToPatch',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceToPatch',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceToPatch = executable(
+    'surfaceToPatch',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/surface/surfaceTransformPoints/meson.build b/applications/utilities/surface/surfaceTransformPoints/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e59f16b0bbe4ad45e3364c59c7621b84599567d3
--- /dev/null
+++ b/applications/utilities/surface/surfaceTransformPoints/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceTransformPoints.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/surface/surfaceTransformPoints',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'applications/utilities/surface/surfaceTransformPoints',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_surfaceTransformPoints = executable(
+    'surfaceTransformPoints',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/meson.build b/applications/utilities/thermophysical/adiabaticFlameT/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..45bb05b2bdb2b680fd35aaeede53daf7286a0324
--- /dev/null
+++ b/applications/utilities/thermophysical/adiabaticFlameT/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'adiabaticFlameT.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/thermophysical/adiabaticFlameT',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/utilities/thermophysical/adiabaticFlameT',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_adiabaticFlameT = executable(
+    'adiabaticFlameT',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/thermophysical/chemkinToFoam/meson.build b/applications/utilities/thermophysical/chemkinToFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b340c18ddc7230576bcf4534264ef4bd4ffdf850
--- /dev/null
+++ b/applications/utilities/thermophysical/chemkinToFoam/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'chemkinToFoam.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_reactionThermophysicalModels,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/thermophysical/chemkinToFoam',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'applications/utilities/thermophysical/chemkinToFoam',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_chemkinToFoam = executable(
+    'chemkinToFoam',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/thermophysical/equilibriumCO/meson.build b/applications/utilities/thermophysical/equilibriumCO/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..67acebaf9ea621d1eb07dd308544ee0ac6c41dd5
--- /dev/null
+++ b/applications/utilities/thermophysical/equilibriumCO/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'equilibriumCO.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/thermophysical/equilibriumCO',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/utilities/thermophysical/equilibriumCO',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_equilibriumCO = executable(
+    'equilibriumCO',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/meson.build b/applications/utilities/thermophysical/equilibriumFlameT/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..92542c4665f77c15abe655c27f44e7ad280ca7b8
--- /dev/null
+++ b/applications/utilities/thermophysical/equilibriumFlameT/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'equilibriumFlameT.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/thermophysical/equilibriumFlameT',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/utilities/thermophysical/equilibriumFlameT',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_equilibriumFlameT = executable(
+    'equilibriumFlameT',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/applications/utilities/thermophysical/meson.build b/applications/utilities/thermophysical/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b6a034309579e3f607ce8757ef9be678657b3561
--- /dev/null
+++ b/applications/utilities/thermophysical/meson.build
@@ -0,0 +1,5 @@
+subdir('adiabaticFlameT')
+subdir('chemkinToFoam')
+subdir('equilibriumCO')
+subdir('equilibriumFlameT')
+subdir('mixtureAdiabaticFlameT')
diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/meson.build b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6af739a3a53afbf14a0685399613dc5c6eddbbb4
--- /dev/null
+++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'mixtureAdiabaticFlameT.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_specie,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'applications/utilities/thermophysical/mixtureAdiabaticFlameT',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'applications/utilities/thermophysical/mixtureAdiabaticFlameT',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_mixtureAdiabaticFlameT = executable(
+    'mixtureAdiabaticFlameT',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
diff --git a/bin/tools/generate_meson_build.py b/bin/tools/generate_meson_build.py
new file mode 100755
index 0000000000000000000000000000000000000000..3efc1627f27c6f7b9453a841424767b5198ad53e
--- /dev/null
+++ b/bin/tools/generate_meson_build.py
@@ -0,0 +1,683 @@
+#!/usr/bin/env python3
+
+GROUP_FULL_DIRS = False
+EXPLAIN_CODEGEN = False
+REGEN_ON_DIR_CHANGE = False
+LN_INCLUDE_MODEL = "always_regen"  # "always_regen" or "regen_on_reconfigure"
+
+from os import path, listdir, walk
+import os
+from meson_codegen import *
+from scan_wmake import *
+import sys
+import textwrap
+import yaml
+import pdb
+import cProfile
+import subprocess
+import shutil
+import stat
+
+
+def from_this_directory():
+    os.chdir(path.dirname(sys.argv[0]))
+
+
+assert "WM_PROJECT_DIR" not in os.environ, "Don't source etc/bashrc"
+
+# see https://stackoverflow.com/questions/12217537/can-i-force-debugging-python-on-assertionerror
+def info(type, value, tb):
+    if hasattr(sys, "ps1") or not sys.stderr.isatty():
+        # we are in interactive mode or we don't have a tty-like
+        # device, so we call the default hook
+        sys.__excepthook__(type, value, tb)
+    else:
+        import traceback, pdb
+
+        # we are NOT in interactive mode, print the exception...
+        traceback.print_exception(type, value, tb)
+        print
+        # ...then start the debugger in post-mortem mode.
+        pdb.pm()
+
+
+# sys.excepthook = info  # Todo: disable before release
+
+# attempting to add a target with one of these names needs to fail immediately to avoid confusing with system libraries
+target_blacklist = ["lib_boost_system", "lib_fftw3", "lib_mpi", "lib_z"]
+
+
+def find_subdirs(dirpath, el, varname="incdirs", include_directories=False):
+    assert el[-1] != "/"
+    mesonsrc = ""
+    fp = el
+    if not path.exists(dirpath + "/../" + fp):
+        print("warning, path does not exists")
+        return ""
+    includeDir = dirpath + "/../" + ("/".join(el.split("/")[:-1]))
+    # print(dirpath, el, includeDir, fp)
+    if include_directories:
+        mesonsrc += varname + " += include_directories('" + fp + "')\n"
+    else:
+        mesonsrc += varname + " += '" + fp + "'\n"
+    return mesonsrc
+    for entries in walk(includeDir, topdown=False):
+        flag = False
+        for fp in entries[2]:
+            if (
+                fp.endswith(".hpp")
+                or fp.endswith(".cpp")
+                or fp.endswith(".C")
+                or fp.endswith(".H")
+            ):
+                flag = True
+        if flag:
+            dp = remove_prefix(entries[0], dirpath)
+            if include_directories:
+                mesonsrc += (
+                    varname
+                    + " += include_directories('"
+                    + "/".join(dp.split("/")[2:])
+                    + "')\n"
+                )
+            else:
+                mesonsrc += varname + " += '" + "/".join(dp.split("/")[2:]) + "'\n"
+    return mesonsrc
+
+
+def are_all_files_included(files_srcs, dirname):
+    reclist = set()
+    for f in dirname.rglob("*.C"):
+        if "lnInclude" in f.parts:
+            continue
+        if f not in files_srcs:
+            return False, None
+        reclist.add(f)
+    return True, reclist
+
+
+def possible_groupings(files_srcs, fp):
+    ret = []
+    cur = fp
+    ret.append((fp, [fp]))
+    while True:
+        cur = cur.parent
+        flag, reclist = are_all_files_included(files_srcs, cur)
+        if not flag:
+            break
+        ret.append((cur, reclist))
+    return ret
+
+
+def group_full_dirs(files_srcs):
+    ret_files = []
+    ret_dirs = []
+    in_ret = {el: False for el in files_srcs}
+    for fp in files_srcs:
+        if fp.suffix == ".C":
+            if in_ret[fp]:
+                continue
+            possible_groups = possible_groupings(files_srcs, fp)
+            chosen = max(possible_groups, key=lambda x: len(x[1]))
+            if chosen[0].is_file():
+                ret_files.append(chosen[0])
+            else:
+                ret_dirs.append(chosen[0])
+            for el in chosen[1]:
+                in_ret[el] = True
+        else:
+            ret_files.append(fp)
+            in_ret[fp] = True
+    return ret_files, ret_dirs
+
+
+def to_meson_array(python_ar: T.List[str]) -> str:
+    if len(python_ar) == 0:
+        return "[]"
+    else:
+        return "[\n" + "".join([f"    {el},\n" for el in python_ar]) + "]"
+
+
+def fix_ws_inline(src: str, spaces: int, prefixed: bool = False) -> str:
+    src = textwrap.dedent(src)
+    src = src.strip("\n")
+    src = src.replace("\n", "\n" + " " * spaces)
+    if not prefixed and src == "":
+        src += "# REMOVE NEWLINE"
+    return src
+
+
+def add_line_if(content: str, cond: bool) -> str:
+    if cond:
+        return content
+    else:
+        return "# REMOVE LINE"
+
+
+# A wrapper around str that changes some whitespace stuff
+class WhitespaceFixer:
+    temp: str
+    regex = re.compile(r"\n((?!# REMOVE LINE).)*# REMOVE LINE\n")
+
+    def __init__(self):
+        self.temp = ""
+
+    def __iadd__(self, other):
+        if not isinstance(other, str):
+            return NotImplemented
+        else:
+            other = textwrap.dedent(other)
+            other = other.strip("\n")
+            if other != "":
+                other += "\n"
+            self.temp += other
+        return self
+
+    def __str__(self):
+        ret = self.temp.replace("# REMOVE NEWLINE\n", "")
+        ret = self.regex.sub("\n", ret)
+        return ret
+
+
+def wmake_to_meson(PROJECT_ROOT, wmake_dir, preprocessed, parsed_options):
+    dirpath = wmake_dir / "Make"
+    optionsdict = parsed_options
+    files_list, files_specials = preprocessed
+    inter = parse_files_file(PROJECT_ROOT, wmake_dir, files_list)
+    includes, cpp_args = calc_includes_and_flags(PROJECT_ROOT, wmake_dir, optionsdict)
+    order_depends, dependencies = calc_libs(optionsdict, inter.typ)
+
+    template_part_1 = ""
+    for el in files_specials:
+        if el == "precision":
+            template_part_1 = f"""
+            dp_add = files('primitives/Vector/doubleVector/doubleVector.C', 'primitives/Tensor/doubleTensor/doubleTensor.C')
+            sp_add = files('primitives/Vector/floatVector/floatVector.C', 'primitives/Tensor/floatTensor/floatTensor.C')
+            if get_option('WM_PRECISION_OPTION') != 'DP'
+                srcfiles += dp_add
+            elif get_option('WM_PRECISION_OPTION') != 'SP' and get_option('WM_PRECISION_OPTION') != 'SPDP'
+                srcfiles += sp_add
+            endif
+            """
+        else:
+            raise ValueError(f"Unknown special: {el}")
+
+    template = WhitespaceFixer()
+
+    files_srcs = []
+    other_srcs = []
+    for el in inter.srcs:
+        match el:
+            case SimpleSourcefile(x):
+                files_srcs.append(x)
+            case FoamConfigSourcefile():
+                other_srcs.append("foamConfig_cpp")
+            case FlexgenSourcefile(x):
+                other_srcs.append(f"flexgen.process('<PATH>{x}</PATH>')")
+            case LyyM4Sourcefile(x):
+                name = remove_suffix(x.parts[-1], ".lyy-m4")
+                varname = x.parts[-1]
+                for c in "$", ".", "(", ")", "/", "_", "-":
+                    varname = varname.replace(c, "_")
+                varname + "_cpp"
+                template += f"""
+                {varname} = custom_target(
+                    '{varname}',
+                    input: '<PATH>{x}</PATH>',
+                    output : '{name}.cc',
+                    command: [m4lemon, meson.source_root(), '<PATH>{PROJECT_ROOT / wmake_dir}</PATH>', lemonbin, '@INPUT@', '@OUTPUT@' ])
+                """
+                other_srcs.append(varname)
+            case _:
+                raise NotImplemented
+
+    rec_dirs_srcs = []
+    if GROUP_FULL_DIRS:
+        files_srcs, rec_dirs_srcs = group_full_dirs(files_srcs)
+    rec_dirs_srcs_quoted = [f"'<PATH>{x}</PATH>'" for x in rec_dirs_srcs]
+    srcs_quoted = (
+        ["lnInclude_hack"] + other_srcs + [f"'<PATH>{x}</PATH>'" for x in files_srcs]
+    )
+
+    for include in includes:
+        match include:
+            case NonRecursiveInclude(path):
+                if path.exists():
+                    cpp_args.append(
+                        f"'-I' + meson.source_root() / '{path.relative_to(PROJECT_ROOT)}'"
+                    )
+                else:
+                    print(f"Warning: {path} does not exist")
+            case RecursiveInclude(path):
+                if path.exists():
+                    cpp_args.append(
+                        f"'-I' + recursive_include_dirs / '{path.relative_to(PROJECT_ROOT)}'"
+                    )
+                else:
+                    print(f"Warning: {path} does not exist")
+            case _:
+                raise NotImplemented
+
+    template += f"""
+    srcfiles = {fix_ws_inline(to_meson_array(srcs_quoted), 4, True)}
+    """
+    if len(rec_dirs_srcs_quoted) != 0:
+        template += f"""
+        rec_dirs_srcs = {fix_ws_inline(to_meson_array(rec_dirs_srcs_quoted), 8, True)}
+        foreach dir : rec_dirs_srcs
+            srcfiles += run_command(meson.source_root() / 'etc' / 'meson_helpers' / 'rec_C.sh', dir, check: true).stdout().strip().split('\\n')
+        endforeach
+        """
+    template += f"""
+    {fix_ws_inline(template_part_1, 4, False)}
+    link_with = {fix_ws_inline(to_meson_array(order_depends), 4, True)}
+    dependencies = {fix_ws_inline(to_meson_array(dependencies), 4, True)}
+    cpp_args = {fix_ws_inline(to_meson_array(cpp_args), 4, True)}
+    """
+
+    if wmake_dir == Path("applications/utilities/surface/surfaceBooleanFeatures"):
+        order_depends.append("lib_PolyhedronReader")
+        template += textwrap.dedent(
+            """
+        if cgal_dep.found()
+            cpp_args += '-I' + meson.source_root() / 'applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader'
+            link_with += lib_PolyhedronReader
+            dependencies += cgal_dep
+        else
+            cpp_args += '-DNO_CGAL'
+        endif
+        """
+        )
+    elif wmake_dir == Path("applications/utilities/preProcessing/viewFactorsGen"):
+        template += textwrap.dedent(
+            """
+        if cgal_dep.found()
+            dependencies += cgal_dep
+        else
+            cpp_args += '-DNO_CGAL'
+        endif
+        """
+        )
+    elif is_subdir("src/OpenFOAM", wmake_dir):
+        template += textwrap.dedent(
+            """
+            dependencies += z_dep
+            """
+        )
+    elif is_subdir("applications/utilities/mesh/manipulation/setSet", wmake_dir):
+        template += textwrap.dedent(
+            """
+            if readline_dep.found()
+                cpp_args += '-DHAVE_LIBREADLINE'
+                dependencies += readline_dep
+            endif
+            """
+        )
+    elif is_subdir(
+        "applications/utilities/mesh/manipulation/renumberMesh",
+        wmake_dir,
+    ):
+        template += textwrap.dedent(
+            """
+            if zoltan_dep.found()
+                cpp_args += '-DHAVE_ZOLTAN'
+                dependencies += zoltan_dep
+            endif
+            """
+        )
+    elif is_subdir("src/OSspecific/POSIX", wmake_dir):
+        template += textwrap.dedent(
+            """
+            if fs.is_file('/usr/include/sys/inotify.h')
+                cpp_args += '-DFOAM_USE_INOTIFY'
+            endif
+            """
+        )
+
+    build_by_default = not (
+        is_subdir("tutorials", wmake_dir) or is_subdir("applications/test", wmake_dir)
+    )
+
+    func = None
+    name = None
+    if inter.typ == TargetType.exe:
+        func = "executable"
+        name = remove_prefix(inter.varname, "exe_")
+    elif inter.typ == TargetType.lib:
+        func = "library"
+        name = remove_prefix(inter.varname, "lib_")
+    template += f"""
+            {inter.varname} = {func}(
+                '{name}',
+                srcfiles,
+                link_with: link_with,
+                dependencies: dependencies,
+                cpp_args: cpp_args,
+                implicit_include_directories: false,
+                install: true,
+                {add_line_if("build_by_default: false,", not build_by_default)}
+            )
+    """
+
+    if inter.typ == TargetType.lib:
+        template += f"""
+        pkg.generate({inter.varname})
+        """
+
+    template = Template(str(template))
+    template.make_absolute(PROJECT_ROOT / wmake_dir)
+
+    template.assert_absolute()
+    template.cleanup()
+    assert inter.varname not in target_blacklist
+    return (
+        Node(
+            provides=inter.varname,
+            ddeps=order_depends,
+            template=template,
+            ideal_path=wmake_dir.parts,
+            debuginfo="This recipe originated from " + str(dirpath),
+        ),
+        rec_dirs_srcs,
+    )
+
+
+def is_subdir(parent, child):
+    parent = str(parent)
+    child = str(child)
+    if child[-1] != os.sep:
+        child += os.sep
+    if parent[-1] != os.sep:
+        parent += os.sep
+    assert os.path.isabs(parent) == os.path.isabs(child)
+    return child.startswith(parent)
+
+
+from json import JSONEncoder
+
+
+class MyEncoder(JSONEncoder):
+    def default(self, o):
+        return o.__dict__
+
+
+def main():
+    from_this_directory()
+    os.chdir("..")
+    Path("disccache").mkdir(exist_ok=True)
+
+    PROJECT_ROOT = Path(os.getcwd()) / "disccache" / "dev"
+    files_written = set()
+
+    def copy_file_to_output(inp, outp):
+        outp = PROJECT_ROOT / outp
+        assert outp not in files_written
+        files_written.add(outp)
+        shutil.copyfile(inp, outp)
+
+    if not PROJECT_ROOT.exists():
+        subprocess.check_call(
+            [
+                "git",
+                "clone",
+                "https://develop.openfoam.com/Development/openfoam.git",
+                PROJECT_ROOT,
+                # "--depth=1",
+            ]
+        )
+    subprocess.check_call(
+        ["git", "checkout", "988ec18ecca76aa0cef65acbab765374416d61b6"],
+        cwd=PROJECT_ROOT,
+    )
+
+    if "## About OpenFOAM" not in (PROJECT_ROOT / "README.md").read_text():
+        raise ValueError(
+            "It looks like PROJECT_ROOT does not point to an OpenFOAM repository"
+        )
+
+    with open("meson/data.yaml", "r") as stream:
+        yamldata = yaml.safe_load(stream)
+    broken_dirs = [Path(p) for p in yamldata["broken_dirs"]]
+
+    wmake_dirs = find_all_wmake_dirs(PROJECT_ROOT, yamldata)
+    totdesc = BuildDesc(PROJECT_ROOT)
+    preprocessed = all_preprocess_files_file(PROJECT_ROOT, wmake_dirs)
+    parsed_options = all_parse_options_file(PROJECT_ROOT, wmake_dirs)
+    all_configure_time_recursively_scanned_dirs = set()
+
+    broken_provides = []
+    for wmake_dir in wmake_dirs:
+        node, configure_time_recursively_scanned_dirs = wmake_to_meson(
+            PROJECT_ROOT, wmake_dir, preprocessed[wmake_dir], parsed_options[wmake_dir]
+        )
+        if wmake_dir in broken_dirs:
+            broken_provides.append(node.provides)
+            continue
+        all_configure_time_recursively_scanned_dirs.update(
+            configure_time_recursively_scanned_dirs
+        )
+        totdesc.add_node(node)
+
+    totdesc.remove_what_depends_on(broken_provides)
+    if len(totdesc.elements) < 100:
+        print(
+            "WARNING: An unusually low amount of targets were found. We probably did not find the correct OpenFOAM folder"
+        )
+
+    if REGEN_ON_DIR_CHANGE:
+        recursive_regen_dirs = ["src", "applications", "tutorials"]
+    else:
+        recursive_regen_dirs = []
+    recursive_regen_dirs_joined = ", ".join([f"'{el}'" for el in recursive_regen_dirs])
+    recursive_regen_dirs = [PROJECT_ROOT / el for el in recursive_regen_dirs]
+
+    for dirp in all_configure_time_recursively_scanned_dirs:
+        assert any(
+            is_subdir(el, dirp) for el in recursive_regen_dirs
+        ), "If a file in the directory {dirp} or in one of its (recursive) subdirectories is created, meson will not reconfigure itself, but a reconfiguration would be necessary"
+
+    optional_deps_joined = ""
+    for name, typ in optional_deps.items():
+        if typ in ["dep", "broken"]:
+            func = "dependency"
+        elif typ == "lib":
+            func = "cppc.find_library"
+        else:
+            raise ValueError()
+        varname = name.lower() + "_dep"
+        if typ == "broken":
+            name = ""
+        optional_deps_joined += (
+            f"\n{varname} = {func}('{name}', required: false, disabler: true)"
+        )
+
+    mainsrc = textwrap.dedent(
+        f"""
+    # The meson.build files are generated by:
+    # https://codeberg.org/Volker_Weissmann/foam_meson
+    # If you have questions/problems, contact volker.weissmann@gmx.de
+
+    project('OpenFOAM', 'c', 'cpp',
+        version: run_command('etc' / 'meson_helpers' / 'get_version.sh', '.', check: true).stdout(),
+        default_options : ['warning_level=0', 'b_lundef=false', 'b_asneeded=false'])
+
+    if meson.version().version_compare('<0.59.0')
+        # We need commit 4ca9a16288f51cce99624a2ef595d879acdc02d8 ".C files are now treated as C++ code"
+        error('Minimum meson version requred: 0.59.0')
+    endif
+
+    devenv = environment()
+    devenv.set('WM_PROJECT_DIR', meson.source_root())
+    meson.add_devenv(devenv)
+
+    fs = import('fs')
+    pkg = import('pkgconfig')
+
+    cppc = meson.get_compiler('cpp')
+
+    add_project_arguments('-DWM_LABEL_SIZE=' + get_option('WM_LABEL_SIZE'), language : ['c', 'cpp'])
+    add_project_arguments('-DWM_ARCH=' + get_option('WM_ARCH'), language : ['c', 'cpp'])
+    add_project_arguments('-DWM_' + get_option('WM_PRECISION_OPTION'), language : ['c', 'cpp'])
+    add_project_arguments('-DNoRepository', language : ['c', 'cpp'])
+    add_project_arguments('-DOPENFOAM=2006', language : ['c', 'cpp'])
+    add_project_arguments('-DOMPI_SKIP_MPICXX', language : ['c', 'cpp'])
+    add_project_arguments('-ftemplate-depth-100', language : ['c', 'cpp'])
+    add_project_arguments('-m64', language : ['c', 'cpp'])
+    add_project_link_arguments('-Wl,--add-needed', language : ['c', 'cpp'])
+    add_project_link_arguments('-Wl,--no-as-needed', language : ['c', 'cpp'])
+    if cppc.get_id() == 'gcc'
+        add_project_arguments('-DWM_COMPILER="Gcc"', language : 'cpp')
+    elif cppc.get_id() == 'clang'
+        add_project_arguments('-DWM_COMPILER="Clang"', language : 'cpp')
+    else
+        error('Unknown Compiler. I do not know what to fill in here for the dots: -DWM_COMPILER="..."')
+    endif
+    if get_option('debug')
+        add_project_arguments('-DWM_COMPILE_OPTION="Debug"', language : ['c', 'cpp'])
+        add_project_arguments('-DFULLDEBUG', language : ['c', 'cpp'])
+        add_project_arguments('-Wfatal-errors', language : ['c', 'cpp'])
+        add_project_arguments('-fdefault-inline', language : ['c', 'cpp'])
+        add_project_arguments('-finline-functions', language : ['c', 'cpp'])
+    else
+        add_project_arguments('-DWM_COMPILE_OPTION="Opt"', language : ['c', 'cpp'])
+        add_project_arguments('-frounding-math', language : ['c', 'cpp'])
+    endif
+
+    if not cppc.compiles(files('src/OSspecific/POSIX/signals/comptest.C'))
+        error('"src/OSspecific/POSIX/signals/comptest.C" failed to compile. Thus, we refuse to compile OpenFOAM because "src/OSspecific/POSIX/signals/sigFpe.C" will fail to compile. Most likely, you are on a linux machine using a libc other than gnu libc. Currently, only gnu libc is supported on linux machines.')
+    endif
+
+    foamConfig_cpp = custom_target('foamConfig.cpp',
+    output : 'foamConfig.cpp',
+    input : 'src/OpenFOAM/global/foamConfig.Cver',
+    command : [meson.source_root() / 'etc' / 'meson_helpers' / 'set_versions_in_foamConfig_Cver.sh', meson.source_root(), '@OUTPUT@'])
+
+    m_dep = cppc.find_library('m')
+    dl_dep = cppc.find_library('dl')
+    z_dep = cppc.find_library('z')
+    fftw3_dep = cppc.find_library('fftw3')
+    {textwrap.indent(optional_deps_joined, "    ")}
+
+    thread_dep = dependency('threads')
+    boost_system_dep = dependency('boost', modules : ['system'])
+    # If I do mpi_dep = cppc.find_library('mpi') instead, and test it on a debian machine with the package mpi-default-dev installed, it fails to find <mpi.h>.
+    mpi_dep = dependency('mpi', language: 'cpp')
+
+    lemonbin = executable('lemon', 'wmake/src/lemon.c', native: true)
+
+    # Shamelessly stolen from https://github.com/mesonbuild/meson/blob/master/test%20cases/frameworks/8%20flex/meson.build
+    flex = find_program('flex')
+    flexgen = generator(flex,
+    output : '@PLAINNAME@.yy.cpp',
+    arguments : ['--c++', '--full', '-o', '@OUTPUT@', '@INPUT@'])
+
+    m4lemon = find_program('etc' / 'meson_helpers' / 'm4lemon.sh')
+
+    recursive_include_dirs = meson.build_root()
+    # lnInclude_hack ensures that `ls recursive_include_dirs/some/dir` would show symlinks to all files shown by `find meson.source_root()/some/dir -name "*.[CHh]"`
+    """
+    ).strip()
+    if LN_INCLUDE_MODEL == "regen_on_reconfigure":
+        mainsrc += textwrap.dedent(
+            f"""
+        lnInclude_hack = custom_target(
+            'lnInclude_hack'
+            output: 'fake.h',
+            command: [
+                meson.source_root() / 'etc' / 'meson_helpers' / 'create_all_symlinks.py',
+                meson.source_root(),
+                recursive_include_dirs,
+                run_command('date', check: true).stdout().split('\\n')[0] # To make sure that this target is rerun if meson is reconfigured. split('\\n')[0] is there because build.ninja would get a bit ugly otherwise.
+                ])
+        """
+        )
+    elif LN_INCLUDE_MODEL == "always_regen":
+        mainsrc += textwrap.dedent(
+            f"""
+        lnInclude_hack = custom_target(
+            'lnInclude_hack',
+            output: 'fake.h',
+            command: [
+                meson.source_root() / 'etc' / 'meson_helpers' / 'create_all_symlinks.py',
+                meson.source_root(),
+                recursive_include_dirs,
+                ], build_always_stale: true)
+        """
+        )
+    else:
+        raise ValueError
+    if recursive_regen_dirs_joined != "":
+        mainsrc += textwrap.dedent(
+            f"""
+        if meson.get_cross_property('hack_to_detect_forks_regen_on_dir_change', 0) == 1
+            regen_on_dir_change([{recursive_regen_dirs_joined}], recursive: true)
+        else
+            warning('Your meson version does not support regen_on_dir_change. Either get use the meson version from https://github.com/volker-weissmann/meson , or run "touch ' + meson.source_root() + '/meson.build" everytime you add a new source file. Otherwise you might get a stale build.')
+        endif
+        """
+        )
+
+    totdesc.set_custom_prefix(PROJECT_ROOT / "meson.build", mainsrc)
+
+    if EXPLAIN_CODEGEN:
+        print(
+            "WARNING: You enabled EXPLAIN_CODEGEN. Attempting to build will not work due to broken meson.build files."
+        )
+        totdesc.explainatory_helper()
+        return
+
+    # There is a nameclash problem. Without this hacky mitigation
+    # here, the build will fail.
+    # applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/meson.build
+    # writes a library to
+    # builddir/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/libextrude2DMesh.so
+    # . That means that the directory
+    # builddir/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/
+    # will be created. Later,
+    # applications/utilities/mesh/generation/extrude2DMesh/meson.build
+    # will try to write an executable to
+    # builddir/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh
+    # but it will fail, because you cannot write to a filepath if this
+    # filepath is an existing directory.
+    # This could be considered a bug in meson, but meson (probably)
+    # will not fix this:
+    # https://github.com/mesonbuild/meson/issues/8752
+    totdesc.elements["exe_extrude2DMesh"].ideal_path = Path(
+        "applications/utilities/mesh"
+    ).parts
+
+    totdesc.set_outpaths()
+    totdesc.writeToFileSystem(files_written)
+    Path(PROJECT_ROOT / "etc/meson_helpers").mkdir(exist_ok=True)
+    helper_scripts = [
+        "get_version.sh",
+        "set_versions_in_foamConfig_Cver.sh",
+        "m4lemon.sh",
+        "create_all_symlinks.py",
+    ]
+    if GROUP_FULL_DIRS:
+        helper_scripts.append("rec_C.sh")
+    for fn in helper_scripts:
+        outp = Path("etc/meson_helpers") / fn
+        copy_file_to_output(f"meson/{fn}", outp)
+        os.chmod(PROJECT_ROOT / outp, 0o755)
+
+    copy_file_to_output("meson_options.txt", "meson_options.txt")
+    copy_file_to_output("meson/comptest.C", "src/OSspecific/POSIX/signals/comptest.C")
+
+    foam_hash = subprocess.check_output(
+        ["git", "rev-parse", "--verify", "HEAD"],
+        text=True,
+        cwd=PROJECT_ROOT,
+    ).strip()[0:10]
+    PATCH_OUTPUT = os.getcwd() + "/" + f"for_openfoam_commit_hash_{foam_hash}.diff"
+
+    os.chdir(PROJECT_ROOT)
+    subprocess.check_call(["git", "reset", "HEAD"])
+    subprocess.check_call(["git", "add"] + [str(el) for el in files_written])
+    assert os.system(f"git diff HEAD > {PATCH_OUTPUT} && git reset HEAD") == 0
+
+
+if __name__ == "__main__":
+    main()
+    # cProfile.run('main()')
diff --git a/etc/meson_helpers/create_all_symlinks.py b/etc/meson_helpers/create_all_symlinks.py
new file mode 100755
index 0000000000000000000000000000000000000000..443f03018614959f28d58bd33318a49ff9f47d03
--- /dev/null
+++ b/etc/meson_helpers/create_all_symlinks.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python3
+import sys
+from os import path, listdir, walk
+import os
+from pathlib import Path
+
+source_root = Path(sys.argv[1])
+build_root = Path(sys.argv[2])
+
+
+def create_symlinks_for_dir(subdir):
+    outdir = build_root / subdir.relative_to(source_root)
+    outdir.mkdir(parents=True, exist_ok=True)
+    for fp in subdir.rglob("*.[CHh]"):
+        if "lnInclude" in fp.parts:
+            continue
+        if (
+            fp.name
+            in [  # ugly name collisions. I hope this does not result in any problems.
+                "fieldExprLemonParser.h",
+                "patchExprLemonParser.h",
+                "volumeExprLemonParser.h",
+            ]
+        ):
+            continue
+        outfile = outdir / fp.name
+        if outfile.is_symlink():
+            if os.readlink(outfile) != fp:
+                outfile.unlink()
+                outfile.symlink_to(fp)
+        else:
+            outfile.symlink_to(fp)
+
+
+for subdir in source_root.rglob("Make"):
+    if not path.isdir(subdir):
+        continue
+    subdir = subdir.parent
+    create_symlinks_for_dir(subdir)
+
+for (
+    el
+) in [  # These are the only directories found using `rg wmakeLnInclude` that do not have a `Make`` subdirectory
+    "src/TurbulenceModels/phaseCompressible",
+    "src/TurbulenceModels/phaseIncompressible",
+]:
+    create_symlinks_for_dir(source_root / el)
+
+backlink = (build_root / "source")
+if backlink.is_symlink():
+    assert(os.readlink(backlink) == source_root)
+else:
+    backlink.symlink_to(source_root)
+
+Path(build_root / "fake.h").touch()  # To make sure this script is not rerun nedlessly
+
+# srcroot=$1
+# recdir=$2
+# targetdir=$PWD${recdir#"$srcroot"}
+
+# for el in $(find "$recdir" -name '*.[CH]' ! -path '*lnInclude*'); do
+#     # We use ${el##*/} instead of $(basename ${el}), because the latter is slower
+#     target="$targetdir/${el##*/}"
+#     if [ ! -e "$target" ]; then
+#         ln -s "$el" "$target"
+#     fi
+# done
+
+# # rootdir=$1
+# # shift
+# # for el in "$@"; do
+# #     echo "$el"
+# #     if [ ! -f "$el" ]; then
+# #         ln -s "$rootdir/$el" "$el"
+# #     fi
+# # done
diff --git a/etc/meson_helpers/get_version.sh b/etc/meson_helpers/get_version.sh
new file mode 100755
index 0000000000000000000000000000000000000000..975c043155488b93b74d6e2f47d0b0cb899f8431
--- /dev/null
+++ b/etc/meson_helpers/get_version.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+root_path="$1"
+source "$root_path/etc/bashrc"
+
+set -euo pipefail
+IFS=$'\n\t'
+$root_path/wmake/scripts/wmake-build-info  | sed '1d;s/ = /=/g;s/    //g;s/\n/kk/g' | tr '\n' ';' | sed 's/;/; /g;s/; $/\n/'
diff --git a/etc/meson_helpers/m4lemon.sh b/etc/meson_helpers/m4lemon.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4af2da022b103fd5cdbc7c8310c23cae7e64fe16
--- /dev/null
+++ b/etc/meson_helpers/m4lemon.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -eu
+# If I set IFS=$'\n\t', this fails on debian for strange reasons
+
+rootdir="$1"
+workdir="$2"
+lemonbin="$3"
+input="$4"
+output="$5"
+
+dir="$(dirname -- $input)"
+outdir="$(dirname -- $output)"
+baseout=$(echo "$output" | cut -f 1 -d '.')
+
+m4 -I"$dir" -I"$rootdir/src/OpenFOAM/include" $input > "$baseout.lyy"
+
+"$lemonbin" -T"$rootdir/wmake/etc/lempar.c" -d"$outdir" -ecc -Dm4 "$baseout.lyy"
diff --git a/etc/meson_helpers/set_versions_in_foamConfig_Cver.sh b/etc/meson_helpers/set_versions_in_foamConfig_Cver.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2790c57406702914aca80fd582199d48a0136519
--- /dev/null
+++ b/etc/meson_helpers/set_versions_in_foamConfig_Cver.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+root_path="$1"
+output="$2"
+shift
+shift
+source "$root_path/etc/bashrc"
+
+set -euo pipefail
+IFS=$'\n\t'
+
+"$root_path/wmake/scripts/wmake-build-info" -update -filter "$root_path/src/OpenFOAM/global/foamConfig.Cver" > "$output"
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f2d7532ad26e3f49287006393c81291561913c25
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,110 @@
+# The meson.build files are generated by:
+# https://codeberg.org/Volker_Weissmann/foam_meson
+# If you have questions/problems, contact volker.weissmann@gmx.de
+
+project('OpenFOAM', 'c', 'cpp',
+    version: run_command('etc' / 'meson_helpers' / 'get_version.sh', '.', check: true).stdout(),
+    default_options : ['warning_level=0', 'b_lundef=false', 'b_asneeded=false'])
+
+if meson.version().version_compare('<0.59.0')
+    # We need commit 4ca9a16288f51cce99624a2ef595d879acdc02d8 ".C files are now treated as C++ code"
+    error('Minimum meson version requred: 0.59.0')
+endif
+
+devenv = environment()
+devenv.set('WM_PROJECT_DIR', meson.source_root())
+meson.add_devenv(devenv)
+
+fs = import('fs')
+pkg = import('pkgconfig')
+
+cppc = meson.get_compiler('cpp')
+
+add_project_arguments('-DWM_LABEL_SIZE=' + get_option('WM_LABEL_SIZE'), language : ['c', 'cpp'])
+add_project_arguments('-DWM_ARCH=' + get_option('WM_ARCH'), language : ['c', 'cpp'])
+add_project_arguments('-DWM_' + get_option('WM_PRECISION_OPTION'), language : ['c', 'cpp'])
+add_project_arguments('-DNoRepository', language : ['c', 'cpp'])
+add_project_arguments('-DOPENFOAM=2006', language : ['c', 'cpp'])
+add_project_arguments('-DOMPI_SKIP_MPICXX', language : ['c', 'cpp'])
+add_project_arguments('-ftemplate-depth-100', language : ['c', 'cpp'])
+add_project_arguments('-m64', language : ['c', 'cpp'])
+add_project_link_arguments('-Wl,--add-needed', language : ['c', 'cpp'])
+add_project_link_arguments('-Wl,--no-as-needed', language : ['c', 'cpp'])
+if cppc.get_id() == 'gcc'
+    add_project_arguments('-DWM_COMPILER="Gcc"', language : 'cpp')
+elif cppc.get_id() == 'clang'
+    add_project_arguments('-DWM_COMPILER="Clang"', language : 'cpp')
+else
+    error('Unknown Compiler. I do not know what to fill in here for the dots: -DWM_COMPILER="..."')
+endif
+if get_option('debug')
+    add_project_arguments('-DWM_COMPILE_OPTION="Debug"', language : ['c', 'cpp'])
+    add_project_arguments('-DFULLDEBUG', language : ['c', 'cpp'])
+    add_project_arguments('-Wfatal-errors', language : ['c', 'cpp'])
+    add_project_arguments('-fdefault-inline', language : ['c', 'cpp'])
+    add_project_arguments('-finline-functions', language : ['c', 'cpp'])
+else
+    add_project_arguments('-DWM_COMPILE_OPTION="Opt"', language : ['c', 'cpp'])
+    add_project_arguments('-frounding-math', language : ['c', 'cpp'])
+endif
+
+if not cppc.compiles(files('src/OSspecific/POSIX/signals/comptest.C'))
+    error('"src/OSspecific/POSIX/signals/comptest.C" failed to compile. Thus, we refuse to compile OpenFOAM because "src/OSspecific/POSIX/signals/sigFpe.C" will fail to compile. Most likely, you are on a linux machine using a libc other than gnu libc. Currently, only gnu libc is supported on linux machines.')
+endif
+
+foamConfig_cpp = custom_target('foamConfig.cpp',
+output : 'foamConfig.cpp',
+input : 'src/OpenFOAM/global/foamConfig.Cver',
+command : [meson.source_root() / 'etc' / 'meson_helpers' / 'set_versions_in_foamConfig_Cver.sh', meson.source_root(), '@OUTPUT@'])
+
+m_dep = cppc.find_library('m')
+dl_dep = cppc.find_library('dl')
+z_dep = cppc.find_library('z')
+fftw3_dep = cppc.find_library('fftw3')
+
+mpfr_dep = cppc.find_library('mpfr', required: false, disabler: true)
+gmp_dep = cppc.find_library('gmp', required: false, disabler: true)
+metis_dep = cppc.find_library('metis', required: false, disabler: true)
+readline_dep = cppc.find_library('readline', required: false, disabler: true)
+perf_main_dep = cppc.find_library('perf_main', required: false, disabler: true)
+gl_dep = cppc.find_library('GL', required: false, disabler: true)
+cgal_dep = dependency('CGAL', required: false, disabler: true)
+zoltan_dep = dependency('', required: false, disabler: true)
+mgrid_dep = dependency('', required: false, disabler: true)
+ccmio_dep = dependency('', required: false, disabler: true)
+kahip_dep = dependency('', required: false, disabler: true)
+scotch_dep = dependency('', required: false, disabler: true)
+scotcherrexit_dep = dependency('', required: false, disabler: true)
+ptscotch_dep = dependency('', required: false, disabler: true)
+ptscotcherrexit_dep = dependency('', required: false, disabler: true)
+
+thread_dep = dependency('threads')
+boost_system_dep = dependency('boost', modules : ['system'])
+# If I do mpi_dep = cppc.find_library('mpi') instead, and test it on a debian machine with the package mpi-default-dev installed, it fails to find <mpi.h>.
+mpi_dep = dependency('mpi', language: 'cpp')
+
+lemonbin = executable('lemon', 'wmake/src/lemon.c', native: true)
+
+# Shamelessly stolen from https://github.com/mesonbuild/meson/blob/master/test%20cases/frameworks/8%20flex/meson.build
+flex = find_program('flex')
+flexgen = generator(flex,
+output : '@PLAINNAME@.yy.cpp',
+arguments : ['--c++', '--full', '-o', '@OUTPUT@', '@INPUT@'])
+
+m4lemon = find_program('etc' / 'meson_helpers' / 'm4lemon.sh')
+
+recursive_include_dirs = meson.build_root()
+# lnInclude_hack ensures that `ls recursive_include_dirs/some/dir` would show symlinks to all files shown by `find meson.source_root()/some/dir -name "*.[CHh]"`
+lnInclude_hack = custom_target(
+    'lnInclude_hack',
+    output: 'fake.h',
+    command: [
+        meson.source_root() / 'etc' / 'meson_helpers' / 'create_all_symlinks.py',
+        meson.source_root(),
+        recursive_include_dirs,
+        ], build_always_stale: true)
+
+
+subdir('src')
+subdir('applications')
+subdir('tutorials')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f0b580767d970e222f4ca15dd9c9504e52249ddf
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,3 @@
+option('WM_LABEL_SIZE', type : 'combo', choices : ['32', '64'], value : '32', description : 'Size of the Integer Datatypes "label" and "uLabel"')
+option('WM_ARCH', type : 'string', value : '"linux64"', description : 'Target Architecture')
+option('WM_PRECISION_OPTION', type : 'combo', choices : ['DP', 'SP', 'SPDP'], value : 'DP', description : 'Whether to use double precision, single precision or mixed precision. See IEEE 754')
diff --git a/src/ODE/meson.build b/src/ODE/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b0a756eb641b359a7e01fc88bd15005219377134
--- /dev/null
+++ b/src/ODE/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'ODESolvers/ODESolver/ODESolver.C',
+    'ODESolvers/ODESolver/ODESolverNew.C',
+    'ODESolvers/adaptiveSolver/adaptiveSolver.C',
+    'ODESolvers/Euler/Euler.C',
+    'ODESolvers/EulerSI/EulerSI.C',
+    'ODESolvers/Trapezoid/Trapezoid.C',
+    'ODESolvers/RKF45/RKF45.C',
+    'ODESolvers/RKCK45/RKCK45.C',
+    'ODESolvers/RKDP45/RKDP45.C',
+    'ODESolvers/Rosenbrock12/Rosenbrock12.C',
+    'ODESolvers/Rosenbrock23/Rosenbrock23.C',
+    'ODESolvers/Rosenbrock34/Rosenbrock34.C',
+    'ODESolvers/rodas23/rodas23.C',
+    'ODESolvers/rodas34/rodas34.C',
+    'ODESolvers/SIBS/SIBS.C',
+    'ODESolvers/SIBS/SIMPR.C',
+    'ODESolvers/SIBS/polyExtrapolate.C',
+    'ODESolvers/seulex/seulex.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_ODE = library(
+    'ODE',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_ODE)
diff --git a/src/OSspecific/POSIX/meson.build b/src/OSspecific/POSIX/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..17aad384fa431cda3bbc451b37cf95a77768f420
--- /dev/null
+++ b/src/OSspecific/POSIX/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'POSIX.C',
+    'cpuInfo/cpuInfo.C',
+    'cpuTime/cpuTimePosix.C',
+    'memInfo/memInfo.C',
+    'signals/sigFpe.C',
+    'signals/sigSegv.C',
+    'signals/sigInt.C',
+    'signals/sigQuit.C',
+    'signals/sigStopAtWriteNow.C',
+    'signals/sigWriteNow.C',
+    'signals/timer.C',
+    'regExp/regExpPosix.C',
+    'fileStat/fileStat.C',
+    'fileMonitor/fileMonitor.C',
+    'printStack/printStack.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/OSspecific/POSIX',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+if fs.is_file('/usr/include/sys/inotify.h')
+    cpp_args += '-DFOAM_USE_INOTIFY'
+endif
+lib_OSspecific = library(
+    'OSspecific',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_OSspecific)
diff --git a/src/OSspecific/POSIX/signals/comptest.C b/src/OSspecific/POSIX/signals/comptest.C
new file mode 100644
index 0000000000000000000000000000000000000000..6e10a8acb28bc5d45b47d40ab8a186fe819edc44
--- /dev/null
+++ b/src/OSspecific/POSIX/signals/comptest.C
@@ -0,0 +1,25 @@
+// The file sigFpe.C contains code that will not compile if
+// - The OS is Linux -> __linux__ is defined
+// - The compiler is gcc -> __GNUX__ is defined
+// - The libc in use is not glibc, but e.g. musl.
+// You can create such a platform by taking a clean alpine linux and installing these packages:
+// apk add git meson bash g++ zlib-dev fftw-dev openmpi-dev boost-dev flex-dev cgal-dev
+// On this alpine machine, sigFpe.C will not compile since feenableexcept is not defined.
+// There is no way to make it compile without touching the source code of sigFpe.C. I'm not going to fix sigFpe (at least not right now). Now if you cannot build OpenFOAM on a machine, it is better to fail a few seconds after the call to `meson setup` than to fail hours after the call to `ninja`. So, I extracted the critical part of sigFpe.C into this file, comptest.C. openfoam/meson.build will check if this file compiles and refuse to build openfoam is this file cannot be compiled.
+
+#if defined(__linux__) && defined(__GNUC__)
+    #ifndef __USE_GNU
+        #define __USE_GNU      // To use feenableexcept()
+    #endif
+    #include <fenv.h>
+    #include <malloc.h>
+#endif
+
+#ifdef __APPLE__
+    #include "feexceptErsatz.H"
+#endif
+
+
+#if (defined(__linux__) && defined(__GNUC__)) || defined(__APPLE__)
+auto funcptr = feenableexcept;
+#endif
diff --git a/src/OSspecific/meson.build b/src/OSspecific/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..60be7d7709effe66ff34fff21dd4b1d2012ae107
--- /dev/null
+++ b/src/OSspecific/meson.build
@@ -0,0 +1 @@
+subdir('POSIX')
diff --git a/src/OpenFOAM/meson.build b/src/OpenFOAM/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f41a828135954bf25095d625c8243a218d4c9d68
--- /dev/null
+++ b/src/OpenFOAM/meson.build
@@ -0,0 +1,617 @@
+fieldExprLemonParser_lyy_m4 = custom_target(
+    'fieldExprLemonParser_lyy_m4',
+    input: 'expressions/fields/fieldExprLemonParser.lyy-m4',
+    output : 'fieldExprLemonParser.cc',
+    command: [m4lemon, meson.source_root(), '.', lemonbin, '@INPUT@', '@OUTPUT@' ])
+srcfiles = [
+    lnInclude_hack,
+    foamConfig_cpp,
+    fieldExprLemonParser_lyy_m4,
+    'global/globals.C',
+    'global/argList/argList.C',
+    'global/argList/argListHelp.C',
+    'global/clock/clock.C',
+    'global/clockValue/clockValue.C',
+    'global/cpuTime/cpuTimeCxx.C',
+    'global/debug/simpleObjectRegistry.C',
+    'global/profiling/profiling.C',
+    'global/profiling/profilingInformation.C',
+    'global/profiling/profilingSysInfo.C',
+    'global/profiling/profilingTrigger.C',
+    'global/profiling/profilingPstream.C',
+    'global/etcFiles/etcFiles.C',
+    'global/fileOperations/fileOperation/fileOperation.C',
+    'global/fileOperations/fileOperationInitialise/fileOperationInitialise.C',
+    'global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C',
+    'global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C',
+    'global/fileOperations/collatedFileOperation/collatedFileOperation.C',
+    'global/fileOperations/collatedFileOperation/hostCollatedFileOperation.C',
+    'global/fileOperations/collatedFileOperation/threadedCollatedOFstream.C',
+    'global/fileOperations/collatedFileOperation/OFstreamCollator.C',
+    'primitives/bools/bool/bool.C',
+    'primitives/bools/Switch/Switch.C',
+    'primitives/bools/lists/boolList.C',
+    'primitives/chars/char/char.C',
+    'primitives/chars/wchar/wchar.C',
+    'primitives/chars/lists/charList.C',
+    'primitives/chars/lists/charUList.C',
+    'primitives/direction/directionIO.C',
+    'primitives/ints/uint8/uint8.C',
+    'primitives/ints/uint16/uint16.C',
+    'primitives/ints/uint32/uint32.C',
+    'primitives/ints/uint32/uint32IO.C',
+    'primitives/ints/uint64/uint64.C',
+    'primitives/ints/uint64/uint64IO.C',
+    'primitives/ints/uint/uintIO.C',
+    'primitives/ints/int16/int16.C',
+    'primitives/ints/int32/int32.C',
+    'primitives/ints/int32/int32IO.C',
+    'primitives/ints/int64/int64.C',
+    'primitives/ints/int64/int64IO.C',
+    'primitives/ints/int/intIO.C',
+    'primitives/ints/label/label.C',
+    'primitives/ints/uLabel/uLabel.C',
+    'primitives/ints/lists/labelList.C',
+    'primitives/ints/lists/labelIOList.C',
+    'primitives/ints/lists/labelListIOList.C',
+    'primitives/Scalar/doubleScalar/doubleScalar.C',
+    'primitives/Scalar/floatScalar/floatScalar.C',
+    'primitives/Scalar/scalar/scalar.C',
+    'primitives/Scalar/lists/scalarList.C',
+    'primitives/Scalar/lists/scalarIOList.C',
+    'primitives/Scalar/lists/scalarListIOList.C',
+    'primitives/DiagTensor/diagTensor/diagTensor.C',
+    'primitives/SphericalTensor/sphericalTensor/sphericalTensor.C',
+    'primitives/SphericalTensor/labelSphericalTensor/labelSphericalTensor.C',
+    'primitives/SymmTensor/labelSymmTensor/labelSymmTensor.C',
+    'primitives/SymmTensor/symmTensor/symmTensor.C',
+    'primitives/Tensor/floats/floatTensors.C',
+    'primitives/Tensor/floats/tensor.C',
+    'primitives/Tensor/ints/labelTensor.C',
+    'primitives/Tensor/lists/sphericalTensorList.C',
+    'primitives/Tensor/lists/symmTensorList.C',
+    'primitives/Tensor/lists/tensorList.C',
+    'primitives/Vector/complex/complexVector.C',
+    'primitives/Vector/floats/floatVectors.C',
+    'primitives/Vector/ints/labelVector.C',
+    'primitives/Vector/lists/vectorList.C',
+    'primitives/Vector/lists/vectorIOList.C',
+    'primitives/Vector/lists/vectorListIOList.C',
+    'primitives/Tensor2D/tensor2D/tensor2D.C',
+    'primitives/SphericalTensor2D/sphericalTensor2D/sphericalTensor2D.C',
+    'primitives/SymmTensor2D/symmTensor2D/symmTensor2D.C',
+    'primitives/Vector2D/floats/vector2D.C',
+    'primitives/Vector2D/ints/labelVector2D.C',
+    'primitives/complex/complex.C',
+    'primitives/globalIndexAndTransform/globalIndexAndTransform.C',
+    'primitives/globalIndexAndTransform/vectorTensorTransform/vectorTensorTransform.C',
+    'primitives/quaternion/quaternion.C',
+    'primitives/septernion/septernion.C',
+    'primitives/triad/triad.C',
+    'primitives/functions/Function1/Function1/function1Base.C',
+    'primitives/functions/Function1/makeFunction1s.C',
+    'primitives/functions/Function1/ramp/ramp.C',
+    'primitives/functions/Function1/step/stepFunction.C',
+    'primitives/functions/Function1/linearRamp/linearRamp.C',
+    'primitives/functions/Function1/quadraticRamp/quadraticRamp.C',
+    'primitives/functions/Function1/quarterSineRamp/quarterSineRamp.C',
+    'primitives/functions/Function1/quarterCosineRamp/quarterCosineRamp.C',
+    'primitives/functions/Function1/halfCosineRamp/halfCosineRamp.C',
+    'primitives/functions/Polynomial/polynomialFunction.C',
+    'primitives/functions/Math/erfInv.C',
+    'primitives/functions/Math/incGamma.C',
+    'primitives/functions/Math/invIncGamma.C',
+    'primitives/subModelBase/subModelBase.C',
+    'primitives/coordinate/systems/coordinateSystem.C',
+    'primitives/coordinate/systems/coordinateSystemNew.C',
+    'primitives/coordinate/systems/coordinateSystemTransform.C',
+    'primitives/coordinate/systems/coordinateSystems.C',
+    'primitives/coordinate/systems/cartesianCS.C',
+    'primitives/coordinate/systems/cylindricalCS.C',
+    'primitives/coordinate/systems/indirectCS.C',
+    'primitives/coordinate/rotation/axesRotation.C',
+    'primitives/coordinate/rotation/axisAngleRotation.C',
+    'primitives/coordinate/rotation/coordinateRotation.C',
+    'primitives/coordinate/rotation/cylindricalRotation.C',
+    'primitives/coordinate/rotation/identityRotation.C',
+    'primitives/coordinate/rotation/specifiedRotation.C',
+    'primitives/coordinate/rotation/EulerCoordinateRotation.C',
+    'primitives/coordinate/rotation/STARCDCoordinateRotation.C',
+    'primitives/strings/string/string.C',
+    'primitives/strings/string/stringIO.C',
+    'primitives/strings/string/stringIOList.C',
+    'primitives/strings/word/word.C',
+    'primitives/strings/word/wordIO.C',
+    'primitives/strings/word/wordIOList.C',
+    'primitives/strings/fileName/fileName.C',
+    'primitives/strings/fileName/fileNameIO.C',
+    'primitives/strings/keyType/keyType.C',
+    'primitives/strings/regex/regExpCxx.C',
+    'primitives/strings/wordRe/wordRe.C',
+    'primitives/strings/wordRes/wordRes.C',
+    'primitives/strings/lists/CStringList.C',
+    'primitives/strings/lists/hashedWordList.C',
+    'primitives/strings/parsing/parsing.C',
+    'primitives/strings/parsing/genericRagelLemonDriver.C',
+    'primitives/strings/stringOps/stringOps.C',
+    'primitives/strings/stringOps/stringOpsEvaluate.C',
+    'primitives/strings/stringOps/stringOpsSort.C',
+    'primitives/strings/stringOps/stringOpsSplit.C',
+    'expressions/exprEntry/expressionEntry.C',
+    'expressions/exprEntry/expressionEntryBool.C',
+    'expressions/exprEntry/expressionEntryDimensioned.C',
+    'expressions/exprEntry/expressionEntryStrings.C',
+    'expressions/exprEntry/expressionEntryVectors.C',
+    'expressions/exprResult/exprResult.C',
+    'expressions/exprResult/exprResultGlobals.C',
+    'expressions/exprResult/exprResultDelayed.C',
+    'expressions/exprResult/exprResultStack.C',
+    'expressions/exprResult/exprResultStored.C',
+    'expressions/exprResult/exprResultStoredStack.C',
+    'expressions/exprString/exprString.C',
+    'expressions/exprTools/exprTools.C',
+    'expressions/scanToken/exprScanToken.C',
+    'expressions/traits/exprTraits.C',
+    'expressions/exprDriver/exprDriver.C',
+    'expressions/exprDriver/exprDriverFields.C',
+    'expressions/exprDriver/exprDriverFunctions.C',
+    'expressions/exprDriver/exprDriverIO.C',
+    'expressions/fields/fieldExpr.C',
+    'expressions/fields/fieldExprDriver.C',
+    'expressions/fields/fieldExprDriverFields.C',
+    'expressions/fields/fieldExprScanner.cc',
+    'expressions/Function1/makeFunction1Expression.C',
+    'primitives/ops/flipOp.C',
+    'primitives/predicates/scalar/scalarPredicates.C',
+    'primitives/hashes/Hash/Hasher.C',
+    'primitives/hashes/SHA1/SHA1.C',
+    'primitives/hashes/SHA1/SHA1Digest.C',
+    'primitives/random/Random/Random.C',
+    'primitives/ranges/IntRange/IntRanges.C',
+    'primitives/ranges/labelRange/labelRange.C',
+    'primitives/ranges/labelRange/labelRanges.C',
+    'primitives/ranges/scalarRange/scalarRange.C',
+    'primitives/ranges/scalarRange/scalarRanges.C',
+    'primitives/ranges/sliceRange/sliceRange.C',
+    'primitives/ranges/tableBounds/tableBounds.C',
+    'primitives/spatialVectorAlgebra/SpatialVector/spatialVector/spatialVector.C',
+    'primitives/spatialVectorAlgebra/SpatialTensor/spatialTensor/spatialTensor.C',
+    'primitives/spatialVectorAlgebra/CompactSpatialTensor/compactSpatialTensor/compactSpatialTensor.C',
+    'primitives/polynomialEqns/cubicEqn/cubicEqn.C',
+    'primitives/polynomialEqns/quadraticEqn/quadraticEqn.C',
+    'primitives/Barycentric/barycentric/barycentric.C',
+    'primitives/Barycentric2D/barycentric2D/barycentric2D.C',
+    'containers/Bits/bitSet/bitSet.C',
+    'containers/Bits/bitSet/bitSetIO.C',
+    'containers/Bits/BitOps/BitOps.C',
+    'containers/Bits/PackedList/PackedListCore.C',
+    'containers/HashTables/HashOps/HashOps.C',
+    'containers/HashTables/HashSet/hashSets.C',
+    'containers/HashTables/HashTable/HashTableCore.C',
+    'containers/Lists/SortableList/ParSortableListName.C',
+    'containers/Lists/ListOps/ListOps.C',
+    'containers/LinkedLists/linkTypes/SLListBase/SLListBase.C',
+    'containers/LinkedLists/linkTypes/DLListBase/DLListBase.C',
+    'db/options/IOstreamOption.C',
+    'db/IOstreams/token/tokenIO.C',
+    'db/IOstreams/IOstreams/IOstream.C',
+    'db/IOstreams/IOstreams/Istream.C',
+    'db/IOstreams/IOstreams/Ostream.C',
+    'db/IOstreams/Sstreams/ISstream.C',
+    'db/IOstreams/Sstreams/OSstream.C',
+    'db/IOstreams/Sstreams/SstreamsPrint.C',
+    'db/IOstreams/Sstreams/readHexLabel.C',
+    'db/IOstreams/Sstreams/prefixOSstream.C',
+    'db/IOstreams/hashes/base64Layer.C',
+    'db/IOstreams/gzstream/gzstream.C',
+    'db/IOstreams/memory/ListStream.C',
+    'db/IOstreams/Fstreams/IFstream.C',
+    'db/IOstreams/Fstreams/OFstream.C',
+    'db/IOstreams/Fstreams/fstreamPointers.C',
+    'db/IOstreams/Fstreams/masterOFstream.C',
+    'db/IOstreams/Tstreams/ITstream.C',
+    'db/IOstreams/Tstreams/OTstream.C',
+    'db/IOstreams/StringStreams/StringStream.C',
+    'db/IOstreams/Pstreams/UPstreamCommsStruct.C',
+    'db/IOstreams/Pstreams/Pstream.C',
+    'db/IOstreams/Pstreams/PstreamBuffers.C',
+    'db/IOstreams/Pstreams/UIPstreamBase.C',
+    'db/IOstreams/Pstreams/UOPstreamBase.C',
+    'db/IOstreams/Pstreams/IPstreams.C',
+    'db/IOstreams/Pstreams/OPstreams.C',
+    'db/IOstreams/Pstreams/IPBstreams.C',
+    'db/IOstreams/Pstreams/OPBstreams.C',
+    'db/dictionary/dictionary.C',
+    'db/dictionary/dictionaryIO.C',
+    'db/dictionary/dictionarySearch.C',
+    'db/dictionary/dictionaryCompat.C',
+    'db/dictionary/dictionaryContent/dictionaryContent.C',
+    'db/dictionary/namedDictionary/namedDictionary.C',
+    'db/dictionary/entry/entry.C',
+    'db/dictionary/entry/entryIO.C',
+    'db/dictionary/primitiveEntry/primitiveEntry.C',
+    'db/dictionary/primitiveEntry/primitiveEntryIO.C',
+    'db/dictionary/dictionaryEntry/dictionaryEntry.C',
+    'db/dictionary/dictionaryEntry/dictionaryEntryIO.C',
+    'db/dictionary/dictionaryListEntry/dictionaryListEntryIO.C',
+    'db/dictionary/functionEntries/calcEntry/calcEntry.C',
+    'db/dictionary/functionEntries/codeStream/codeStream.C',
+    'db/dictionary/functionEntries/evalEntry/evalEntry.C',
+    'db/dictionary/functionEntries/functionEntry/functionEntry.C',
+    'db/dictionary/functionEntries/ifEntry/ifEntry.C',
+    'db/dictionary/functionEntries/ifeqEntry/ifeqEntry.C',
+    'db/dictionary/functionEntries/includeEntry/includeEntry.C',
+    'db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C',
+    'db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.C',
+    'db/dictionary/functionEntries/inputMode/inputMode.C',
+    'db/dictionary/functionEntries/message/messageDirective.C',
+    'db/dictionary/functionEntries/removeEntry/removeEntry.C',
+    'db/dictionary/functionEntries/word/wordDirective.C',
+    'db/IOobjects/IOdictionary/baseIOdictionary.C',
+    'db/IOobjects/IOdictionary/localIOdictionary.C',
+    'db/IOobjects/IOdictionary/unwatchedIOdictionary.C',
+    'db/IOobjects/IOdictionary/IOdictionary.C',
+    'db/IOobjects/IOMap/IOMaps.C',
+    'db/IOobjects/decomposedBlockData/decomposedBlockData.C',
+    'db/IOobjects/decomposedBlockData/decomposedBlockDataHeader.C',
+    'db/IOobjects/rawIOField/rawIOFields.C',
+    'db/IOobjects/GlobalIOField/GlobalIOFields.C',
+    'db/IOobjects/GlobalIOList/globalIOLists.C',
+    'db/IOobject/IOobject.C',
+    'db/IOobject/IOobjectIO.C',
+    'db/IOobject/IOobjectMetaData.C',
+    'db/IOobject/IOobjectReadHeader.C',
+    'db/IOobject/IOobjectWriteHeader.C',
+    'db/regIOobject/regIOobjectMetaData.C',
+    'db/regIOobject/regIOobjectRead.C',
+    'db/regIOobject/regIOobjectWrite.C',
+    'db/IOobjectList/IOobjectList.C',
+    'db/objectRegistry/objectRegistry.C',
+    'db/CallbackRegistry/CallbackRegistryName.C',
+    'db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C',
+    'db/dynamicLibrary/dynamicCode/dynamicCode.C',
+    'db/dynamicLibrary/dynamicCode/dynamicCodeContext.C',
+    'db/dynamicLibrary/codedBase/codedBase.C',
+    'db/functionObjects/functionObject/functionObject.C',
+    'db/functionObjects/functionObjectProperties/functionObjectProperties.C',
+    'db/functionObjects/functionObjectList/functionObjectList.C',
+    'db/functionObjects/stateFunctionObject/stateFunctionObject.C',
+    'db/functionObjects/timeFunctionObject/timeFunctionObject.C',
+    'db/functionObjects/writeFile/writeFile.C',
+    'db/functionObjects/logFiles/logFiles.C',
+    'db/functionObjects/timeControl/timeControl.C',
+    'db/functionObjects/timeControl/timeControlFunctionObject.C',
+    'db/functionObjects/regionFunctionObject/regionFunctionObject.C',
+    'db/functionObjects/valueAverageBase/valueAverageBase.C',
+    'db/Time/TimePaths.C',
+    'db/Time/TimeState.C',
+    'db/Time/Time.C',
+    'db/Time/TimeIO.C',
+    'db/Time/subCycleTime.C',
+    'db/Time/subLoopTime.C',
+    'db/Time/timeSelector.C',
+    'db/Time/instant/instant.C',
+    'dimensionSet/dimensionSet.C',
+    'dimensionSet/dimensionSetIO.C',
+    'dimensionSet/dimensionSets.C',
+    'dimensionedTypes/dimensionedScalar/dimensionedScalar.C',
+    'dimensionedTypes/dimensionedSphericalTensor/dimensionedSphericalTensor.C',
+    'dimensionedTypes/dimensionedSymmTensor/dimensionedSymmTensor.C',
+    'dimensionedTypes/dimensionedTensor/dimensionedTensor.C',
+    'orientedType/orientedType.C',
+    'matrices/schemes/schemesLookup.C',
+    'matrices/schemes/schemesLookupDetail.C',
+    'matrices/solution/solution.C',
+    'matrices/scalarMatrices/scalarMatrices.C',
+    'matrices/scalarMatrices/SVD/SVD.C',
+    'matrices/LUscalarMatrix/LUscalarMatrix.C',
+    'matrices/LUscalarMatrix/procLduMatrix.C',
+    'matrices/LUscalarMatrix/procLduInterface.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrix.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixOperations.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixATmul.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixSolver.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C',
+    'matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C',
+    'matrices/lduMatrix/solvers/diagonalSolver/diagonalSolver.C',
+    'matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C',
+    'matrices/lduMatrix/solvers/PCG/PCG.C',
+    'matrices/lduMatrix/solvers/PBiCG/PBiCG.C',
+    'matrices/lduMatrix/solvers/PBiCGStab/PBiCGStab.C',
+    'matrices/lduMatrix/solvers/PPCG/PPCG.C',
+    'matrices/lduMatrix/solvers/PPCR/PPCR.C',
+    'matrices/lduMatrix/smoothers/GaussSeidel/GaussSeidelSmoother.C',
+    'matrices/lduMatrix/smoothers/symGaussSeidel/symGaussSeidelSmoother.C',
+    'matrices/lduMatrix/smoothers/nonBlockingGaussSeidel/nonBlockingGaussSeidelSmoother.C',
+    'matrices/lduMatrix/smoothers/DIC/DICSmoother.C',
+    'matrices/lduMatrix/smoothers/FDIC/FDICSmoother.C',
+    'matrices/lduMatrix/smoothers/DICGaussSeidel/DICGaussSeidelSmoother.C',
+    'matrices/lduMatrix/smoothers/DILU/DILUSmoother.C',
+    'matrices/lduMatrix/smoothers/DILUGaussSeidel/DILUGaussSeidelSmoother.C',
+    'matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C',
+    'matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C',
+    'matrices/lduMatrix/preconditioners/DICPreconditioner/DICPreconditioner.C',
+    'matrices/lduMatrix/preconditioners/FDICPreconditioner/FDICPreconditioner.C',
+    'matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C',
+    'matrices/lduMatrix/preconditioners/GAMGPreconditioner/GAMGPreconditioner.C',
+    'matrices/lduMatrix/lduAddressing/lduAddressing.C',
+    'matrices/lduMatrix/lduAddressing/lduInterface/lduInterface.C',
+    'matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterface.C',
+    'matrices/lduMatrix/lduAddressing/lduInterface/cyclicLduInterface.C',
+    'matrices/lduMatrix/lduAddressing/lduInterface/lduPrimitiveProcessorInterface.C',
+    'matrices/lduMatrix/lduAddressing/lduInterfaceFields/lduInterfaceField/lduInterfaceField.C',
+    'matrices/lduMatrix/lduAddressing/lduInterfaceFields/processorLduInterfaceField/processorLduInterfaceField.C',
+    'matrices/lduMatrix/lduAddressing/lduInterfaceFields/cyclicLduInterfaceField/cyclicLduInterfaceField.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGSolver.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGSolverInterpolate.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGSolverScale.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGSolverSolve.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterfaceNew.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaces/processorGAMGInterface/processorGAMGInterface.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaces/processorCyclicGAMGInterface/processorCyclicGAMGInterface.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaces/cyclicGAMGInterface/cyclicGAMGInterface.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceField.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceFieldNew.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaceFields/processorGAMGInterfaceField/processorGAMGInterfaceField.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaceFields/processorCyclicGAMGInterfaceField/processorCyclicGAMGInterfaceField.C',
+    'matrices/lduMatrix/solvers/GAMG/interfaceFields/cyclicGAMGInterfaceField/cyclicGAMGInterfaceField.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerateLduAddressing.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/pairGAMGAgglomeration/pairGAMGAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/pairGAMGAgglomeration/pairGAMGAgglomerate.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/algebraicPairGAMGAgglomeration/algebraicPairGAMGAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/dummyAgglomeration/dummyAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/masterCoarsestGAMGProcAgglomeration/masterCoarsestGAMGProcAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/manualGAMGProcAgglomeration/manualGAMGProcAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/eagerGAMGProcAgglomeration/eagerGAMGProcAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/noneGAMGProcAgglomeration/noneGAMGProcAgglomeration.C',
+    'matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/procFacesGAMGProcAgglomeration/procFacesGAMGProcAgglomeration.C',
+    'meshes/ijkMesh/ijkMesh.C',
+    'meshes/lduMesh/lduMesh.C',
+    'meshes/lduMesh/lduPrimitiveMesh.C',
+    'matrices/LduMatrix/LduMatrix/lduMatrices.C',
+    'matrices/LduMatrix/LduMatrix/solverPerformance.C',
+    'matrices/LduMatrix/LduMatrix/LduInterfaceField/LduInterfaceFields.C',
+    'matrices/LduMatrix/Smoothers/lduSmoothers.C',
+    'matrices/LduMatrix/Preconditioners/lduPreconditioners.C',
+    'matrices/LduMatrix/Solvers/lduSolvers.C',
+    'meshes/primitiveShapes/line/line.C',
+    'meshes/primitiveShapes/plane/plane.C',
+    'meshes/primitiveShapes/triangle/intersection.C',
+    'meshes/primitiveShapes/objectHit/pointIndexHitIOList.C',
+    'meshes/primitiveShapes/volumeType/volumeType.C',
+    'meshes/meshShapes/edge/edge.C',
+    'meshes/meshShapes/edge/edgeIOList.C',
+    'meshes/meshShapes/face/face.C',
+    'meshes/meshShapes/face/faceIntersection.C',
+    'meshes/meshShapes/face/faceContactSphere.C',
+    'meshes/meshShapes/face/faceAreaInContact.C',
+    'meshes/meshShapes/face/faceIOList.C',
+    'meshes/meshShapes/cell/cell.C',
+    'meshes/meshShapes/cell/oppositeCellFace.C',
+    'meshes/meshShapes/cell/cellIOList.C',
+    'meshes/meshShapes/hexCell/hexCell.C',
+    'meshes/meshShapes/tetCell/tetCell.C',
+    'meshes/meshShapes/cellModel/cellModel.C',
+    'meshes/meshShapes/cellModel/cellModels.C',
+    'meshes/meshShapes/cellModel/cellModelIO.C',
+    'meshes/meshShapes/cellShape/cellShape.C',
+    'meshes/meshShapes/cellShape/cellShapeEqual.C',
+    'meshes/meshShapes/cellShape/cellShapeIO.C',
+    'meshes/meshShapes/cellShape/cellShapeIOList.C',
+    'meshes/Identifiers/patch/patchIdentifier.C',
+    'meshes/Identifiers/patch/coupleGroupIdentifier.C',
+    'meshes/Identifiers/surface/geometricSurfacePatch.C',
+    'meshes/Identifiers/surface/surfZoneIdentifier.C',
+    'meshes/Identifiers/zone/zoneIdentifier.C',
+    'meshes/MeshObject/meshObject.C',
+    'meshes/polyMesh/polyPatches/polyPatch/polyPatch.C',
+    'meshes/polyMesh/polyPatches/polyPatch/polyPatchNew.C',
+    'meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C',
+    'meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/cyclicSlip/cyclicSlipPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/empty/emptyPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/symmetry/symmetryPolyPatch.C',
+    'meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C',
+    'meshes/polyMesh/polyPatches/derived/wall/wallPolyPatch.C',
+    'meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C',
+    'meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.C',
+    'meshes/polyMesh/globalMeshData/globalMeshData.C',
+    'meshes/polyMesh/globalMeshData/globalPoints.C',
+    'meshes/polyMesh/syncTools/syncTools.C',
+    'meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C',
+    'meshes/polyMesh/polyMeshTetDecomposition/tetIndices.C',
+    'meshes/polyMesh/zones/zone/zone.C',
+    'meshes/polyMesh/zones/cellZone/cellZone.C',
+    'meshes/polyMesh/zones/cellZone/cellZoneNew.C',
+    'meshes/polyMesh/zones/faceZone/faceZone.C',
+    'meshes/polyMesh/zones/faceZone/faceZoneNew.C',
+    'meshes/polyMesh/zones/pointZone/pointZone.C',
+    'meshes/polyMesh/zones/pointZone/pointZoneNew.C',
+    'meshes/polyMesh/polyMesh.C',
+    'meshes/polyMesh/polyMeshFromShapeMesh.C',
+    'meshes/polyMesh/polyMeshIO.C',
+    'meshes/polyMesh/polyMeshInitMesh.C',
+    'meshes/polyMesh/polyMeshClear.C',
+    'meshes/polyMesh/polyMeshUpdate.C',
+    'meshes/polyMesh/polyMeshCheck/polyMeshCheck.C',
+    'meshes/polyMesh/polyMeshCheck/polyMeshTools.C',
+    'meshes/primitiveMesh/primitiveMesh.C',
+    'meshes/primitiveMesh/primitiveMeshCellCells.C',
+    'meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C',
+    'meshes/primitiveMesh/primitiveMeshCellEdges.C',
+    'meshes/primitiveMesh/primitiveMeshCells.C',
+    'meshes/primitiveMesh/primitiveMeshClear.C',
+    'meshes/primitiveMesh/primitiveMeshEdgeCells.C',
+    'meshes/primitiveMesh/primitiveMeshEdgeFaces.C',
+    'meshes/primitiveMesh/primitiveMeshEdges.C',
+    'meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C',
+    'meshes/primitiveMesh/primitiveMeshFindCell.C',
+    'meshes/primitiveMesh/primitiveMeshPointCells.C',
+    'meshes/primitiveMesh/primitiveMeshPointFaces.C',
+    'meshes/primitiveMesh/primitiveMeshPointPoints.C',
+    'meshes/primitiveMesh/primitiveMeshCellPoints.C',
+    'meshes/primitiveMesh/primitiveMeshCalcCellShapes.C',
+    'meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C',
+    'meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheckPointNearness.C',
+    'meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheckEdgeLength.C',
+    'meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshTools.C',
+    'meshes/primitiveMesh/primitivePatch/patchZones.C',
+    'meshes/primitiveMesh/primitivePatch/walkPatch.C',
+    'meshes/meshShapes/cellMatcher/cellMatcher.C',
+    'meshes/meshShapes/cellMatcher/hexMatcher.C',
+    'meshes/meshShapes/cellMatcher/wedgeMatcher.C',
+    'meshes/meshShapes/cellMatcher/prismMatcher.C',
+    'meshes/meshShapes/cellMatcher/pyrMatcher.C',
+    'meshes/meshShapes/cellMatcher/tetWedgeMatcher.C',
+    'meshes/meshShapes/cellMatcher/tetMatcher.C',
+    'meshes/meshShapes/cellMatcher/degenerateMatcher.C',
+    'meshes/polyMesh/mapPolyMesh/mapPolyMesh.C',
+    'meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C',
+    'meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeIO.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseIO.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseSubset.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMeshIO.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C',
+    'meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistributePolyMesh.C',
+    'meshes/polyMesh/mapPolyMesh/mapAddedPolyMesh.C',
+    'meshes/primitiveMesh/PrimitivePatch/PrimitivePatchBase.C',
+    'meshes/pointMesh/pointMesh.C',
+    'meshes/pointMesh/pointMeshMapper/pointMapper.C',
+    'meshes/pointMesh/pointMeshMapper/pointPatchMapper.C',
+    'meshes/pointMesh/pointPatches/pointPatch/pointPatch.C',
+    'meshes/pointMesh/pointPatches/facePointPatch/facePointPatch.C',
+    'meshes/pointMesh/pointPatches/facePointPatch/facePointPatchNew.C',
+    'meshes/pointMesh/pointPatches/basic/coupled/coupledPointPatch.C',
+    'meshes/pointMesh/pointPatches/basic/generic/genericPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/cyclic/cyclicPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/cyclicSlip/cyclicSlipPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/empty/emptyPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/processorCyclic/processorCyclicPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/symmetryPlane/symmetryPlanePointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/symmetry/symmetryPointPatch.C',
+    'meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.C',
+    'meshes/pointMesh/pointPatches/derived/coupled/coupledFacePointPatch.C',
+    'meshes/pointMesh/pointPatches/derived/wall/wallPointPatch.C',
+    'meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C',
+    'meshes/boundBox/boundBox.C',
+    'meshes/treeBoundBox/treeBoundBox.C',
+    'meshes/meshTools/matchPoints.C',
+    'fields/UniformDimensionedFields/uniformDimensionedFields.C',
+    'fields/cloud/cloud.C',
+    'fields/Fields/Field/FieldBase.C',
+    'fields/Fields/boolField/boolField.C',
+    'fields/Fields/boolField/boolIOField.C',
+    'fields/Fields/labelField/labelField.C',
+    'fields/Fields/labelField/labelIOField.C',
+    'fields/Fields/labelField/labelFieldIOField.C',
+    'fields/Fields/scalarField/scalarField.C',
+    'fields/Fields/scalarField/scalarIOField.C',
+    'fields/Fields/scalarField/scalarFieldIOField.C',
+    'fields/Fields/vectorField/vectorField.C',
+    'fields/Fields/vectorField/vectorIOField.C',
+    'fields/Fields/vectorField/vectorFieldIOField.C',
+    'fields/Fields/vector2DField/vector2DIOField.C',
+    'fields/Fields/vector2DField/vector2DFieldIOField.C',
+    'fields/Fields/sphericalTensorField/sphericalTensorField.C',
+    'fields/Fields/sphericalTensorField/sphericalTensorIOField.C',
+    'fields/Fields/sphericalTensorField/sphericalTensorFieldIOField.C',
+    'fields/Fields/diagTensorField/diagTensorField.C',
+    'fields/Fields/diagTensorField/diagTensorIOField.C',
+    'fields/Fields/diagTensorField/diagTensorFieldIOField.C',
+    'fields/Fields/symmTensorField/symmTensorField.C',
+    'fields/Fields/symmTensorField/symmTensorIOField.C',
+    'fields/Fields/symmTensorField/symmTensorFieldIOField.C',
+    'fields/Fields/tensorField/tensorField.C',
+    'fields/Fields/tensorField/tensorIOField.C',
+    'fields/Fields/tensorField/tensorFieldIOField.C',
+    'fields/Fields/quaternionField/quaternionField.C',
+    'fields/Fields/quaternionField/quaternionIOField.C',
+    'fields/Fields/triadField/triadIOField.C',
+    'fields/Fields/complex/complexField.C',
+    'fields/Fields/complex/complexVectorField.C',
+    'fields/Fields/transformField/transformField.C',
+    'fields/Fields/fieldTypes.C',
+    'fields/pointPatchFields/pointPatchField/pointPatchFieldBase.C',
+    'fields/pointPatchFields/pointPatchField/pointPatchFields.C',
+    'fields/pointPatchFields/basic/calculated/calculatedPointPatchFields.C',
+    'fields/pointPatchFields/basic/coupled/coupledPointPatchFields.C',
+    'fields/pointPatchFields/basic/value/valuePointPatchFields.C',
+    'fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchFields.C',
+    'fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchFields.C',
+    'fields/pointPatchFields/constraint/cyclic/cyclicPointPatchFields.C',
+    'fields/pointPatchFields/constraint/cyclicSlip/cyclicSlipPointPatchFields.C',
+    'fields/pointPatchFields/constraint/empty/emptyPointPatchFields.C',
+    'fields/pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.C',
+    'fields/pointPatchFields/constraint/processor/processorPointPatchFields.C',
+    'fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchFields.C',
+    'fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchFields.C',
+    'fields/pointPatchFields/constraint/symmetry/symmetryPointPatchFields.C',
+    'fields/pointPatchFields/constraint/wedge/wedgePointPatchFields.C',
+    'fields/pointPatchFields/derived/slip/slipPointPatchFields.C',
+    'fields/pointPatchFields/derived/fixedNormalSlip/fixedNormalSlipPointPatchFields.C',
+    'fields/pointPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValuePointPatchFields.C',
+    'fields/pointPatchFields/derived/codedFixedValue/codedFixedValuePointPatchFields.C',
+    'fields/GeometricFields/pointFields/pointFields.C',
+    'meshes/bandCompression/bandCompression.C',
+    'meshes/preservePatchTypes/preservePatchTypes.C',
+    'interpolations/patchToPatchInterpolation/PatchToPatchInterpolationBase.C',
+    'interpolations/interpolationTable/tableReaders/tableReaders.C',
+    'interpolations/interpolationTable/tableReaders/openFoam/openFoamTableReaders.C',
+    'interpolations/interpolationTable/tableReaders/csv/csvTableReaders.C',
+    'interpolations/interpolationWeights/interpolationWeights/interpolationWeights.C',
+    'interpolations/interpolationWeights/linearInterpolationWeights/linearInterpolationWeights.C',
+    'interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.C',
+    'algorithms/AABBTree/AABBTreeBase.C',
+    'algorithms/indexedOctree/indexedOctreeBase.C',
+    'algorithms/indexedOctree/treeDataCell.C',
+    'algorithms/indexedOctree/treeDataEdge.C',
+    'algorithms/indexedOctree/treeDataPoint.C',
+    'algorithms/dynamicIndexedOctree/dynamicIndexedOctreeBase.C',
+    'algorithms/dynamicIndexedOctree/dynamicTreeDataPoint.C',
+    'parallel/commSchedule/commSchedule.C',
+    'parallel/globalIndex/globalIndex.C',
+    'meshes/data/data.C',
+]
+link_with = [
+    lib_OSspecific,
+    lib_Pstream,
+]
+dependencies = [
+    z_dep,
+]
+cpp_args = [
+    '-DHAVE_LIBZ',
+    '-I' + meson.source_root() / 'src/OpenFOAM',
+    '-I' + meson.source_root() / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+dependencies += z_dep
+lib_OpenFOAM = library(
+    'OpenFOAM',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_OpenFOAM)
diff --git a/src/Pstream/dummy/meson.build b/src/Pstream/dummy/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..67088bff57f46fce318b47e1733b58bb8f11790b
--- /dev/null
+++ b/src/Pstream/dummy/meson.build
@@ -0,0 +1,30 @@
+srcfiles = [
+    lnInclude_hack,
+    'UPstream.C',
+    'UPstreamAllToAll.C',
+    'UPstreamBroadcast.C',
+    'UPstreamGatherScatter.C',
+    'UPstreamReduce.C',
+    'UIPstreamRead.C',
+    'UOPstreamWrite.C',
+    'UIPBstreamRead.C',
+    'UOPBstreamWrite.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/Pstream/dummy',
+    '-I' + recursive_include_dirs / 'src/Pstream/dummy',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_Pstream = library(
+    'dummy_slash_Pstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_Pstream)
diff --git a/src/Pstream/meson.build b/src/Pstream/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5c10a0679a65c65c657af56b93ad5e189bf362c6
--- /dev/null
+++ b/src/Pstream/meson.build
@@ -0,0 +1,2 @@
+subdir('dummy')
+subdir('mpi')
diff --git a/src/Pstream/mpi/meson.build b/src/Pstream/mpi/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8decbc9225a9909e94e0c72e222e0a6bb29ccafc
--- /dev/null
+++ b/src/Pstream/mpi/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'PstreamGlobals.C',
+    'UPstream.C',
+    'UPstreamAllToAll.C',
+    'UPstreamBroadcast.C',
+    'UPstreamGatherScatter.C',
+    'UPstreamReduce.C',
+    'UIPstreamRead.C',
+    'UOPstreamWrite.C',
+    'UIPBstreamRead.C',
+    'UOPBstreamWrite.C',
+]
+link_with = []
+dependencies = [
+    mpi_dep,
+]
+cpp_args = [
+    '-DMPICH_SKIP_MPICXX',
+    '-DOMPI_SKIP_MPICXX',
+    '-I' + meson.source_root() / 'src/Pstream/mpi',
+    '-I' + recursive_include_dirs / 'src/Pstream/mpi',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_Pstream = library(
+    'Pstream',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_Pstream)
diff --git a/src/TurbulenceModels/compressible/meson.build b/src/TurbulenceModels/compressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..28b94b752ef3db50b2c461e228a4fac230611666
--- /dev/null
+++ b/src/TurbulenceModels/compressible/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleTurbulenceModel.C',
+    'turbulentFluidThermoModels/turbulentFluidThermoModels.C',
+]
+link_with = [
+    lib_compressibleTransportModels,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_radiationModels,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_solidSpecie,
+    lib_turbulenceModels,
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_compressibleTurbulenceModels = library(
+    'compressibleTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_compressibleTurbulenceModels)
diff --git a/src/TurbulenceModels/incompressible/meson.build b/src/TurbulenceModels/incompressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..733294eb3727e453960397135c74348dc0787e6a
--- /dev/null
+++ b/src/TurbulenceModels/incompressible/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'incompressibleTurbulenceModel.C',
+    'incompressibleRhoTurbulenceModel.C',
+    'turbulentTransportModels/turbulentTransportModels.C',
+    'turbulentTransportModels/RAS/qZeta/qZeta.C',
+    'turbulentTransportModels/RAS/kkLOmega/kkLOmega.C',
+    'turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C',
+    'turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C',
+    'turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C',
+    'turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C',
+    'turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C',
+]
+link_with = [
+    lib_turbulenceModels,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_incompressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_incompressibleTurbulenceModels = library(
+    'incompressibleTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_incompressibleTurbulenceModels)
diff --git a/src/TurbulenceModels/meson.build b/src/TurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ee9eb167e41f8aedad5574e7d86e1ed3eb3f0c18
--- /dev/null
+++ b/src/TurbulenceModels/meson.build
@@ -0,0 +1,4 @@
+subdir('turbulenceModels')
+subdir('compressible')
+subdir('incompressible')
+subdir('schemes')
diff --git a/src/TurbulenceModels/schemes/meson.build b/src/TurbulenceModels/schemes/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1d03c77a40f006619f89059e5adee3a6d689b76d
--- /dev/null
+++ b/src/TurbulenceModels/schemes/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'DEShybrid/DEShybrid.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_turbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/TurbulenceModels/schemes',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/schemes',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_turbulenceModelSchemes = library(
+    'turbulenceModelSchemes',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_turbulenceModelSchemes)
diff --git a/src/TurbulenceModels/turbulenceModels/meson.build b/src/TurbulenceModels/turbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a0c3f60acd52d589caa23cc8b79d4800117f8ac2
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/meson.build
@@ -0,0 +1,70 @@
+srcfiles = [
+    lnInclude_hack,
+    'turbulenceModel.C',
+    'LES/LESdeltas/LESdelta/LESdelta.C',
+    'LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C',
+    'LES/LESdeltas/PrandtlDelta/PrandtlDelta.C',
+    'LES/LESdeltas/vanDriestDelta/vanDriestDelta.C',
+    'LES/LESdeltas/smoothDelta/smoothDelta.C',
+    'LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C',
+    'LES/LESdeltas/IDDESDelta/IDDESDelta.C',
+    'LES/LESdeltas/maxDeltaxyzCubeRootLESDelta/maxDeltaxyzCubeRootLESDelta.C',
+    'LES/LESdeltas/DeltaOmegaTildeDelta/DeltaOmegaTildeDelta.C',
+    'LES/LESdeltas/SLADelta/SLADelta.C',
+    'LES/LESfilters/LESfilter/LESfilter.C',
+    'LES/LESfilters/simpleFilter/simpleFilter.C',
+    'LES/LESfilters/laplaceFilter/laplaceFilter.C',
+    'LES/LESfilters/anisotropicFilter/anisotropicFilter.C',
+    'DES/DESModel/DESModelBase.C',
+    'RAS/RASModel/RASModelBase.C',
+    'derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C',
+    'derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C',
+    'derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionCoefficients/wallFunctionCoefficients.C',
+    'derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionBlenders/wallFunctionBlenders.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C',
+    'derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C',
+    'RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C',
+    'RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/generalizedNewtonianViscosityModel/generalizedNewtonianViscosityModel.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/generalizedNewtonianViscosityModel/generalizedNewtonianViscosityModelNew.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/BirdCarreau/BirdCarreau.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/Casson/Casson.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/powerLaw/powerLaw.C',
+    'laminar/generalizedNewtonian/generalizedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_turbulenceModels = library(
+    'turbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_turbulenceModels)
diff --git a/src/atmosphericModels/meson.build b/src/atmosphericModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b7328b04ee8e3d219d40258870b44e059cca1577
--- /dev/null
+++ b/src/atmosphericModels/meson.build
@@ -0,0 +1,68 @@
+srcfiles = [
+    lnInclude_hack,
+    'turbulenceModels/atmosphericTurbulentTransportModels.C',
+    'turbulenceModels/atmosphericTurbulentFluidThermoModels.C',
+    'porosityModels/powerLawLopesdaCosta/powerLawLopesdaCosta.C',
+    'derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C',
+    'derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C',
+    'derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C',
+    'derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C',
+    'derivedFvPatchFields/atmBoundaryLayerInletOmega/atmBoundaryLayerInletOmegaFvPatchScalarField.C',
+    'derivedFvPatchFields/atmTurbulentHeatFluxTemperature/atmTurbulentHeatFluxTemperatureFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.C',
+    'fvOptions/atmAmbientTurbSource/atmAmbientTurbSource.C',
+    'fvOptions/atmBuoyancyTurbSource/atmBuoyancyTurbSource.C',
+    'fvOptions/atmCoriolisUSource/atmCoriolisUSource.C',
+    'fvOptions/atmLengthScaleTurbSource/atmLengthScaleTurbSource.C',
+    'fvOptions/atmPlantCanopyTurbSource/atmPlantCanopyTurbSource.C',
+    'fvOptions/atmPlantCanopyUSource/atmPlantCanopyUSource.C',
+    'fvOptions/atmPlantCanopyTSource/atmPlantCanopyTSource.C',
+    'fvOptions/atmNutSource/atmNutSource.C',
+    'functionObjects/ObukhovLength/ObukhovLength.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_surfMesh,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/atmosphericModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/atmosphericModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_atmosphericModels = library(
+    'atmosphericModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_atmosphericModels)
diff --git a/src/combustionModels/meson.build b/src/combustionModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5dc4ce9f436374d9e880ff21de0fb00794ccf19e
--- /dev/null
+++ b/src/combustionModels/meson.build
@@ -0,0 +1,58 @@
+srcfiles = [
+    lnInclude_hack,
+    'combustionModel/combustionModel.C',
+    'CombustionModel/CombustionModel/CombustionModels.C',
+    'diffusion/diffusions.C',
+    'infinitelyFastChemistry/infinitelyFastChemistrys.C',
+    'PaSR/PaSRs.C',
+    'EDC/EDCs.C',
+    'eddyDissipationDiffusionModel/eddyDissipationDiffusionModels.C',
+    'laminar/laminars.C',
+    'FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C',
+    'FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C',
+    'FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C',
+    'FSD/reactionRateFlameAreaModels/relaxation/relaxation.C',
+    'FSD/FSDs.C',
+    'diffusionMulticomponent/diffusionMulticomponents.C',
+    'zoneCombustion/zoneCombustions.C',
+    'noCombustion/noCombustions.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_specie,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_chemistryModel,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermophysicalProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_combustionModels = library(
+    'combustionModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_combustionModels)
diff --git a/src/conversion/ccm/meson.build b/src/conversion/ccm/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ccdd26acd61c1e7ff78cc743824306974e152880
--- /dev/null
+++ b/src/conversion/ccm/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'common/ccmBase.C',
+    'common/ccmInternal.C',
+    'reader/ccmReader.C',
+    'reader/ccmReaderAux.C',
+    'reader/ccmReaderMesh.C',
+    'reader/ccmReaderSolution.C',
+    'reader/ccmReaderOptions.C',
+    'writer/ccmWriter.C',
+    'writer/ccmWriterMesh.C',
+    'writer/ccmWriterSolution.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_conversion,
+]
+dependencies = [
+    ccmio_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/conversion/ccm',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + meson.source_root() / 'src/conversion/ccm',
+    '-I' + recursive_include_dirs / 'src/conversion/ccm',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_ccm = library(
+    'ccm',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_ccm)
diff --git a/src/conversion/meson.build b/src/conversion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..da797425996d80cd436ec02a0a5d1627574dbf9c
--- /dev/null
+++ b/src/conversion/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'common/reader/meshReader.C',
+    'common/reader/meshReaderAux.C',
+    'common/reader/calcPointCells.C',
+    'common/reader/createPolyCells.C',
+    'common/reader/createPolyBoundary.C',
+    'common/writer/meshWriter.C',
+    'common/tables/boundaryRegion.C',
+    'common/tables/cellTable.C',
+    'fire/FIREMeshReader.C',
+    'fire/FIREMeshWriter.C',
+    'fire/checkFireEdges.C',
+    'starcd/STARCDMeshReader.C',
+    'starcd/STARCDMeshWriter.C',
+    'polyDualMesh/polyDualMesh.C',
+    'vtk/output/foamVtkSurfaceFieldWriter.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_conversion = library(
+    'conversion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_conversion)
+
+subdir('ccm')
diff --git a/src/dummyThirdParty/MGridGen/meson.build b/src/dummyThirdParty/MGridGen/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..54312a0f334e99c9d1c2a6d303c259076bf56229
--- /dev/null
+++ b/src/dummyThirdParty/MGridGen/meson.build
@@ -0,0 +1,22 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyMGridGen.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dummyThirdParty/MGridGen',
+    '-I' + recursive_include_dirs / 'src/dummyThirdParty/MGridGen',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_MGridGen = library(
+    'dummy_slash_MGridGen',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_MGridGen)
diff --git a/src/dummyThirdParty/kahipDecomp/meson.build b/src/dummyThirdParty/kahipDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ea10689ea829acf99f5cb815076441fa898e28e7
--- /dev/null
+++ b/src/dummyThirdParty/kahipDecomp/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyKahipDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dummyThirdParty/kahipDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/kahipDecomp',
+    '-I' + recursive_include_dirs / 'src/dummyThirdParty/kahipDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_kahipDecomp = library(
+    'dummy_slash_kahipDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_kahipDecomp)
diff --git a/src/dummyThirdParty/meson.build b/src/dummyThirdParty/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0fd44161453b5d20a8dee7973502cfaed38de2c0
--- /dev/null
+++ b/src/dummyThirdParty/meson.build
@@ -0,0 +1,5 @@
+subdir('MGridGen')
+subdir('kahipDecomp')
+subdir('metisDecomp')
+subdir('ptscotchDecomp')
+subdir('scotchDecomp')
diff --git a/src/dummyThirdParty/metisDecomp/meson.build b/src/dummyThirdParty/metisDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..91f1c9a44d31468b374d0a37f6907ec198559738
--- /dev/null
+++ b/src/dummyThirdParty/metisDecomp/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyMetisDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dummyThirdParty/metisDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/metisDecomp',
+    '-I' + recursive_include_dirs / 'src/dummyThirdParty/metisDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_metisDecomp = library(
+    'dummy_slash_metisDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_metisDecomp)
diff --git a/src/dummyThirdParty/ptscotchDecomp/meson.build b/src/dummyThirdParty/ptscotchDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..999a486f035bb1ef52913fe346ddd57db4b54cb8
--- /dev/null
+++ b/src/dummyThirdParty/ptscotchDecomp/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyPtscotchDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dummyThirdParty/ptscotchDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/ptscotchDecomp',
+    '-I' + recursive_include_dirs / 'src/dummyThirdParty/ptscotchDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_ptscotchDecomp = library(
+    'dummy_slash_ptscotchDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_ptscotchDecomp)
diff --git a/src/dummyThirdParty/scotchDecomp/meson.build b/src/dummyThirdParty/scotchDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1e38417e0186120c0a4ce7f1f2310583daba3e20
--- /dev/null
+++ b/src/dummyThirdParty/scotchDecomp/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'dummyScotchDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dummyThirdParty/scotchDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/scotchDecomp',
+    '-I' + recursive_include_dirs / 'src/dummyThirdParty/scotchDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dummy_slash_scotchDecomp = library(
+    'dummy_slash_scotchDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dummy_slash_scotchDecomp)
diff --git a/src/dynamicFaMesh/interfaceTrackingFvMesh/meson.build b/src/dynamicFaMesh/interfaceTrackingFvMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..75a7568657eb7e902b107271793d30305ca9f4d4
--- /dev/null
+++ b/src/dynamicFaMesh/interfaceTrackingFvMesh/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'interfaceTrackingFvMesh.C',
+    'freeSurfacePointDisplacement.C',
+    'fvPatchFields/freeSurfacePressure/freeSurfacePressureFvPatchScalarField.C',
+    'fvPatchFields/freeSurfaceVelocity/freeSurfaceVelocityFvPatchVectorField.C',
+    'functionObjects/pointHistory/pointHistory.C',
+    'functionObjects/writeFreeSurface/writeFreeSurface.C',
+]
+link_with = [
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicFvMesh,
+    lib_fvMotionSolvers,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dynamicFaMesh/interfaceTrackingFvMesh',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/dynamicFaMesh/interfaceTrackingFvMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_interfaceTrackingFvMesh = library(
+    'interfaceTrackingFvMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_interfaceTrackingFvMesh)
diff --git a/src/dynamicFaMesh/meson.build b/src/dynamicFaMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f5523b3875b747f44824ce961f62482c44036f3a
--- /dev/null
+++ b/src/dynamicFaMesh/meson.build
@@ -0,0 +1 @@
+subdir('interfaceTrackingFvMesh')
diff --git a/src/dynamicFvMesh/meson.build b/src/dynamicFvMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6bf363ec456d6d1f63a5ff7e8433d9ac068e9c67
--- /dev/null
+++ b/src/dynamicFvMesh/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'dynamicFvMesh/dynamicFvMesh.C',
+    'dynamicFvMesh/dynamicFvMeshNew.C',
+    'staticFvMesh/staticFvMesh.C',
+    'dynamicMotionSolverFvMesh/dynamicMotionSolverFvMesh.C',
+    'dynamicMultiMotionSolverFvMesh/dynamicMultiMotionSolverFvMesh.C',
+    'dynamicInkJetFvMesh/dynamicInkJetFvMesh.C',
+    'dynamicRefineFvMesh/dynamicRefineFvMesh.C',
+    'dynamicMotionSolverListFvMesh/dynamicMotionSolverListFvMesh.C',
+    'simplifiedDynamicFvMesh/simplifiedDynamicFvMeshes.C',
+    'simplifiedDynamicFvMesh/simplifiedDynamicFvMesh.C',
+    'dynamicMotionSolverFvMeshAMI/dynamicMotionSolverFvMeshAMI.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dynamicFvMesh = library(
+    'dynamicFvMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dynamicFvMesh)
diff --git a/src/dynamicMesh/meson.build b/src/dynamicMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..17ad5322a38f3b3c229bb6b3c203957e83567556
--- /dev/null
+++ b/src/dynamicMesh/meson.build
@@ -0,0 +1,139 @@
+srcfiles = [
+    lnInclude_hack,
+    'attachDetach/attachDetach.C',
+    'attachDetach/attachInterface.C',
+    'attachDetach/detachInterface.C',
+    'attachDetach/attachDetachPointMatchMap.C',
+    'layerAdditionRemoval/layerAdditionRemoval.C',
+    'layerAdditionRemoval/setLayerPairing.C',
+    'layerAdditionRemoval/addCellLayer.C',
+    'layerAdditionRemoval/removeCellLayer.C',
+    'slidingInterface/enrichedPatch/enrichedPatch.C',
+    'slidingInterface/enrichedPatch/enrichedPatchPointMap.C',
+    'slidingInterface/enrichedPatch/enrichedPatchFaces.C',
+    'slidingInterface/enrichedPatch/enrichedPatchPointPoints.C',
+    'slidingInterface/enrichedPatch/enrichedPatchCutFaces.C',
+    'slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C',
+    'polyTopoChange/polyMeshModifier/polyMeshModifier.C',
+    'polyTopoChange/polyMeshModifier/polyMeshModifierNew.C',
+    'polyTopoChange/polyTopoChanger/polyTopoChanger.C',
+    'polyTopoChange/polyTopoChange/addPatchCellLayer.C',
+    'polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapse.C',
+    'polyTopoChange/polyTopoChange/edgeCollapser.C',
+    'polyTopoChange/polyTopoChange/faceCollapser.C',
+    'polyTopoChange/polyTopoChange/removeCells.C',
+    'polyTopoChange/polyTopoChange/removeFaces.C',
+    'polyTopoChange/polyTopoChange/refinementData.C',
+    'polyTopoChange/polyTopoChange/refinementDistanceData.C',
+    'polyTopoChange/polyTopoChange/removePoints.C',
+    'polyTopoChange/polyTopoChange/combineFaces.C',
+    'polyTopoChange/polyTopoChange/duplicatePoints.C',
+    'polyTopoChange/polyTopoChange/tetDecomposer.C',
+    'polyTopoChange/polyTopoChange/hexRef8/hexRef8.C',
+    'polyTopoChange/polyTopoChange/hexRef8/hexRef8Data.C',
+    'polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C',
+    'slidingInterface/slidingInterface.C',
+    'slidingInterface/slidingInterfaceProjectPoints.C',
+    'slidingInterface/coupleSlidingInterface.C',
+    'slidingInterface/slidingInterfaceAttachedAddressing.C',
+    'slidingInterface/slidingInterfaceClearCouple.C',
+    'slidingInterface/decoupleSlidingInterface.C',
+    'perfectInterface/perfectInterface.C',
+    'boundaryMesh/boundaryMesh.C',
+    'boundaryPatch/boundaryPatch.C',
+    'setUpdater/setUpdater.C',
+    'meshCut/meshModifiers/boundaryCutter/boundaryCutter.C',
+    'meshCut/meshModifiers/meshCutter/meshCutter.C',
+    'meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C',
+    'meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C',
+    'meshCut/meshModifiers/refinementIterator/refinementIterator.C',
+    'meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C',
+    'meshCut/cellLooper/cellLooper.C',
+    'meshCut/cellLooper/topoCellLooper.C',
+    'meshCut/cellLooper/geomCellLooper.C',
+    'meshCut/cellLooper/hexCellLooper.C',
+    'meshCut/directions/directions.C',
+    'meshCut/directions/directionInfo/directionInfo.C',
+    'meshCut/edgeVertex/edgeVertex.C',
+    'meshCut/cellCuts/cellCuts.C',
+    'meshCut/splitCell/splitCell.C',
+    'meshCut/refineCell/refineCell.C',
+    'meshCut/wallLayerCells/wallLayerCells.C',
+    'meshCut/wallLayerCells/wallNormalInfo/wallNormalInfo.C',
+    'polyTopoChange/attachPolyTopoChanger/attachPolyTopoChanger.C',
+    'polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C',
+    'fvMeshAdder/fvMeshAdder.C',
+    'fvMeshDistribute/fvMeshDistribute.C',
+    'polyMeshAdder/faceCoupleInfo.C',
+    'polyMeshAdder/polyMeshAdder.C',
+    'fvMeshSubset/fvMeshSubsetter.C',
+    'motionSmoother/motionSmoother.C',
+    'motionSmoother/motionSmootherAlgo.C',
+    'motionSmoother/motionSmootherAlgoCheck.C',
+    'motionSmoother/motionSmootherData.C',
+    'motionSmoother/polyMeshGeometry/polyMeshGeometry.C',
+    'motionSmoother/badQualityToCell/badQualityToCell.C',
+    'motionSmoother/badQualityToFace/badQualityToFace.C',
+    'motionSolvers/motionSolver/motionSolver.C',
+    'motionSolvers/displacement/points0/points0MotionSolver.C',
+    'motionSolvers/displacement/displacement/zoneMotion.C',
+    'motionSolvers/displacement/displacement/displacementMotionSolver.C',
+    'motionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C',
+    'motionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C',
+    'motionSolvers/displacement/layeredSolver/pointEdgeStructuredWalk.C',
+    'motionSolvers/componentDisplacement/componentDisplacementMotionSolver.C',
+    'motionSolvers/velocity/velocityMotionSolver.C',
+    'motionSolvers/velocity/velocityDisplacement/velocityDisplacementMotionSolver.C',
+    'motionSolvers/componentVelocity/componentVelocityMotionSolver.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionSolver.C',
+    'motionSolvers/displacement/solidBody/multiSolidBodyMotionSolver.C',
+    'motionSolvers/displacement/codedPoints0/codedPoints0MotionSolver.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/drivenLinearMotion/drivenLinearMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/multiMotion/multiMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C',
+    'motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C',
+    'motionSolvers/displacement/solidBody/pointPatchFields/derived/solidBodyMotionDisplacement/solidBodyMotionDisplacementPointPatchVectorField.C',
+    'createShellMesh/createShellMesh.C',
+    'extrudePatchMesh/extrudePatchMesh.C',
+    'polyMeshFilter/polyMeshFilterSettings.C',
+    'polyMeshFilter/polyMeshFilter.C',
+    'pointPatchDist/externalPointEdgePoint.C',
+    'pointPatchDist/pointPatchDist.C',
+    'zoneSubSet/zoneSubSet.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_extrudeModel,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_dynamicMesh = library(
+    'dynamicMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_dynamicMesh)
diff --git a/src/engine/meson.build b/src/engine/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d3d377ad3b84e860c2818620369e1a7f91a9b21a
--- /dev/null
+++ b/src/engine/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'engineTime/engineTime/engineTime.C',
+    'engineTime/engineTime/engineTimeNew.C',
+    'engineTime/freePiston/freePiston.C',
+    'engineTime/crankConRod/crankConRod.C',
+    'ignition/ignition.C',
+    'ignition/ignitionIO.C',
+    'ignition/ignitionSite.C',
+    'ignition/ignitionSiteIO.C',
+    'engineValve/engineValve.C',
+    'enginePiston/enginePiston.C',
+    'engineMesh/engineMesh/engineMesh.C',
+    'engineMesh/engineMesh/engineMeshNew.C',
+    'engineMesh/staticEngineMesh/staticEngineMesh.C',
+    'engineMesh/layeredEngineMesh/layeredEngineMesh.C',
+    'engineMesh/fvMotionSolverEngineMesh/fvMotionSolverEngineMesh.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_fvMotionSolvers,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/engine',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_engine = library(
+    'engine',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_engine)
diff --git a/src/faOptions/meson.build b/src/faOptions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9862857a796b5a2e8b0441cdabe819cd69cdfcd2
--- /dev/null
+++ b/src/faOptions/meson.build
@@ -0,0 +1,58 @@
+srcfiles = [
+    lnInclude_hack,
+    'faOption/faOption.C',
+    'faOption/faOptionIO.C',
+    'faOption/faOptionList.C',
+    'faOption/faOptions.C',
+    'faceSetOption/faceSetOption.C',
+    'sources/derived/externalHeatFluxSource/externalHeatFluxSource.C',
+    'sources/derived/jouleHeatingSource/jouleHeatingSource.C',
+    'sources/derived/contactHeatFluxSource/contactHeatFluxSource.C',
+    'sources/derived/externalFileSource/externalFileSource.C',
+    'corrections/limitVelocity/limitVelocity.C',
+    'corrections/limitHeight/limitHeight.C',
+]
+link_with = [
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermoTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_faOptions = library(
+    'faOptions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_faOptions)
diff --git a/src/fileFormats/meson.build b/src/fileFormats/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cfb6e876434f7725b511100a58b48fafc79d5cdf
--- /dev/null
+++ b/src/fileFormats/meson.build
@@ -0,0 +1,85 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('stl/STLAsciiParseFlex.L'),
+    'common/fileFormats.C',
+    'common/manifoldCellsMeshObject.C',
+    'colours/colourTable.C',
+    'colours/colourTables.C',
+    'colours/colourTools.C',
+    'ensight/file/ensightCase.C',
+    'ensight/file/ensightCaseOptions.C',
+    'ensight/file/ensightFile.C',
+    'ensight/file/ensightGeoFile.C',
+    'ensight/file/ensightWriterCaching.C',
+    'ensight/mesh/ensightMesh.C',
+    'ensight/mesh/ensightMeshOptions.C',
+    'ensight/output/ensightOutput.C',
+    'ensight/part/cells/ensightCells.C',
+    'ensight/part/cells/ensightCellsAddr.C',
+    'ensight/part/cells/ensightCellsIO.C',
+    'ensight/part/faces/ensightFaces.C',
+    'ensight/part/faces/ensightFacesAddr.C',
+    'ensight/part/faces/ensightFacesIO.C',
+    'ensight/part/part/ensightPart.C',
+    'ensight/part/surface/ensightOutputSurface.C',
+    'ensight/read/ensightReadFile.C',
+    'ensight/type/ensightPTraits.C',
+    'abaqus/ABAQUSCore.C',
+    'nastran/NASCore.C',
+    'obj/OBJstream.C',
+    'fire/FIRECore.C',
+    'gltf/foamGltfAccessor.C',
+    'gltf/foamGltfAnimation.C',
+    'gltf/foamGltfBufferView.C',
+    'gltf/foamGltfMesh.C',
+    'gltf/foamGltfObject.C',
+    'gltf/foamGltfScene.C',
+    'gltf/foamGltfSceneWriter.C',
+    'starcd/STARCDCore.C',
+    'stl/STLCore.C',
+    'stl/STLReader.C',
+    'stl/STLAsciiParseManual.C',
+    'stl/STLAsciiParseRagel.cc',
+    'vtk/base/foamVtkCore.C',
+    'vtk/base/foamVtkPTraits.C',
+    'vtk/file/foamVtkFileWriter.C',
+    'vtk/file/foamVtkSeriesWriter.C',
+    'vtk/file/foamVtmWriter.C',
+    'vtk/format/foamVtkFormatter.C',
+    'vtk/format/foamVtkAsciiFormatter.C',
+    'vtk/format/foamVtkBase64Formatter.C',
+    'vtk/format/foamVtkAppendBase64Formatter.C',
+    'vtk/format/foamVtkAppendRawFormatter.C',
+    'vtk/format/foamVtkBase64Layer.C',
+    'vtk/format/foamVtkLegacyAsciiFormatter.C',
+    'vtk/format/foamVtkLegacyRawFormatter.C',
+    'vtk/output/foamVtkOutput.C',
+    'vtk/output/foamVtkOutputOptions.C',
+    'vtk/part/foamVtkMeshMaps.C',
+    'vtk/part/foamVtuCells.C',
+    'vtk/part/foamVtuSizing.C',
+    'vtk/read/vtkUnstructuredReader.C',
+    'vtk/write/foamVtkLineWriter.C',
+    'vtk/write/foamVtkPolyWriter.C',
+    'vtk/write/foamVtkSurfaceWriter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_fileFormats = library(
+    'fileFormats',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_fileFormats)
diff --git a/src/finiteArea/meson.build b/src/finiteArea/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6c90f804aa5409a9276cb5f500b932e0de980401
--- /dev/null
+++ b/src/finiteArea/meson.build
@@ -0,0 +1,131 @@
+srcfiles = [
+    lnInclude_hack,
+    'faMesh/faGlobalMeshData/faGlobalMeshData.C',
+    'faMesh/faMesh.C',
+    'faMesh/faMeshNew.C',
+    'faMesh/faMeshDemandDrivenData.C',
+    'faMesh/faMeshPatches.C',
+    'faMesh/faMeshTopology.C',
+    'faMesh/faMeshUpdate.C',
+    'faMesh/faMeshBoundaryHalo.C',
+    'faMesh/faBoundaryMesh/faBoundaryMesh.C',
+    'faMesh/faBoundaryMesh/faBoundaryMeshEntries.C',
+    'faMesh/faMeshSubset/faMeshSubset.C',
+    'faMesh/faMeshTools/faMeshTools.C',
+    'faMesh/faMeshTools/faMeshToolsChecks.C',
+    'faMesh/faMeshTools/faMeshToolsProcAddr.C',
+    'faMesh/faPatches/faPatch/faPatch.C',
+    'faMesh/faPatches/faPatch/faPatchData.C',
+    'faMesh/faPatches/faPatch/faPatchNew.C',
+    'faMesh/faPatches/basic/coupled/coupledFaPatch.C',
+    'faMesh/faPatches/constraint/empty/emptyFaPatch.C',
+    'faMesh/faPatches/constraint/processor/processorFaPatch.C',
+    'faMesh/faPatches/constraint/wedge/wedgeFaPatch.C',
+    'faMesh/faPatches/constraint/cyclic/cyclicFaPatch.C',
+    'faMesh/faPatches/constraint/symmetry/symmetryFaPatch.C',
+    'distributed/faMeshDistributor.C',
+    'distributed/faMeshDistributorNew.C',
+    'output/ensight/ensightFaMesh.C',
+    'faMesh/faMeshMapper/faMeshMapper.C',
+    'faMesh/faMeshMapper/faAreaMapper.C',
+    'faMesh/faMeshMapper/faEdgeMapper.C',
+    'faMesh/faMeshMapper/faPatchMapper.C',
+    'fields/faPatchFields/faPatchField/faPatchFieldBase.C',
+    'fields/faPatchFields/faPatchField/faPatchFields.C',
+    'fields/faPatchFields/basic/basicSymmetry/basicSymmetryFaPatchScalarField.C',
+    'fields/faPatchFields/basic/calculated/calculatedFaPatchFields.C',
+    'fields/faPatchFields/basic/coupled/coupledFaPatchFields.C',
+    'fields/faPatchFields/basic/zeroGradient/zeroGradientFaPatchFields.C',
+    'fields/faPatchFields/basic/fixedValue/fixedValueFaPatchFields.C',
+    'fields/faPatchFields/basic/fixedGradient/fixedGradientFaPatchFields.C',
+    'fields/faPatchFields/basic/mixed/mixedFaPatchFields.C',
+    'fields/faPatchFields/basic/transform/transformFaPatchFields.C',
+    'fields/faPatchFields/basic/transform/transformFaPatchScalarField.C',
+    'fields/faPatchFields/constraint/empty/emptyFaPatchFields.C',
+    'fields/faPatchFields/constraint/processor/processorFaPatchFields.C',
+    'fields/faPatchFields/constraint/wedge/wedgeFaPatchFields.C',
+    'fields/faPatchFields/constraint/wedge/wedgeFaPatchScalarField.C',
+    'fields/faPatchFields/constraint/cyclic/cyclicFaPatchFields.C',
+    'fields/faPatchFields/constraint/symmetry/symmetryFaPatchFields.C',
+    'fields/faPatchFields/derived/fixedValueOutflow/fixedValueOutflowFaPatchFields.C',
+    'fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchFields.C',
+    'fields/faPatchFields/derived/slip/slipFaPatchFields.C',
+    'fields/faPatchFields/derived/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.C',
+    'fields/faPatchFields/derived/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchFields.C',
+    'fields/faPatchFields/derived/clampedPlate/clampedPlateFaPatchFields.C',
+    'fields/faePatchFields/faePatchField/faePatchFieldBase.C',
+    'fields/faePatchFields/faePatchField/faePatchFields.C',
+    'fields/faePatchFields/basic/calculated/calculatedFaePatchFields.C',
+    'fields/faePatchFields/basic/coupled/coupledFaePatchFields.C',
+    'fields/faePatchFields/basic/fixedValue/fixedValueFaePatchFields.C',
+    'fields/faePatchFields/constraint/empty/emptyFaePatchFields.C',
+    'fields/faePatchFields/constraint/processor/processorFaePatchFields.C',
+    'fields/faePatchFields/constraint/wedge/wedgeFaePatchFields.C',
+    'fields/faePatchFields/constraint/cyclic/cyclicFaePatchFields.C',
+    'fields/faePatchFields/constraint/symmetry/symmetryFaePatchFields.C',
+    'fields/areaFields/areaFields.C',
+    'fields/edgeFields/edgeFields.C',
+    'faMatrices/faMatrices.C',
+    'faMatrices/faScalarMatrix/faScalarMatrix.C',
+    'interpolation/edgeInterpolation/edgeInterpolation.C',
+    'interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationSchemes.C',
+    'interpolation/edgeInterpolation/schemes/linear/linearEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/upwind/upwindEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/linearUpwind/linearUpwindEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/Gamma/GammaEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/blended/blendedEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/skewCorrected/skewCorrectedEdgeInterpolationMake.C',
+    'interpolation/edgeInterpolation/schemes/leastSquares/leastSquaresEdgeInterpolationMake.C',
+    'finiteArea/fa/fa.C',
+    'finiteArea/ddtSchemes/faDdtScheme/faDdtSchemes.C',
+    'finiteArea/ddtSchemes/steadyStateFaDdtScheme/steadyStateFaDdtSchemes.C',
+    'finiteArea/ddtSchemes/EulerFaDdtScheme/EulerFaDdtSchemes.C',
+    'finiteArea/ddtSchemes/backwardFaDdtScheme/backwardFaDdtSchemes.C',
+    'finiteArea/ddtSchemes/boundedBackwardFaDdtScheme/boundedBackwardFaDdtScheme.C',
+    'finiteArea/d2dt2Schemes/faD2dt2Scheme/faD2dt2Schemes.C',
+    'finiteArea/d2dt2Schemes/EulerFaD2dt2Scheme/EulerFaD2dt2Schemes.C',
+    'finiteArea/fam/vectorFamDiv.C',
+    'finiteArea/divSchemes/faDivScheme/faDivSchemes.C',
+    'finiteArea/divSchemes/gaussFaDivScheme/gaussFaDivSchemes.C',
+    'finiteArea/gradSchemes/faGradScheme/faGradSchemes.C',
+    'finiteArea/gradSchemes/gaussFaGrad/gaussFaGrads.C',
+    'finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaVectors.C',
+    'finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrads.C',
+    'finiteArea/gradSchemes/limitedGradSchemes/faceLimitedFaGrad/faceLimitedFaGrads.C',
+    'finiteArea/gradSchemes/limitedGradSchemes/edgeLimitedFaGrad/edgeLimitedFaGrads.C',
+    'finiteArea/lnGradSchemes/lnGradScheme/lnGradSchemes.C',
+    'finiteArea/lnGradSchemes/uncorrectedLnGrad/uncorrectedLnGrads.C',
+    'finiteArea/lnGradSchemes/correctedLnGrad/correctedLnGrads.C',
+    'finiteArea/lnGradSchemes/limitedLnGrad/limitedLnGrads.C',
+    'finiteArea/lnGradSchemes/fourthLnGrad/fourthLnGrads.C',
+    'finiteArea/laplacianSchemes/faLaplacianScheme/faLaplacianSchemes.C',
+    'finiteArea/laplacianSchemes/gaussFaLaplacianScheme/gaussFaLaplacianSchemes.C',
+    'finiteArea/convectionSchemes/faConvectionScheme/faConvectionSchemes.C',
+    'finiteArea/convectionSchemes/gaussFaConvectionScheme/gaussFaConvectionSchemes.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_finiteArea = library(
+    'finiteArea',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_finiteArea)
diff --git a/src/finiteVolume/meson.build b/src/finiteVolume/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f9aaa00c50b005a4ecaaf3b6c4767fd5eb6b3f32
--- /dev/null
+++ b/src/finiteVolume/meson.build
@@ -0,0 +1,463 @@
+patchExprLemonParser_lyy_m4 = custom_target(
+    'patchExprLemonParser_lyy_m4',
+    input: 'expressions/patch/patchExprLemonParser.lyy-m4',
+    output : 'patchExprLemonParser.cc',
+    command: [m4lemon, meson.source_root(), '.', lemonbin, '@INPUT@', '@OUTPUT@' ])
+volumeExprLemonParser_lyy_m4 = custom_target(
+    'volumeExprLemonParser_lyy_m4',
+    input: 'expressions/volume/volumeExprLemonParser.lyy-m4',
+    output : 'volumeExprLemonParser.cc',
+    command: [m4lemon, meson.source_root(), '.', lemonbin, '@INPUT@', '@OUTPUT@' ])
+srcfiles = [
+    lnInclude_hack,
+    patchExprLemonParser_lyy_m4,
+    volumeExprLemonParser_lyy_m4,
+    'fvMesh/fvMeshGeometry.C',
+    'fvMesh/fvMesh.C',
+    'fvMesh/fvGeometryScheme/fvGeometryScheme/fvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/basic/basicFvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/highAspectRatio/highAspectRatioFvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/highAspectRatio/cellAspectRatio.C',
+    'fvMesh/fvGeometryScheme/averageNeighbour/averageNeighbourFvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/stabilised/stabilisedFvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/solidBody/solidBodyFvGeometryScheme.C',
+    'fvMesh/fvGeometryScheme/parallel/parallelFvGeometryScheme.C',
+    'interpolation/surfaceInterpolation/surfaceInterpolation/surfaceInterpolation.C',
+    'fvMesh/fvMeshSubset/fvMeshSubset.C',
+    'fvMesh/fvMeshSubset/fvMeshSubsetProxy.C',
+    'fvMesh/fvMeshTools/fvMeshTools.C',
+    'fvMesh/fvMeshTools/fvMeshToolsProcAddr.C',
+    'fvMesh/singleCellFvMesh/singleCellFvMesh.C',
+    'fvMesh/simplifiedFvMesh/simplifiedFvMesh/simplifiedFvMesh.C',
+    'fvMesh/simplifiedFvMesh/columnFvMesh/columnFvMesh.C',
+    'fvMesh/simplifiedFvMesh/hexCellFvMesh/hexCellFvMesh.C',
+    'fvMesh/fvBoundaryMesh/fvBoundaryMesh.C',
+    'fvMesh/fvPatches/fvPatch/fvPatch.C',
+    'fvMesh/fvPatches/fvPatch/fvPatchNew.C',
+    'fvMesh/fvPatches/basic/coupled/coupledFvPatch.C',
+    'fvMesh/fvPatches/basic/generic/genericFvPatch.C',
+    'fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C',
+    'fvMesh/fvPatches/constraint/cyclicAMI/cyclicAMIFvPatch.C',
+    'fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C',
+    'fvMesh/fvPatches/constraint/cyclicSlip/cyclicSlipFvPatch.C',
+    'fvMesh/fvPatches/constraint/empty/emptyFvPatch.C',
+    'fvMesh/fvPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.C',
+    'fvMesh/fvPatches/constraint/processor/processorFvPatch.C',
+    'fvMesh/fvPatches/constraint/processorCyclic/processorCyclicFvPatch.C',
+    'fvMesh/fvPatches/constraint/symmetryPlane/symmetryPlaneFvPatch.C',
+    'fvMesh/fvPatches/constraint/symmetry/symmetryFvPatch.C',
+    'fvMesh/fvPatches/constraint/wedge/wedgeFvPatch.C',
+    'fvMesh/fvPatches/derived/wall/wallFvPatch.C',
+    'fvMesh/fvPatches/derived/mapped/mappedFvPatch.C',
+    'fvMesh/fvPatches/derived/mapped/mappedWallFvPatch.C',
+    'fvMesh/wallDist/wallPointYPlus/wallPointYPlus.C',
+    'fvMesh/wallDist/nearWallDist/nearWallDistNoSearch.C',
+    'fvMesh/wallDist/nearWallDist/nearWallDist.C',
+    'fvMesh/wallDist/wallDist/wallDist.C',
+    'fvMesh/wallDist/patchDistMethods/patchDistMethod/patchDistMethod.C',
+    'fvMesh/wallDist/patchDistMethods/meshWave/meshWavePatchDistMethod.C',
+    'fvMesh/wallDist/patchDistMethods/Poisson/PoissonPatchDistMethod.C',
+    'fvMesh/wallDist/patchDistMethods/advectionDiffusion/advectionDiffusionPatchDistMethod.C',
+    'fvMesh/wallDist/patchDistMethods/directionalMeshWave/directionalMeshWavePatchDistMethod.C',
+    'fvMesh/fvMeshMapper/fvPatchMapper.C',
+    'fvMesh/fvMeshMapper/fvSurfaceMapper.C',
+    'fvMesh/extendedStencil/cellToCell/extendedCellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/extendedCentredCellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/globalIndexStencils/cellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/globalIndexStencils/CFCCellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/globalIndexStencils/CPCCellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/globalIndexStencils/CECCellToCellStencil.C',
+    'fvMesh/extendedStencil/cellToCell/MeshObjects/centredCECCellToCellStencilObject.C',
+    'fvMesh/extendedStencil/cellToCell/MeshObjects/centredCFCCellToCellStencilObject.C',
+    'fvMesh/extendedStencil/cellToCell/MeshObjects/centredCPCCellToCellStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/globalIndexStencils/cellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/globalIndexStencils/CFCCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/globalIndexStencils/CECCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/globalIndexStencils/CPCCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/globalIndexStencils/FECCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/extendedCentredCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/centredCECCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/centredCFCCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/centredCPCCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/centredFECCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCECCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCFCCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/upwindCPCCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/upwindFECCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/cellToFace/MeshObjects/pureUpwindCFCCellToFaceStencilObject.C',
+    'fvMesh/extendedStencil/faceToCell/globalIndexStencils/faceToCellStencil.C',
+    'fvMesh/extendedStencil/faceToCell/globalIndexStencils/CFCFaceToCellStencil.C',
+    'fvMesh/extendedStencil/faceToCell/extendedFaceToCellStencil.C',
+    'fvMesh/extendedStencil/faceToCell/extendedCentredFaceToCellStencil.C',
+    'fvMesh/extendedStencil/faceToCell/MeshObjects/centredCFCFaceToCellStencilObject.C',
+    'fvMesh/zoneDistribute/zoneStencils/zoneCellStencils.C',
+    'fvMesh/zoneDistribute/zoneStencils/zoneCPCStencil.C',
+    'fvMesh/zoneDistribute/zoneDistribute.C',
+    'functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.C',
+    'functionObjects/volRegion/volRegion.C',
+    'functionObjects/fieldSelections/fieldSelection/fieldSelection.C',
+    'functionObjects/fieldSelections/fileFieldSelection/fileFieldSelection.C',
+    'functionObjects/fieldSelections/volFieldSelection/volFieldSelection.C',
+    'functionObjects/fieldSelections/solverFieldSelection/solverFieldSelection.C',
+    'fields/fvPatchFields/fvPatchField/fvPatchFieldBase.C',
+    'fields/fvPatchFields/fvPatchField/fvPatchFields.C',
+    'fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C',
+    'fields/fvPatchFields/basic/calculated/calculatedFvPatchFields.C',
+    'fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchFields.C',
+    'fields/fvPatchFields/basic/coupled/coupledFvPatchFields.C',
+    'fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchFields.C',
+    'fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchFields.C',
+    'fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchFields.C',
+    'fields/fvPatchFields/basic/mixed/mixedFvPatchFields.C',
+    'fields/fvPatchFields/basic/sliced/slicedFvPatchFields.C',
+    'fields/fvPatchFields/basic/transform/transformFvPatchFields.C',
+    'fields/fvPatchFields/basic/transform/transformFvPatchScalarField.C',
+    'fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchFields.C',
+    'fields/fvPatchFields/constraint/cyclic/cyclicFvPatchFields.C',
+    'fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchFields.C',
+    'fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.C',
+    'fields/fvPatchFields/constraint/cyclicSlip/cyclicSlipFvPatchFields.C',
+    'fields/fvPatchFields/constraint/empty/emptyFvPatchFields.C',
+    'fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchFields.C',
+    'fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchFields.C',
+    'fields/fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFields.C',
+    'fields/fvPatchFields/constraint/processor/processorFvPatchFields.C',
+    'fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchFields.C',
+    'fields/fvPatchFields/constraint/calculatedProcessor/calculatedProcessorFvPatchFields.C',
+    'fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchFields.C',
+    'fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchScalarField.C',
+    'fields/fvPatchFields/constraint/symmetry/symmetryFvPatchFields.C',
+    'fields/fvPatchFields/constraint/wedge/wedgeFvPatchFields.C',
+    'fields/fvPatchFields/constraint/wedge/wedgeFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/advective/advectiveFvPatchFields.C',
+    'fields/fvPatchFields/derived/codedFixedValue/codedFixedValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/codedMixed/codedMixedFvPatchFields.C',
+    'fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/fan/fanFvPatchFields.C',
+    'fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/fixedFluxExtrapolatedPressure/fixedFluxExtrapolatedPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/fixedInternalValueFvPatchField/fixedInternalValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedJump/fixedJumpFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedJumpAMI/fixedJumpAMIFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedMean/fixedMeanFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/flowRateOutletVelocity/flowRateOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/freestream/freestreamFvPatchFields.C',
+    'fields/fvPatchFields/derived/freestreamVelocity/freestreamVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/inletOutlet/inletOutletFvPatchFields.C',
+    'fields/fvPatchFields/derived/inletOutletTotalTemperature/inletOutletTotalTemperatureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/mappedField/mappedFieldFvPatchFields.C',
+    'fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/mappedFixedPushedInternalValue/mappedFixedPushedInternalValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C',
+    'fields/fvPatchFields/derived/matchedFlowRateOutletVelocity/matchedFlowRateOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/outletInlet/outletInletFvPatchFields.C',
+    'fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchFields.C',
+    'fields/fvPatchFields/derived/fixedMeanOutletInlet/fixedMeanOutletInletFvPatchFields.C',
+    'fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchFields.C',
+    'fields/fvPatchFields/derived/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/fixedNormalInletOutletVelocity/fixedNormalInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/scaledFixedValue/scaledFixedValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/slip/slipFvPatchFields.C',
+    'fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/swirlInletVelocity/swirlInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.C',
+    'fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddyIO.C',
+    'fields/fvPatchFields/derived/turbulentDigitalFilterInlet/turbulentDigitalFilterInletFvPatchFields.C',
+    'fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchFields.C',
+    'fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchFields.C',
+    'fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchFields.C',
+    'fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.C',
+    'fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchFields.C',
+    'fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchFields.C',
+    'fields/fvPatchFields/derived/uniformNormalFixedValue/uniformNormalFixedValueFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/variableHeightFlowRate/variableHeightFlowRateFvPatchField.C',
+    'fields/fvPatchFields/derived/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/outletPhaseMeanVelocity/outletPhaseMeanVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchFields.C',
+    'fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/prghTotalHydrostaticPressure/prghTotalHydrostaticPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.C',
+    'fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/interfaceCompression/interfaceCompressionFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.C',
+    'fields/fvPatchFields/derived/acousticWaveTransmissive/acousticWaveTransmissiveFvPatchFields.C',
+    'fields/fvPatchFields/derived/prghPermeableAlphaTotalPressure/prghPermeableAlphaTotalPressureFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/pressurePermeableAlphaInletOutletVelocity/pressurePermeableAlphaInletOutletVelocityFvPatchVectorField.C',
+    'fields/fvPatchFields/derived/electrostaticDeposition/electrostaticDepositionFvPatchScalarField.C',
+    'fields/fvPatchFields/derived/mappedMixed/mappedMixedFvPatchFields.C',
+    'fields/fvPatchFields/derived/mappedField/Sampled/makeSampledPatchFunction1s.C',
+    'fields/fvPatchFields/derived/mappedField/mappedMixedFieldFvPatchField/mappedMixedFieldFvPatchFields.C',
+    'fields/fvsPatchFields/fvsPatchField/fvsPatchFieldBase.C',
+    'fields/fvsPatchFields/fvsPatchField/fvsPatchFields.C',
+    'fields/fvsPatchFields/basic/calculated/calculatedFvsPatchFields.C',
+    'fields/fvsPatchFields/basic/coupled/coupledFvsPatchFields.C',
+    'fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchFields.C',
+    'fields/fvsPatchFields/basic/sliced/slicedFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/cyclicSlip/cyclicSlipFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/empty/emptyFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/processor/processorFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchFields.C',
+    'fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchFields.C',
+    'fields/volFields/volFields.C',
+    'fields/surfaceFields/surfaceFields.C',
+    'expressions/base/fvExprDriver.C',
+    'expressions/base/fvExprDriverIO.C',
+    'expressions/base/fvExprDriverNew.C',
+    'expressions/base/fvExprDriverWriter.C',
+    'expressions/patch/patchExpr.C',
+    'expressions/patch/patchExprDriver.C',
+    'expressions/patch/patchExprDriverFields.C',
+    'expressions/patch/patchExprScanner.cc',
+    'expressions/PatchFunction1/makePatchFunction1Expression.C',
+    'expressions/volume/volumeExpr.C',
+    'expressions/volume/volumeExprDriver.C',
+    'expressions/volume/volumeExprDriverFields.C',
+    'expressions/volume/volumeExprScanner.cc',
+    'expressions/fields/base/patchExprFieldBase.C',
+    'expressions/fields/fvPatchFields/exprFixedValueFvPatchFields.C',
+    'expressions/fields/fvPatchFields/exprMixedFvPatchFields.C',
+    'expressions/fields/pointPatchFields/exprValuePointPatchFields.C',
+    'fvMatrices/fvMatrices.C',
+    'fvMatrices/fvScalarMatrix/fvScalarMatrix.C',
+    'fvMatrices/solvers/MULES/MULES.C',
+    'fvMatrices/solvers/GAMGSymSolver/GAMGAgglomerations/faceAreaPairGAMGAgglomeration/faceAreaPairGAMGAgglomeration.C',
+    'fvMatrices/solvers/multiDimPolyFitter/multiDimPolyFunctions/multiDimPolyFunctions.C',
+    'fvMatrices/solvers/multiDimPolyFitter/multiDimPolyFunctions/polyDegree1.C',
+    'fvMatrices/solvers/multiDimPolyFitter/multiDimPolyFitter.C',
+    'fvMatrices/solvers/multiDimPolyFitter/leastSquareGrad.C',
+    'interpolation/interpolation/interpolation/interpolations.C',
+    'interpolation/interpolation/interpolationCell/makeInterpolationCell.C',
+    'interpolation/interpolation/interpolationCellPatchConstrained/makeInterpolationCellPatchConstrained.C',
+    'interpolation/interpolation/interpolationCellPoint/cellPointWeight.C',
+    'interpolation/interpolation/interpolationCellPoint/makeInterpolationCellPoint.C',
+    'interpolation/interpolation/interpolationCellPointFace/makeInterpolationCellPointFace.C',
+    'interpolation/interpolation/interpolationCellPointWallModified/cellPointWeightWallModified.C',
+    'interpolation/interpolation/interpolationCellPointWallModified/makeInterpolationCellPointWallModified.C',
+    'interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C',
+    'interpolation/interpolation/interpolationPointMVC/makeInterpolationPointMVC.C',
+    'interpolation/volPointInterpolation/volPointInterpolation.C',
+    'interpolation/volPointInterpolation/pointConstraints.C',
+    'interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationSchemes.C',
+    'interpolation/surfaceInterpolation/blendedSchemeBase/blendedSchemeBaseName.C',
+    'interpolation/surfaceInterpolation/schemes/linear/linear.C',
+    'interpolation/surfaceInterpolation/schemes/pointLinear/pointLinear.C',
+    'interpolation/surfaceInterpolation/schemes/midPoint/midPoint.C',
+    'interpolation/surfaceInterpolation/schemes/downwind/downwind.C',
+    'interpolation/surfaceInterpolation/schemes/weighted/weighted.C',
+    'interpolation/surfaceInterpolation/schemes/weightedFlux/weightedFlux.C',
+    'interpolation/surfaceInterpolation/schemes/cubic/cubic.C',
+    'interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrectionVectors.C',
+    'interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrected.C',
+    'interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.C',
+    'interpolation/surfaceInterpolation/schemes/reverseLinear/reverseLinear.C',
+    'interpolation/surfaceInterpolation/schemes/clippedLinear/clippedLinear.C',
+    'interpolation/surfaceInterpolation/schemes/harmonic/harmonic.C',
+    'interpolation/surfaceInterpolation/schemes/fixedBlended/fixedBlended.C',
+    'interpolation/surfaceInterpolation/schemes/localBlended/localBlended.C',
+    'interpolation/surfaceInterpolation/schemes/limiterBlended/limiterBlended.C',
+    'interpolation/surfaceInterpolation/schemes/CoBlended/CoBlended.C',
+    'interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.C',
+    'interpolation/surfaceInterpolation/schemes/localMax/localMax.C',
+    'interpolation/surfaceInterpolation/schemes/localMin/localMin.C',
+    'interpolation/surfaceInterpolation/schemes/linearFit/linearFit.C',
+    'interpolation/surfaceInterpolation/schemes/biLinearFit/biLinearFit.C',
+    'interpolation/surfaceInterpolation/schemes/quadraticLinearFit/quadraticLinearFit.C',
+    'interpolation/surfaceInterpolation/schemes/quadraticFit/quadraticFit.C',
+    'interpolation/surfaceInterpolation/schemes/quadraticLinearUpwindFit/quadraticLinearUpwindFit.C',
+    'interpolation/surfaceInterpolation/schemes/quadraticUpwindFit/quadraticUpwindFit.C',
+    'interpolation/surfaceInterpolation/schemes/cubicUpwindFit/cubicUpwindFit.C',
+    'interpolation/surfaceInterpolation/schemes/linearPureUpwindFit/linearPureUpwindFit.C',
+    'interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C',
+    'interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwindV.C',
+    'interpolation/surfaceInterpolation/schemes/LUST/LUST.C',
+    'interpolation/surfaceInterpolation/schemes/deferredCorrection/deferredCorrection.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationSchemes.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/upwind/upwind.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/blended/blended.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/Gamma/Gamma.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/SFCD/SFCD.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/Minmod/Minmod.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/vanLeer/vanLeer.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/vanAlbada/vanAlbada.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/OSPRE/OSPRE.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/limitedLinear/limitedLinear.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubic.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/SuperBee/SuperBee.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/QUICK/QUICK.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/MUSCL/MUSCL.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/UMIST/UMIST.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/Phi/Phi.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/filteredLinear/filteredLinear.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3.C',
+    'interpolation/surfaceInterpolation/limitedSchemes/limitWith/limitWith.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationSchemes.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/multivariateSelectionScheme/multivariateSelectionSchemes.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/multivariateIndependentScheme/multivariateIndependentSchemes.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/upwind/multivariateUpwind.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/Gamma/multivariateGamma.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/vanLeer/multivariateVanLeer.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/Minmod/multivariateMinmod.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/SuperBee/multivariateSuperBee.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/MUSCL/multivariateMUSCL.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/limitedLinear/multivariateLimitedLinear.C',
+    'interpolation/surfaceInterpolation/multivariateSchemes/limitedCubic/multivariateLimitedCubic.C',
+    'finiteVolume/fv/fv.C',
+    'finiteVolume/ddtSchemes/ddtScheme/ddtSchemeBase.C',
+    'finiteVolume/ddtSchemes/ddtScheme/ddtSchemes.C',
+    'finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtSchemes.C',
+    'finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtSchemes.C',
+    'finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtSchemes.C',
+    'finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtSchemes.C',
+    'finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdt.C',
+    'finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtSchemes.C',
+    'finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtSchemes.C',
+    'finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtSchemes.C',
+    'finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtSchemes.C',
+    'finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Schemes.C',
+    'finiteVolume/d2dt2Schemes/steadyStateD2dt2Scheme/steadyStateD2dt2Schemes.C',
+    'finiteVolume/d2dt2Schemes/EulerD2dt2Scheme/EulerD2dt2Schemes.C',
+    'finiteVolume/divSchemes/divScheme/divSchemes.C',
+    'finiteVolume/divSchemes/gaussDivScheme/gaussDivSchemes.C',
+    'finiteVolume/gradSchemes/gradScheme/gradSchemes.C',
+    'finiteVolume/gradSchemes/gaussGrad/gaussGrads.C',
+    'finiteVolume/gradSchemes/iterativeGaussGrad/iterativeGaussGrads.C',
+    'finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C',
+    'finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrads.C',
+    'finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrads.C',
+    'finiteVolume/gradSchemes/fourthGrad/fourthGrads.C',
+    'finiteVolume/gradSchemes/limitedGradSchemes/faceLimitedGrad/faceLimitedGrads.C',
+    'finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/cellLimitedGrads.C',
+    'finiteVolume/gradSchemes/limitedGradSchemes/faceMDLimitedGrad/faceMDLimitedGrads.C',
+    'finiteVolume/gradSchemes/limitedGradSchemes/cellMDLimitedGrad/cellMDLimitedGrads.C',
+    'finiteVolume/snGradSchemes/snGradScheme/snGradSchemes.C',
+    'finiteVolume/snGradSchemes/correctedSnGrad/correctedSnGrads.C',
+    'finiteVolume/snGradSchemes/faceCorrectedSnGrad/faceCorrectedSnGrads.C',
+    'finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrads.C',
+    'finiteVolume/snGradSchemes/uncorrectedSnGrad/uncorrectedSnGrads.C',
+    'finiteVolume/snGradSchemes/orthogonalSnGrad/orthogonalSnGrads.C',
+    'finiteVolume/snGradSchemes/quadraticFitSnGrad/quadraticFitSnGrads.C',
+    'finiteVolume/snGradSchemes/linearFitSnGrad/linearFitSnGrads.C',
+    'finiteVolume/snGradSchemes/skewCorrectedSnGrad/skewCorrectedSnGrads.C',
+    'finiteVolume/snGradSchemes/relaxedSnGrad/relaxedSnGrads.C',
+    'finiteVolume/convectionSchemes/convectionScheme/convectionSchemes.C',
+    'finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionSchemes.C',
+    'finiteVolume/convectionSchemes/multivariateGaussConvectionScheme/multivariateGaussConvectionSchemes.C',
+    'finiteVolume/convectionSchemes/boundedConvectionScheme/boundedConvectionSchemes.C',
+    'finiteVolume/laplacianSchemes/laplacianScheme/laplacianSchemes.C',
+    'finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C',
+    'finiteVolume/laplacianSchemes/relaxedNonOrthoGaussLaplacianScheme/relaxedNonOrthoGaussLaplacianSchemes.C',
+    'finiteVolume/fvc/fvcFlux.C',
+    'finiteVolume/fvc/fvcMeshPhi.C',
+    'finiteVolume/fvc/fvcSmooth/fvcSmooth.C',
+    'finiteVolume/fvc/fvcReconstructMag.C',
+    'finiteVolume/fvc/fvcCorrectAlpha.C',
+    'cfdTools/general/findRefCell/findRefCell.C',
+    'cfdTools/general/constrainHbyA/constrainHbyA.C',
+    'cfdTools/general/adjustPhi/adjustPhi.C',
+    'cfdTools/general/bound/bound.C',
+    'cfdTools/general/CorrectPhi/correctUphiBCs.C',
+    'cfdTools/general/pressureControl/pressureControl.C',
+    'cfdTools/general/levelSet/levelSet.C',
+    'cfdTools/general/meshObjects/gravity/gravityMeshObject.C',
+    'cfdTools/general/solutionControl/solutionControl/solutionControl.C',
+    'cfdTools/general/solutionControl/loopControl/loopControl.C',
+    'cfdTools/general/solutionControl/simpleControl/simpleControl.C',
+    'cfdTools/general/solutionControl/pimpleControl/pimpleControl.C',
+    'cfdTools/general/solutionControl/pisoControl/pisoControl.C',
+    'cfdTools/general/porosityModel/porosityModel/porosityModel.C',
+    'cfdTools/general/porosityModel/porosityModel/porosityModelNew.C',
+    'cfdTools/general/porosityModel/porosityModel/porosityModelList.C',
+    'cfdTools/general/porosityModel/porosityModel/IOporosityModelList.C',
+    'cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C',
+    'cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C',
+    'cfdTools/general/porosityModel/powerLaw/powerLaw.C',
+    'cfdTools/general/porosityModel/solidification/solidification.C',
+    'cfdTools/general/MRF/MRFZone.C',
+    'cfdTools/general/MRF/MRFZoneList.C',
+    'cfdTools/general/MRF/IOMRFZoneList.C',
+    'cfdTools/general/SRF/SRFModel/SRFModel/SRFModel.C',
+    'cfdTools/general/SRF/SRFModel/SRFModel/SRFModelNew.C',
+    'cfdTools/general/SRF/SRFModel/rpm/rpm.C',
+    'cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C',
+    'cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.C',
+    'cfdTools/general/SRF/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.C',
+    'cfdTools/general/fvOptions/fvOption.C',
+    'cfdTools/general/fvOptions/fvOptionIO.C',
+    'cfdTools/general/fvOptions/fvOptionList.C',
+    'cfdTools/general/fvOptions/fvOptions.C',
+    'lduPrimitiveMeshAssembly/AssemblyFvPatches.C',
+    'lduPrimitiveMeshAssembly/lduPrimitiveMeshAssembly.C',
+    'lduPrimitiveMeshAssembly/assemblyFaceAreaPairGAMGAgglomeration/assemblyFaceAreaPairGAMGAgglomeration.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_finiteVolume = library(
+    'finiteVolume',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_finiteVolume)
diff --git a/src/functionObjects/field/meson.build b/src/functionObjects/field/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1acba3a5dfea0b43bc9a226948f9052406f725c1
--- /dev/null
+++ b/src/functionObjects/field/meson.build
@@ -0,0 +1,189 @@
+srcfiles = [
+    lnInclude_hack,
+    'AMIWeights/AMIWeights.C',
+    'binField/binField.C',
+    'binField/binModels/binModel/binModel.C',
+    'binField/binModels/binModel/binModelNew.C',
+    'binField/binModels/uniformBin/uniformBin.C',
+    'binField/binModels/singleDirectionUniformBin/singleDirectionUniformBin.C',
+    'columnAverage/columnAverage.C',
+    'continuityError/continuityError.C',
+    'derivedFields/derivedFields.C',
+    'expressions/fvExpressionField.C',
+    'fieldAverage/fieldAverage.C',
+    'fieldAverage/fieldAverageItem/fieldAverageItem.C',
+    'fieldAverage/fieldAverageItem/fieldAverageItemIO.C',
+    'fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C',
+    'fieldExtents/fieldExtents.C',
+    'fieldMinMax/fieldMinMax.C',
+    'fieldValues/fieldValue/fieldValue.C',
+    'fieldValues/fieldValue/fieldValueNew.C',
+    'fieldValues/volFieldValue/volFieldValue.C',
+    'fieldValues/surfaceFieldValue/surfaceFieldValue.C',
+    'heatTransferCoeff/heatTransferCoeff.C',
+    'heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModel.C',
+    'heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModelNew.C',
+    'heatTransferCoeff/heatTransferCoeffModels/fixedReferenceTemperature/fixedReferenceTemperature.C',
+    'heatTransferCoeff/heatTransferCoeffModels/localReferenceTemperature/localReferenceTemperature.C',
+    'heatTransferCoeff/heatTransferCoeffModels/faceZoneReferenceTemperature/faceZoneReferenceTemperature.C',
+    'heatTransferCoeff/heatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C',
+    'heatTransferCoeff/reactingEulerHtcModel/reactingEulerHtcModel.C',
+    'heatTransferCoeff/multiphaseInterHtcModel/multiphaseInterHtcModel.C',
+    'limitFields/limitFields.C',
+    'multiFieldValue/multiFieldValue.C',
+    'nearWallFields/nearWallFields.C',
+    'nearWallFields/findCellParticle.C',
+    'nearWallFields/findCellParticleCloud.C',
+    'processorField/processorField.C',
+    'proudmanAcousticPower/proudmanAcousticPower.C',
+    'readFields/readFields.C',
+    'surfaceDistance/surfaceDistance.C',
+    'setFlow/setFlow.C',
+    'streamLine/streamLine.C',
+    'streamLine/streamLineBase.C',
+    'streamLine/streamLineParticle.C',
+    'streamLine/streamLineParticleCloud.C',
+    'wallBoundedStreamLine/wallBoundedStreamLine.C',
+    'wallBoundedStreamLine/wallBoundedStreamLineParticle.C',
+    'wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C',
+    'wallBoundedStreamLine/wallBoundedParticle.C',
+    'surfaceInterpolate/surfaceInterpolate.C',
+    'regionSizeDistribution/regionSizeDistribution.C',
+    'histogram/histogram.C',
+    'histogram/histogramModels/histogramModel/histogramModel.C',
+    'histogram/histogramModels/histogramModel/histogramModelNew.C',
+    'histogram/histogramModels/equalBinWidth/equalBinWidth.C',
+    'histogram/histogramModels/unequalBinWidth/unequalBinWidth.C',
+    'fieldExpression/fieldExpression.C',
+    'components/components.C',
+    'randomise/randomise.C',
+    'div/div.C',
+    'grad/grad.C',
+    'ddt/ddt.C',
+    'mag/mag.C',
+    'magSqr/magSqr.C',
+    'vorticity/vorticity.C',
+    'LambVector/LambVector.C',
+    'enstrophy/enstrophy.C',
+    'Q/Q.C',
+    'Lambda2/Lambda2.C',
+    'flowType/flowType.C',
+    'CourantNo/CourantNo.C',
+    'PecletNo/PecletNo.C',
+    'blendingFactor/blendingFactor.C',
+    'momentum/momentum.C',
+    'momentumError/momentumError.C',
+    'pressure/pressure.C',
+    'MachNo/MachNo.C',
+    'Curle/Curle.C',
+    'reference/reference.C',
+    'log/log.C',
+    'pow/pow.C',
+    'norm/norm.C',
+    'fieldsExpression/fieldsExpression.C',
+    'add/add.C',
+    'subtract/subtract.C',
+    'multiply/multiply.C',
+    'turbulenceFields/turbulenceFields.C',
+    'yPlus/yPlus.C',
+    'wallShearStress/wallShearStress.C',
+    'wallHeatFlux/wallHeatFlux.C',
+    'writeCellCentres/writeCellCentres.C',
+    'writeCellVolumes/writeCellVolumes.C',
+    'XiReactionRate/XiReactionRate.C',
+    'streamFunction/streamFunction.C',
+    'valueAverage/valueAverage.C',
+    'fluxSummary/fluxSummary.C',
+    'mapFields/mapFields.C',
+    'reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C',
+    'DESModelRegions/DESModelRegions.C',
+    'externalCoupled/externalCoupled.C',
+    'externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchFields.C',
+    'externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C',
+    'extractEulerianParticles/extractEulerianParticles/extractEulerianParticles.C',
+    'extractEulerianParticles/eulerianParticle/eulerianParticle.C',
+    'particleDistribution/particleDistribution.C',
+    'flux/flux.C',
+    'ddt2/ddt2.C',
+    'zeroGradient/zeroGradient.C',
+    'stabilityBlendingFactor/stabilityBlendingFactor.C',
+    'interfaceHeight/interfaceHeight.C',
+    'DMD/DMD.C',
+    'DMD/DMDModels/DMDModel/DMDModel.C',
+    'DMD/DMDModels/DMDModel/DMDModelNew.C',
+    'DMD/DMDModels/derived/STDMD/STDMD.C',
+    'resolutionIndex/resolutionIndex.C',
+    'resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModel.C',
+    'resolutionIndex/resolutionIndexModels/resolutionIndexModel/resolutionIndexModelNew.C',
+    'resolutionIndex/resolutionIndexModels/PopeIndex/PopeIndex.C',
+    'resolutionIndex/resolutionIndexModels/CelikNuIndex/CelikNuIndex.C',
+    'resolutionIndex/resolutionIndexModels/CelikEtaIndex/CelikEtaIndex.C',
+    'age/age.C',
+    'comfort/comfort.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_sampling,
+    lib_lagrangian,
+    lib_distributionModels,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_compressibleTransportModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_turbulenceModelSchemes,
+    lib_chemistryModel,
+    lib_reactionThermophysicalModels,
+    lib_pairPatchAgglomeration,
+    lib_incompressibleMultiphaseSystems,
+    lib_reactingMultiphaseSystem,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/field',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/schemes',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/fvAgglomerationMethods/pairPatchAgglomeration',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/functionObjects/field',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_fieldFunctionObjects = library(
+    'fieldFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_fieldFunctionObjects)
diff --git a/src/functionObjects/forces/meson.build b/src/functionObjects/forces/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6b083397ed57b92df00d8a6ef347bf0a914adf94
--- /dev/null
+++ b/src/functionObjects/forces/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'forces/forces.C',
+    'forceCoeffs/forceCoeffs.C',
+    'propellerInfo/propellerInfo.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_surfMesh,
+    lib_fluidThermophysicalModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/forces',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/functionObjects/forces',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_forces = library(
+    'forces',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_forces)
diff --git a/src/functionObjects/initialisation/meson.build b/src/functionObjects/initialisation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f41d689d14e46824533507ce01db05ac6c74f474
--- /dev/null
+++ b/src/functionObjects/initialisation/meson.build
@@ -0,0 +1,63 @@
+srcfiles = [
+    lnInclude_hack,
+    'hydrostaticPressure/hydrostaticPressure.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_distributionModels,
+    lib_sampling,
+    lib_surfMesh,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_compressibleTransportModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_chemistryModel,
+    lib_reactionThermophysicalModels,
+    lib_pairPatchAgglomeration,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/initialisation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/fvAgglomerationMethods/pairPatchAgglomeration',
+    '-I' + recursive_include_dirs / 'src/functionObjects/initialisation',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_initialisationFunctionObjects = library(
+    'initialisationFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_initialisationFunctionObjects)
diff --git a/src/functionObjects/lagrangian/meson.build b/src/functionObjects/lagrangian/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..426042c26b9c877f0b563b251a97c6f802cc73ff
--- /dev/null
+++ b/src/functionObjects/lagrangian/meson.build
@@ -0,0 +1,55 @@
+srcfiles = [
+    lnInclude_hack,
+    'common/parcelSelectionDetail.C',
+    'dataCloud/dataCloud.C',
+    'cloudInfo/cloudInfo.C',
+    'icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C',
+    'dsmcFields/dsmcFields.C',
+    'vtkCloud/vtkCloud.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_conversion,
+    lib_incompressibleTransportModels,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_regionFaModels,
+    lib_finiteArea,
+    lib_faOptions,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/lagrangian',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/DSMC',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/functionObjects/lagrangian',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lagrangianFunctionObjects = library(
+    'lagrangianFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lagrangianFunctionObjects)
diff --git a/src/functionObjects/meson.build b/src/functionObjects/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f8ddef6803a27e6a688d023c5aeabf699aa2e9ed
--- /dev/null
+++ b/src/functionObjects/meson.build
@@ -0,0 +1,8 @@
+subdir('field')
+subdir('forces')
+subdir('initialisation')
+subdir('lagrangian')
+subdir('randomProcesses')
+subdir('solvers')
+subdir('utilities')
+subdir('phaseSystems')
diff --git a/src/functionObjects/phaseSystems/meson.build b/src/functionObjects/phaseSystems/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0e729e5d202a3d878cd9da748afba7ec0b62cc9a
--- /dev/null
+++ b/src/functionObjects/phaseSystems/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'sizeDistribution/sizeDistribution.C',
+    'phaseForces/phaseForces.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fieldFunctionObjects,
+    lib_reactingMultiphaseSystem,
+    lib_dynamicMesh,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/phaseSystems',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/functionObjects/field',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/functionObjects/phaseSystems',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_phaseFunctionObjects = library(
+    'phaseFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_phaseFunctionObjects)
diff --git a/src/functionObjects/randomProcesses/meson.build b/src/functionObjects/randomProcesses/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6c7537ec78c7bb972e459d3b6100e6a524d42f5f
--- /dev/null
+++ b/src/functionObjects/randomProcesses/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'energySpectrum/energySpectrum.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_randomProcesses,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/functionObjects/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_randomProcessesFunctionObjects = library(
+    'randomProcessesFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_randomProcessesFunctionObjects)
diff --git a/src/functionObjects/solvers/meson.build b/src/functionObjects/solvers/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a6d5a1af62acfa7df96048117b8a937326d63855
--- /dev/null
+++ b/src/functionObjects/solvers/meson.build
@@ -0,0 +1,44 @@
+srcfiles = [
+    lnInclude_hack,
+    'scalarTransport/scalarTransport.C',
+    'energyTransport/energyTransport.C',
+    'electricPotential/electricPotential.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/solvers',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/functionObjects/solvers',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_solverFunctionObjects = library(
+    'solverFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_solverFunctionObjects)
diff --git a/src/functionObjects/utilities/meson.build b/src/functionObjects/utilities/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d50627df96892d29724f93952191aaeb2245bddb
--- /dev/null
+++ b/src/functionObjects/utilities/meson.build
@@ -0,0 +1,73 @@
+srcfiles = [
+    lnInclude_hack,
+    'abort/abort.C',
+    'codedFunctionObject/codedFunctionObject.C',
+    'areaWrite/areaWrite.C',
+    'ensightWrite/ensightWrite.C',
+    'ensightWrite/ensightWriteUpdate.C',
+    'vtkWrite/vtkWrite.C',
+    'vtkWrite/vtkWriteUpdate.C',
+    'multiRegion/multiRegion.C',
+    'removeRegisteredObject/removeRegisteredObject.C',
+    'parProfiling/parProfiling.C',
+    'solverInfo/solverInfo.C',
+    'timeInfo/timeInfo.C',
+    'runTimeControl/runTimeControl.C',
+    'runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.C',
+    'runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C',
+    'runTimeControl/runTimeCondition/averageCondition/averageCondition.C',
+    'runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C',
+    'runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C',
+    'runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C',
+    'runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C',
+    'runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C',
+    'runTimeControl/runTimeCondition/noneCondition/noneCondition.C',
+    'setTimeStep/setTimeStepFunctionObject.C',
+    'systemCall/systemCall.C',
+    'timeActivatedFileUpdate/timeActivatedFileUpdate.C',
+    'writeDictionary/writeDictionary.C',
+    'writeObjects/writeObjects.C',
+    'thermoCoupleProbes/thermoCoupleProbes.C',
+    'syncObjects/syncObjects.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_conversion,
+    lib_sampling,
+    lib_ODE,
+    lib_fluidThermophysicalModels,
+    lib_compressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/functionObjects/utilities',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/conversion',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/functionObjects/utilities',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_utilityFunctionObjects = library(
+    'utilityFunctionObjects',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_utilityFunctionObjects)
diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/meson.build b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e55411dad3e896c9ce01a79aa982cbc8749226e3
--- /dev/null
+++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/meson.build
@@ -0,0 +1,27 @@
+srcfiles = [
+    lnInclude_hack,
+    'MGridGenGAMGAgglomeration.C',
+    'MGridGenGAMGAgglomerate.C',
+]
+link_with = []
+dependencies = [
+    mgrid_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + meson.source_root() / 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration',
+    '-I' + recursive_include_dirs / 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_MGridGenGAMGAgglomeration = library(
+    'MGridGenGAMGAgglomeration',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_MGridGenGAMGAgglomeration)
diff --git a/src/fvAgglomerationMethods/meson.build b/src/fvAgglomerationMethods/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e78eee6fde63f19157eeb4bc5cad7f71af4069d9
--- /dev/null
+++ b/src/fvAgglomerationMethods/meson.build
@@ -0,0 +1,2 @@
+subdir('MGridGenGamgAgglomeration')
+subdir('pairPatchAgglomeration')
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/meson.build b/src/fvAgglomerationMethods/pairPatchAgglomeration/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..759c915c07166422489a274c814735564dbb8931
--- /dev/null
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'pairPatchAgglomeration.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/fvAgglomerationMethods/pairPatchAgglomeration',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/fvAgglomerationMethods/pairPatchAgglomeration',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_pairPatchAgglomeration = library(
+    'pairPatchAgglomeration',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_pairPatchAgglomeration)
diff --git a/src/fvMotionSolver/meson.build b/src/fvMotionSolver/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..424d4b89afc8494fb561e87e1028b384d05658ff
--- /dev/null
+++ b/src/fvMotionSolver/meson.build
@@ -0,0 +1,67 @@
+srcfiles = [
+    lnInclude_hack,
+    'fvMotionSolvers/fvMotionSolver/fvMotionSolver.C',
+    'fvMotionSolvers/displacement/SBRStress/displacementSBRStressFvMotionSolver.C',
+    'fvMotionSolvers/displacement/laplacian/displacementLaplacianFvMotionSolver.C',
+    'fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.C',
+    'fvMotionSolvers/displacement/solidBodyDisplacementLaplacian/solidBodyDisplacementLaplacianFvMotionSolver.C',
+    'fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.C',
+    'fvMotionSolvers/velocity/laplacian/velocityLaplacianFvMotionSolver.C',
+    'fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.C',
+    'motionDiffusivity/motionDiffusivity/motionDiffusivity.C',
+    'motionDiffusivity/uniform/uniformDiffusivity.C',
+    'motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C',
+    'motionDiffusivity/inverseFaceDistance/inverseFaceDistanceDiffusivity.C',
+    'motionDiffusivity/inversePointDistance/inversePointDistanceDiffusivity.C',
+    'motionDiffusivity/inverseVolume/inverseVolumeDiffusivity.C',
+    'motionDiffusivity/directional/directionalDiffusivity.C',
+    'motionDiffusivity/motionDirectional/motionDirectionalDiffusivity.C',
+    'motionDiffusivity/file/fileDiffusivity.C',
+    'motionDiffusivity/manipulators/quadratic/quadraticDiffusivity.C',
+    'motionDiffusivity/manipulators/exponential/exponentialDiffusivity.C',
+    'motionInterpolation/motionInterpolation/motionInterpolation.C',
+    'motionInterpolation/patchCorrected/patchCorrectedInterpolation.C',
+    'motionInterpolation/patchTransformed/patchTransformedInterpolation.C',
+    'fvPatchFields/derived/cellMotion/cellMotionFvPatchFields.C',
+    'fvPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementFvPatchFields.C',
+    'pointPatchFields/derived/oscillatingVelocity/oscillatingVelocityPointPatchVectorField.C',
+    'pointPatchFields/derived/angularOscillatingVelocity/angularOscillatingVelocityPointPatchVectorField.C',
+    'pointPatchFields/derived/oscillatingDisplacement/oscillatingDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/angularOscillatingDisplacement/angularOscillatingDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/surfaceSlipDisplacement/surfaceSlipDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchFields.C',
+    'pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fvOptions,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/functionObjects/forces',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_fvMotionSolvers = library(
+    'fvMotionSolvers',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_fvMotionSolvers)
diff --git a/src/fvOptions/meson.build b/src/fvOptions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..637f4b9f81a69360a2c342441e0228c6a459fd06
--- /dev/null
+++ b/src/fvOptions/meson.build
@@ -0,0 +1,98 @@
+srcfiles = [
+    lnInclude_hack,
+    'cellSetOption/cellSetOption.C',
+    'interRegionOption/interRegionOption.C',
+    'sources/general/codedSource/codedFvSources.C',
+    'sources/general/semiImplicitSource/semiImplicitSources.C',
+    'sources/derived/acousticDampingSource/acousticDampingSource.C',
+    'sources/derived/actuationDiskSource/actuationDiskSource.C',
+    'sources/derived/buoyancyEnergy/buoyancyEnergy.C',
+    'sources/derived/buoyancyForce/buoyancyForce.C',
+    'sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C',
+    'sources/derived/explicitPorositySource/explicitPorositySource.C',
+    'sources/derived/jouleHeatingSource/jouleHeatingSource.C',
+    'sources/derived/meanVelocityForce/meanVelocityForce.C',
+    'sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C',
+    'sources/derived/multiphaseStabilizedTurbulence/multiphaseStabilizedTurbulence.C',
+    'sources/derived/phaseLimitStabilization/phaseLimitStabilization.C',
+    'sources/derived/radialActuationDiskSource/radialActuationDiskSource.C',
+    'sources/derived/rotorDiskSource/rotorDiskSource.C',
+    'sources/derived/rotorDiskSource/bladeModel/bladeModel.C',
+    'sources/derived/rotorDiskSource/profileModel/profileModel.C',
+    'sources/derived/rotorDiskSource/profileModel/profileModelList.C',
+    'sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C',
+    'sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C',
+    'sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.C',
+    'sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C',
+    'sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.C',
+    'sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C',
+    'sources/derived/solidificationMeltingSource/solidificationMeltingSource.C',
+    'sources/derived/tabulatedAccelerationSource/tabulatedAccelerationSource.C',
+    'sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C',
+    'sources/derived/viscousDissipation/viscousDissipation.C',
+    'sources/derived/buoyancyTurbSource/buoyancyTurbSource.C',
+    'sources/derived/patchCellsSource/patchCellsSource.C',
+    'sources/derived/heatExchangerSource/heatExchangerSource.C',
+    'sources/derived/heatExchangerSource/heatExchangerModels/heatExchangerModel/heatExchangerModel.C',
+    'sources/derived/heatExchangerSource/heatExchangerModels/heatExchangerModel/heatExchangerModelNew.C',
+    'sources/derived/heatExchangerSource/heatExchangerModels/effectivenessTable/effectivenessTable.C',
+    'sources/derived/heatExchangerSource/heatExchangerModels/referenceTemperature/referenceTemperature.C',
+    'sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C',
+    'sources/interRegion/interRegionHeatTransfer/constantHeatTransfer/constantHeatTransfer.C',
+    'sources/interRegion/interRegionHeatTransfer/tabulatedHeatTransfer/tabulatedHeatTransfer.C',
+    'sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C',
+    'sources/interRegion/interRegionHeatTransfer/variableHeatTransfer/variableHeatTransfer.C',
+    'sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C',
+    'constraints/general/fixedValueConstraint/fixedValueConstraints.C',
+    'constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.C',
+    'constraints/derived/velocityDampingConstraint/velocityDampingConstraint.C',
+    'corrections/limitTemperature/limitTemperature.C',
+    'corrections/limitVelocity/limitVelocity.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_reactionThermophysicalModels,
+    lib_overset,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_fvOptions = library(
+    'fvOptions',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_fvOptions)
diff --git a/src/genericPatchFields/meson.build b/src/genericPatchFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..03ed56d94caf6e650b2399576eb8239db4021265
--- /dev/null
+++ b/src/genericPatchFields/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'genericPatchFieldBase/genericPatchFieldBase.C',
+    'genericFaPatchField/genericFaPatchFields.C',
+    'genericFvPatchField/genericFvPatchFields.C',
+    'genericFvsPatchField/genericFvsPatchFields.C',
+    'genericPointPatchField/genericPointPatchFields.C',
+]
+link_with = [
+    lib_finiteArea,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/genericPatchFields',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/genericPatchFields',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_genericPatchFields = library(
+    'genericPatchFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_genericPatchFields)
diff --git a/src/lagrangian/DSMC/meson.build b/src/lagrangian/DSMC/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b60c1e270acf960bc98b389c65bf7fa52df297ee
--- /dev/null
+++ b/src/lagrangian/DSMC/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'parcels/derived/dsmcParcel/dsmcParcel.C',
+    'clouds/baseClasses/DSMCBaseCloud/DSMCBaseCloud.C',
+    'parcels/derived/dsmcParcel/defineDSMCParcel.C',
+    'parcels/derived/dsmcParcel/makeDSMCParcelBinaryCollisionModels.C',
+    'parcels/derived/dsmcParcel/makeDSMCParcelWallInteractionModels.C',
+    'parcels/derived/dsmcParcel/makeDSMCParcelInflowBoundaryModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/DSMC',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/DSMC',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_DSMC = library(
+    'DSMC',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_DSMC)
diff --git a/src/lagrangian/coalCombustion/meson.build b/src/lagrangian/coalCombustion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c671c3f213c831634e9e3a2483a6659af7301a8e
--- /dev/null
+++ b/src/lagrangian/coalCombustion/meson.build
@@ -0,0 +1,70 @@
+srcfiles = [
+    lnInclude_hack,
+    'coalParcel/makeCoalParcelSubmodels.C',
+    'coalCloudList/coalCloudList.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_distributionModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/coalCombustion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/coalCombustion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_coalCombustion = library(
+    'coalCombustion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_coalCombustion)
diff --git a/src/lagrangian/intermediate/meson.build b/src/lagrangian/intermediate/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9ce5985e93ea4aae433b9f27e8b7c969d662ef4b
--- /dev/null
+++ b/src/lagrangian/intermediate/meson.build
@@ -0,0 +1,122 @@
+srcfiles = [
+    lnInclude_hack,
+    'clouds/baseClasses/kinematicCloud/kinematicCloud.C',
+    'clouds/baseClasses/thermoCloud/thermoCloud.C',
+    'clouds/baseClasses/reactingCloud/reactingCloud.C',
+    'clouds/baseClasses/reactingMultiphaseCloud/reactingMultiphaseCloud.C',
+    'clouds/baseClasses/reactingHeterogeneousCloud/reactingHeterogeneousCloud.C',
+    'parcels/derived/basicKinematicParcel/defineBasicKinematicParcel.C',
+    'parcels/derived/basicKinematicParcel/makeBasicKinematicParcelSubmodels.C',
+    'parcels/derived/basicKinematicCollidingParcel/defineBasicKinematicCollidingParcel.C',
+    'parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C',
+    'parcels/derived/basicThermoParcel/defineBasicThermoParcel.C',
+    'parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C',
+    'parcels/derived/basicReactingParcel/defineBasicReactingParcel.C',
+    'parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C',
+    'parcels/derived/basicReactingMultiphaseParcel/defineBasicReactingMultiphaseParcel.C',
+    'parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C',
+    'parcels/derived/basicHeterogeneousReactingParcel/defineBasicHeterogeneousReactingParcel.C',
+    'parcels/derived/basicHeterogeneousReactingParcel/makeBasicHeterogeneousReactingParcelSubmodels.C',
+    'parcels/derived/basicKinematicMPPICParcel/defineBasicKinematicMPPICParcel.C',
+    'parcels/derived/basicKinematicMPPICParcel/makeBasicKinematicMPPICParcelSubmodels.C',
+    'submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C',
+    'submodels/addOns/radiation/scatter/cloudScatter/cloudScatter.C',
+    'submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C',
+    'submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C',
+    'submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.C',
+    'submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionDataIO.C',
+    'submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionDataIOList.C',
+    'submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C',
+    'submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionData.C',
+    'submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionDataIO.C',
+    'submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionDataIOList.C',
+    'submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionData.C',
+    'submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionDataIO.C',
+    'submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionDataIOList.C',
+    'submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionData.C',
+    'submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionDataIO.C',
+    'submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionDataIOList.C',
+    'submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C',
+    'submodels/MPPIC/ParticleStressModels/HarrisCrighton/HarrisCrighton.C',
+    'submodels/MPPIC/ParticleStressModels/Lun/Lun.C',
+    'submodels/MPPIC/ParticleStressModels/exponential/exponential.C',
+    'submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C',
+    'submodels/MPPIC/CorrectionLimitingMethods/noCorrectionLimiting/noCorrectionLimiting.C',
+    'submodels/MPPIC/CorrectionLimitingMethods/absolute/absolute.C',
+    'submodels/MPPIC/CorrectionLimitingMethods/relative/relative.C',
+    'submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C',
+    'submodels/MPPIC/TimeScaleModels/equilibrium/equilibrium.C',
+    'submodels/MPPIC/TimeScaleModels/nonEquilibrium/nonEquilibrium.C',
+    'submodels/MPPIC/TimeScaleModels/isotropic/isotropic.C',
+    'integrationScheme/integrationScheme/integrationScheme.C',
+    'integrationScheme/integrationScheme/integrationSchemeNew.C',
+    'integrationScheme/Euler/Euler.C',
+    'integrationScheme/analytical/analytical.C',
+    'phaseProperties/phaseProperties/phaseProperties.C',
+    'phaseProperties/phaseProperties/phasePropertiesIO.C',
+    'phaseProperties/phasePropertiesList/phasePropertiesList.C',
+    'clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C',
+    'submodels/MPPIC/AveragingMethods/makeAveragingMethods.C',
+    'conversion/ensight/ensightOutputCloud.C',
+    'conversion/vtk/foamVtkLagrangianWriter.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_distributionModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_radiationModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lagrangianIntermediate = library(
+    'lagrangianIntermediate',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lagrangianIntermediate)
diff --git a/src/lagrangian/meson.build b/src/lagrangian/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e6eac4c14d548feebcaaf4eb93eb05fef90107f3
--- /dev/null
+++ b/src/lagrangian/meson.build
@@ -0,0 +1,7 @@
+subdir('DSMC')
+subdir('intermediate')
+subdir('molecularDynamics')
+subdir('solidParticle')
+subdir('turbulence')
+subdir('coalCombustion')
+subdir('spray')
diff --git a/src/lagrangian/molecularDynamics/meson.build b/src/lagrangian/molecularDynamics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d471ab3bd8a1b5d97ee6fc7132a98919c3bd5bfc
--- /dev/null
+++ b/src/lagrangian/molecularDynamics/meson.build
@@ -0,0 +1,3 @@
+subdir('molecularMeasurements')
+subdir('potential')
+subdir('molecule')
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/meson.build b/src/lagrangian/molecularDynamics/molecularMeasurements/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2cf918b7a063a9e2b6eb45fba670f139c118f29f
--- /dev/null
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/meson.build
@@ -0,0 +1,22 @@
+srcfiles = [
+    lnInclude_hack,
+    'distribution/distribution.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_molecularMeasurements = library(
+    'molecularMeasurements',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_molecularMeasurements)
diff --git a/src/lagrangian/molecularDynamics/molecule/meson.build b/src/lagrangian/molecularDynamics/molecule/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..afe867f635f44d58bcd97d059f879278e4df1c87
--- /dev/null
+++ b/src/lagrangian/molecularDynamics/molecule/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'reducedUnits/reducedUnits.C',
+    'reducedUnits/reducedUnitsIO.C',
+    'molecule/molecule.C',
+    'molecule/moleculeIO.C',
+    'moleculeCloud/moleculeCloud.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_potential,
+    lib_molecularMeasurements,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/molecularDynamics/molecule',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecularMeasurements',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/molecule',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_molecule = library(
+    'molecule',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_molecule)
diff --git a/src/lagrangian/molecularDynamics/potential/meson.build b/src/lagrangian/molecularDynamics/potential/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fa85ceadded991b57ca7de3ffbebc635b931acc0
--- /dev/null
+++ b/src/lagrangian/molecularDynamics/potential/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'potential/potential.C',
+    'pairPotential/pairPotentialList/pairPotentialList.C',
+    'pairPotential/basic/pairPotential.C',
+    'pairPotential/basic/pairPotentialIO.C',
+    'pairPotential/basic/pairPotentialNew.C',
+    'pairPotential/derived/lennardJones/lennardJones.C',
+    'pairPotential/derived/maitlandSmith/maitlandSmith.C',
+    'pairPotential/derived/azizChen/azizChen.C',
+    'pairPotential/derived/exponentialRepulsion/exponentialRepulsion.C',
+    'pairPotential/derived/coulomb/coulomb.C',
+    'pairPotential/derived/dampedCoulomb/dampedCoulomb.C',
+    'pairPotential/derived/noInteraction/noInteraction.C',
+    'energyScalingFunction/basic/energyScalingFunction.C',
+    'energyScalingFunction/basic/energyScalingFunctionNew.C',
+    'energyScalingFunction/derived/shifted/shifted.C',
+    'energyScalingFunction/derived/shiftedForce/shiftedForce.C',
+    'energyScalingFunction/derived/noScaling/noScaling.C',
+    'energyScalingFunction/derived/sigmoid/sigmoid.C',
+    'energyScalingFunction/derived/doubleSigmoid/doubleSigmoid.C',
+    'tetherPotential/tetherPotentialList/tetherPotentialList.C',
+    'tetherPotential/basic/tetherPotential.C',
+    'tetherPotential/basic/tetherPotentialNew.C',
+    'tetherPotential/derived/harmonicSpring/harmonicSpring.C',
+    'tetherPotential/derived/restrainedHarmonicSpring/restrainedHarmonicSpring.C',
+    'tetherPotential/derived/pitchForkRing/pitchForkRing.C',
+    'electrostaticPotential/electrostaticPotential.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + meson.source_root() / 'src/lagrangian/molecularDynamics',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/lagrangian/molecularDynamics/potential',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_potential = library(
+    'potential',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_potential)
diff --git a/src/lagrangian/solidParticle/meson.build b/src/lagrangian/solidParticle/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..704c44c8e15d3e16b66b7384b79a970c57b9ff58
--- /dev/null
+++ b/src/lagrangian/solidParticle/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'solidParticle.C',
+    'solidParticleIO.C',
+    'solidParticleCloud.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/solidParticle',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/solidParticle',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_solidParticle = library(
+    'solidParticle',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_solidParticle)
diff --git a/src/lagrangian/spray/meson.build b/src/lagrangian/spray/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..16f9e5d356da3445b1971de68b1671270a249797
--- /dev/null
+++ b/src/lagrangian/spray/meson.build
@@ -0,0 +1,74 @@
+srcfiles = [
+    lnInclude_hack,
+    'clouds/baseClasses/sprayCloud/sprayCloud.C',
+    'parcels/derived/basicSprayParcel/defineBasicSprayParcel.C',
+    'parcels/derived/basicSprayParcel/makeBasicSprayParcelSubmodels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_lagrangianTurbulence,
+    lib_distributionModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/lagrangian/turbulence',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/spray',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lagrangianSpray = library(
+    'lagrangianSpray',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lagrangianSpray)
diff --git a/src/lagrangian/turbulence/meson.build b/src/lagrangian/turbulence/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..394ea4af33272c3e86fb88abe195573dd0e5e94a
--- /dev/null
+++ b/src/lagrangian/turbulence/meson.build
@@ -0,0 +1,74 @@
+srcfiles = [
+    lnInclude_hack,
+    'parcels/derived/basicKinematicParcel/makeBasicKinematicParcelSubmodels.C',
+    'parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C',
+    'parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C',
+    'parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C',
+    'parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C',
+    'parcels/derived/basicKinematicMPPICParcel/makeBasicKinematicMPPICParcelSubmodels.C',
+    'parcels/derived/basicHeterogeneousReactingParcel/makeBasicHeterogeneousParcelSubmodels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_lagrangian,
+    lib_lagrangianIntermediate,
+    lib_distributionModels,
+    lib_specie,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_radiationModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+    lib_dynamicFvMesh,
+    lib_regionFaModels,
+    lib_finiteArea,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/turbulence',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/lagrangian/intermediate',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/lagrangian/turbulence',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lagrangianTurbulence = library(
+    'lagrangianTurbulence',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lagrangianTurbulence)
diff --git a/src/lumpedPointMotion/meson.build b/src/lumpedPointMotion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..57d8d7c9e05ebe5e102b4571d9f6ae8cd7aeeff1
--- /dev/null
+++ b/src/lumpedPointMotion/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'controller/lumpedPointController.C',
+    'state/lumpedPointState.C',
+    'state/lumpedPointStateWriter.C',
+    'movement/lumpedPointMovement.C',
+    'movement/lumpedPointMovementWriter.C',
+    'movement/lumpedPointIOMovement.C',
+    'tools/lumpedPointTools.C',
+    'pointPatchFields/lumpedPointDisplacementPointPatchVectorField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lumpedPointMotion = library(
+    'lumpedPointMotion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lumpedPointMotion)
diff --git a/src/mesh/blockMesh/meson.build b/src/mesh/blockMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e4a1689ff440f668c89288cedbe4d04f7f4179d6
--- /dev/null
+++ b/src/mesh/blockMesh/meson.build
@@ -0,0 +1,66 @@
+srcfiles = [
+    lnInclude_hack,
+    'blockVertices/blockVertex/blockVertex.C',
+    'blockVertices/pointVertex/pointVertex.C',
+    'blockVertices/projectVertex/projectVertex.C',
+    'blockVertices/namedVertex/namedVertex.C',
+    'blockEdges/bezier/bezier.C',
+    'blockEdges/blockEdge/blockEdge.C',
+    'blockEdges/lineDivide/lineDivide.C',
+    'blockEdges/lineEdge/lineEdge.C',
+    'blockEdges/polyLineEdge/polyLine.C',
+    'blockEdges/polyLineEdge/polyLineEdge.C',
+    'blockEdges/arcEdge/arcEdge.C',
+    'blockEdges/BSplineEdge/BSpline.C',
+    'blockEdges/BSplineEdge/BSplineEdge.C',
+    'blockEdges/splineEdge/CatmullRomSpline.C',
+    'blockEdges/splineEdge/splineEdge.C',
+    'blockEdges/projectEdge/projectEdge.C',
+    'blockEdges/projectCurveEdge/projectCurveEdge.C',
+    'blockFaces/blockFace/blockFace.C',
+    'blockFaces/projectFace/projectFace.C',
+    'gradingDescriptor/gradingDescriptor.C',
+    'gradingDescriptor/gradingDescriptors.C',
+    'blockDescriptor/blockDescriptor.C',
+    'blockDescriptor/blockDescriptorEdges.C',
+    'blocks/block/block.C',
+    'blocks/block/blockCreate.C',
+    'blocks/namedBlock/namedBlock.C',
+    'blockMesh/blockMesh.C',
+    'blockMesh/blockMeshCreate.C',
+    'blockMesh/blockMeshTopology.C',
+    'blockMesh/blockMeshCheck.C',
+    'blockMesh/blockMeshMergeGeometrical.C',
+    'blockMesh/blockMeshMergeTopological.C',
+    'blockMeshTools/blockMeshTools.C',
+    'PDRblockMesh/PDRblock.C',
+    'PDRblockMesh/PDRblockBlockMesh.C',
+    'PDRblockMesh/PDRblockCreate.C',
+    'PDRblockMesh/PDRblockLocation.C',
+    'PDRblockMesh/PDRblockOuter.C',
+]
+link_with = [
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_blockMesh = library(
+    'blockMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_blockMesh)
diff --git a/src/mesh/extrudeModel/meson.build b/src/mesh/extrudeModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7c825ae1e14cfbfd9621908020305aae45c22568
--- /dev/null
+++ b/src/mesh/extrudeModel/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'extrudeModel/extrudeModel.C',
+    'extrudeModel/extrudeModelNew.C',
+    'linearNormal/linearNormal.C',
+    'planeExtrusion/planeExtrusion.C',
+    'linearDirection/linearDirection.C',
+    'linearRadial/linearRadial.C',
+    'offsetSurface/offsetSurface.C',
+    'radial/radial.C',
+    'sigmaRadial/sigmaRadial.C',
+    'sector/sector.C',
+    'cyclicSector/cyclicSector.C',
+    'wedge/wedge.C',
+    'polyline/polyline.C',
+]
+link_with = [
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_blockMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_extrudeModel = library(
+    'extrudeModel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_extrudeModel)
diff --git a/src/mesh/meson.build b/src/mesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..af24f7846f69145e32d71029eaff9d0490e0e964
--- /dev/null
+++ b/src/mesh/meson.build
@@ -0,0 +1,2 @@
+subdir('blockMesh')
+subdir('extrudeModel')
diff --git a/src/meshTools/meson.build b/src/meshTools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3e9a523c8a72e14bf0c8856fddd1a1d7f5401648
--- /dev/null
+++ b/src/meshTools/meson.build
@@ -0,0 +1,271 @@
+srcfiles = [
+    lnInclude_hack,
+    'edgeMesh/edgeMesh.C',
+    'edgeMesh/edgeMeshIO.C',
+    'edgeMesh/edgeMeshNew.C',
+    'edgeMesh/edgeFormats/edgeMeshFormatsCore.C',
+    'edgeMesh/edgeFormats/edgeMesh/edgeMeshFormat.C',
+    'edgeMesh/edgeFormats/edgeMesh/edgeMeshFormatRunTime.C',
+    'edgeMesh/edgeFormats/nastran/NASedgeFormat.C',
+    'edgeMesh/edgeFormats/nastran/NASedgeFormatRunTime.C',
+    'edgeMesh/edgeFormats/obj/OBJedgeFormat.C',
+    'edgeMesh/edgeFormats/obj/OBJedgeFormatRunTime.C',
+    'edgeMesh/edgeFormats/starcd/STARCDedgeFormat.C',
+    'edgeMesh/edgeFormats/starcd/STARCDedgeFormatRunTime.C',
+    'edgeMesh/edgeFormats/vtk/VTKedgeFormat.C',
+    'edgeMesh/edgeFormats/vtk/VTKedgeFormatRunTime.C',
+    'edgeMesh/edgeMeshTools/edgeMeshTools.C',
+    'edgeMesh/edgeMeshTools/edgeMeshFeatureProximity.C',
+    'edgeMesh/featureEdgeMesh/featureEdgeMesh.C',
+    'edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C',
+    'edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C',
+    'edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormat.C',
+    'edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormatRunTime.C',
+    'edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C',
+    'edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C',
+    'edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormatRunTime.C',
+    'cellClassification/cellClassification.C',
+    'cellClassification/cellInfo.C',
+    'cellQuality/cellQuality.C',
+    'cellDist/cellDistFuncs.C',
+    'cellDist/patchWave/patchWave.C',
+    'cellDist/wallPoint/wallPoint.C',
+    'cellFeatures/cellFeatures.C',
+    'polyMeshZipUpCells/polyMeshZipUpCells.C',
+    'primitiveMeshGeometry/primitiveMeshGeometry.C',
+    'meshSearch/meshSearch.C',
+    'meshSearch/meshSearchFACE_CENTRE_TRISMeshObject.C',
+    'meshSearch/meshSearchMeshObject.C',
+    'fields/pointPatchFields/uniformFixedValue/uniformFixedValuePointPatchFields.C',
+    'fields/volume/polyMeshFields.C',
+    'meshTools/meshTools.C',
+    'algorithms/PointEdgeWave/PointEdgeWaveBase.C',
+    'algorithms/PointEdgeWave/pointEdgePoint.C',
+    'algorithms/PatchEdgeFaceWave/PatchEdgeFaceWaveBase.C',
+    'algorithms/PatchEdgeFaceWave/patchEdgeFaceInfo.C',
+    'algorithms/PatchEdgeFaceWave/patchPatchDist.C',
+    'algorithms/PatchEdgeFaceWave/patchEdgeFaceRegions.C',
+    'algorithms/MeshWave/MeshWaveBase.C',
+    'algorithms/MeshWave/FaceCellWaveBase.C',
+    'regionSplit/regionSplit.C',
+    'regionSplit/localPointRegion.C',
+    'regionSplit2D/regionSplit2D.C',
+    'indexedOctree/treeDataFace.C',
+    'indexedOctree/treeDataPrimitivePatchBase.C',
+    'indexedOctree/treeDataTriSurface.C',
+    'searchableSurfaces/closedTriSurfaceMesh/closedTriSurfaceMesh.C',
+    'searchableSurfaces/searchableBox/searchableBox.C',
+    'searchableSurfaces/searchableCone/searchableCone.C',
+    'searchableSurfaces/searchableCylinder/searchableCylinder.C',
+    'searchableSurfaces/searchableDisk/searchableDisk.C',
+    'searchableSurfaces/searchableExtrudedCircle/searchableExtrudedCircle.C',
+    'searchableSurfaces/searchablePlane/searchablePlane.C',
+    'searchableSurfaces/searchablePlate/searchablePlate.C',
+    'searchableSurfaces/searchableRotatedBox/searchableRotatedBox.C',
+    'searchableSurfaces/searchableSphere/searchableSphere.C',
+    'searchableSurfaces/searchableSurface/searchableSurface.C',
+    'searchableSurfaces/searchableSurfaceCollection/searchableSurfaceCollection.C',
+    'searchableSurfaces/searchableSurfaces/searchableSurfaces.C',
+    'searchableSurfaces/searchableSurfacesQueries/searchableSurfacesQueries.C',
+    'searchableSurfaces/searchableSurfaceWithGaps/searchableSurfaceWithGaps.C',
+    'searchableSurfaces/subTriSurfaceMesh/subTriSurfaceMesh.C',
+    'searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C',
+    'coordSet/coordSet.C',
+    'coordSet/writers/common/coordSetWriter.C',
+    'coordSet/writers/common/coordSetWriterBuffers.C',
+    'coordSet/writers/common/coordSetWriterNew.C',
+    'coordSet/writers/csv/csvCoordSetWriter.C',
+    'coordSet/writers/ensight/ensightCoordSetWriter.C',
+    'coordSet/writers/gltf/gltfCoordSetWriter.C',
+    'coordSet/writers/gnuplot/gnuplotCoordSetWriter.C',
+    'coordSet/writers/nastran/nastranCoordSetWriter.C',
+    'coordSet/writers/null/nullCoordSetWriter.C',
+    'coordSet/writers/raw/rawCoordSetWriter.C',
+    'coordSet/writers/vtk/foamVtkCoordSetWriter.C',
+    'coordSet/writers/vtk/vtkCoordSetWriter.C',
+    'coordSet/writers/xmgrace/xmgraceCoordSetWriter.C',
+    'graph/curve.C',
+    'graph/graph.C',
+    'graph/writers/raw/rawGraphWriter.C',
+    'graph/writers/gnuplot/gnuplotGraphWriter.C',
+    'graph/writers/xmgrace/xmgraceGraphWriter.C',
+    'topoSet/topoSets/cellBitSet.C',
+    'topoSet/topoSets/cellSet.C',
+    'topoSet/topoSets/cellZoneSet.C',
+    'topoSet/topoSets/faceBitSet.C',
+    'topoSet/topoSets/faceBoolSet.C',
+    'topoSet/topoSets/faceSet.C',
+    'topoSet/topoSets/faceZoneSet.C',
+    'topoSet/topoSets/pointBitSet.C',
+    'topoSet/topoSets/pointSet.C',
+    'topoSet/topoSets/pointZoneSet.C',
+    'topoSet/topoSets/topoBoolSet.C',
+    'topoSet/topoSets/topoBitSet.C',
+    'topoSet/topoSets/topoSet.C',
+    'topoSet/topoSetSource/topoSetSource.C',
+    'topoSet/cellSources/topoSetCellSource/topoSetCellSource.C',
+    'topoSet/cellSources/boundaryToCell/boundaryToCell.C',
+    'topoSet/cellSources/boxToCell/boxToCell.C',
+    'topoSet/cellSources/cellToCell/cellToCell.C',
+    'topoSet/cellSources/clipPlaneToCell/clipPlaneToCell.C',
+    'topoSet/cellSources/cylinderAnnulusToCell/cylinderAnnulusToCell.C',
+    'topoSet/cellSources/cylinderToCell/cylinderToCell.C',
+    'topoSet/cellSources/faceToCell/faceToCell.C',
+    'topoSet/cellSources/faceZoneToCell/faceZoneToCell.C',
+    'topoSet/cellSources/fieldToCell/fieldToCell.C',
+    'topoSet/cellSources/haloToCell/haloToCell.C',
+    'topoSet/cellSources/labelToCell/labelToCell.C',
+    'topoSet/cellSources/nbrToCell/nbrToCell.C',
+    'topoSet/cellSources/nearestToCell/nearestToCell.C',
+    'topoSet/cellSources/patchToCell/patchToCell.C',
+    'topoSet/cellSources/pointToCell/pointToCell.C',
+    'topoSet/cellSources/regionToCell/regionToCell.C',
+    'topoSet/cellSources/rotatedBoxToCell/rotatedBoxToCell.C',
+    'topoSet/cellSources/shapeToCell/shapeToCell.C',
+    'topoSet/cellSources/searchableSurfaceToCell/searchableSurfaceToCell.C',
+    'topoSet/cellSources/sphereToCell/sphereToCell.C',
+    'topoSet/cellSources/surfaceToCell/surfaceToCell.C',
+    'topoSet/cellSources/targetVolumeToCell/targetVolumeToCell.C',
+    'topoSet/cellSources/zoneToCell/zoneToCell.C',
+    'topoSet/faceSources/topoSetFaceSource/topoSetFaceSource.C',
+    'topoSet/faceSources/boundaryToFace/boundaryToFace.C',
+    'topoSet/faceSources/boxToFace/boxToFace.C',
+    'topoSet/faceSources/cellToFace/cellToFace.C',
+    'topoSet/faceSources/clipPlaneToFace/clipPlaneToFace.C',
+    'topoSet/faceSources/cylinderAnnulusToFace/cylinderAnnulusToFace.C',
+    'topoSet/faceSources/cylinderToFace/cylinderToFace.C',
+    'topoSet/faceSources/faceToFace/faceToFace.C',
+    'topoSet/faceSources/labelToFace/labelToFace.C',
+    'topoSet/faceSources/normalToFace/normalToFace.C',
+    'topoSet/faceSources/patchToFace/patchToFace.C',
+    'topoSet/faceSources/pointToFace/pointToFace.C',
+    'topoSet/faceSources/regionToFace/regionToFace.C',
+    'topoSet/faceSources/searchableSurfaceToFace/searchableSurfaceToFace.C',
+    'topoSet/faceSources/sphereToFace/sphereToFace.C',
+    'topoSet/faceSources/zoneToFace/zoneToFace.C',
+    'topoSet/faceSources/holeToFace/holeToFace.C',
+    'topoSet/pointSources/topoSetPointSource/topoSetPointSource.C',
+    'topoSet/pointSources/boxToPoint/boxToPoint.C',
+    'topoSet/pointSources/cellToPoint/cellToPoint.C',
+    'topoSet/pointSources/clipPlaneToPoint/clipPlaneToPoint.C',
+    'topoSet/pointSources/cylinderToPoint/cylinderToPoint.C',
+    'topoSet/pointSources/faceToPoint/faceToPoint.C',
+    'topoSet/pointSources/labelToPoint/labelToPoint.C',
+    'topoSet/pointSources/nearestToPoint/nearestToPoint.C',
+    'topoSet/pointSources/pointToPoint/pointToPoint.C',
+    'topoSet/pointSources/searchableSurfaceToPoint/searchableSurfaceToPoint.C',
+    'topoSet/pointSources/sphereToPoint/sphereToPoint.C',
+    'topoSet/pointSources/surfaceToPoint/surfaceToPoint.C',
+    'topoSet/pointSources/zoneToPoint/zoneToPoint.C',
+    'topoSet/faceZoneSources/topoSetFaceZoneSource/topoSetFaceZoneSource.C',
+    'topoSet/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C',
+    'topoSet/faceZoneSources/setsToFaceZone/setsToFaceZone.C',
+    'topoSet/faceZoneSources/setToFaceZone/setToFaceZone.C',
+    'topoSet/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C',
+    'topoSet/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C',
+    'topoSet/faceZoneSources/planeToFaceZone/planeToFaceZone.C',
+    'topoSet/faceZoneSources/cellToFaceZone/cellToFaceZone.C',
+    'topoSet/cellZoneSources/topoSetCellZoneSource/topoSetCellZoneSource.C',
+    'topoSet/cellZoneSources/setToCellZone/setToCellZone.C',
+    'topoSet/pointZoneSources/topoSetPointZoneSource/topoSetPointZoneSource.C',
+    'topoSet/pointZoneSources/setToPointZone/setToPointZone.C',
+    'momentOfInertia/momentOfInertia.C',
+    'surfaceSets/surfaceSets.C',
+    'triSurface/faceTriangulation/faceTriangulation.C',
+    'triSurface/orientedSurface/orientedSurface.C',
+    'triSurface/surfaceLocation/surfaceLocation.C',
+    'triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C',
+    'triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C',
+    'triSurface/booleanOps/surfaceIntersection/edgeIntersections.C',
+    'triSurface/booleanOps/booleanSurface/booleanSurface.C',
+    'triSurface/booleanOps/intersectedSurface/intersectedSurface.C',
+    'triSurface/booleanOps/intersectedSurface/edgeSurface.C',
+    'triSurface/triSurfaceSearch/triSurfaceSearch.C',
+    'triSurface/triSurfaceSearch/triSurfaceRegionSearch.C',
+    'triSurface/triangleFuncs/triangleFuncs.C',
+    'triSurface/surfaceFeatures/surfaceFeatures.C',
+    'triSurface/triSurfaceLoader/triSurfaceLoader.C',
+    'triSurface/triSurfaceTools/triSurfaceTools.C',
+    'triSurface/triSurfaceTools/triSurfaceCloseness.C',
+    'triSurface/triSurfaceTools/triSurfaceCurvature.C',
+    'triSurface/triSurfaceTools/geompack/geompack.C',
+    'triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C',
+    'twoDPointCorrector/twoDPointCorrector.C',
+    'processorLOD/processorLOD/processorLOD.C',
+    'processorLOD/box/box.C',
+    'processorLOD/cellBox/cellBox.C',
+    'processorLOD/faceBox/faceBox.C',
+    'AMIInterpolation/AMIInterpolation/AMIInterpolation.C',
+    'AMIInterpolation/AMIInterpolation/AMIInterpolationNew.C',
+    'AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMI.C',
+    'AMIInterpolation/AMIInterpolation/advancingFrontAMI/advancingFrontAMIParallelOps.C',
+    'AMIInterpolation/AMIInterpolation/faceAreaWeightAMI/faceAreaWeightAMI.C',
+    'AMIInterpolation/AMIInterpolation/nearestFaceAMI/nearestFaceAMI.C',
+    'AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C',
+    'AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.C',
+    'AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C',
+    'AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C',
+    'AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C',
+    'AMIInterpolation/triangle2D/triangle2D.C',
+    'AMIInterpolation/AMIInterpolation/faceAreaWeightAMI2D/faceAreaWeightAMI2D.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMILduInterfaceField/cyclicAMILduInterface.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMILduInterfaceField/cyclicAMILduInterfaceField.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatchTopologyChange.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatch/cyclicAMIPointPatch.C',
+    'AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchFields.C',
+    'AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.C',
+    'AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.C',
+    'AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C',
+    'AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.C',
+    'AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.C',
+    'AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C',
+    'multiWorld/multiWorldConnectionsObject.C',
+    'mappedPatches/mappedPolyPatch/mappedPatchBase.C',
+    'mappedPatches/mappedPolyPatch/mappedPolyPatch.C',
+    'mappedPatches/mappedPolyPatch/mappedWallPolyPatch.C',
+    'mappedPatches/mappedPolyPatch/mappedVariableThicknessWallPolyPatch.C',
+    'mappedPatches/mappedPointPatch/mappedPointPatch.C',
+    'mappedPatches/mappedPointPatch/mappedWallPointPatch.C',
+    'polyTopoChange/topoAction/topoActions.C',
+    'polyTopoChange/polyTopoChange.C',
+    'PatchFunction1/PatchFunction1/patchFunction1Base.C',
+    'PatchFunction1/makePatchFunction1s.C',
+    'PatchFunction1/coordinateScaling/coordinateScalings.C',
+    'PatchFunction1/CodedField/makeCodedFields.C',
+    'PatchFunction1/MappedFile/MappedFileFilterField.C',
+    'meshStructure/meshStructure.C',
+    'coupling/externalFileCoupler.C',
+    'output/vtk/mesh/foamVtkInternalMeshWriter.C',
+    'output/vtk/patch/foamVtkPatchMeshWriter.C',
+    'output/vtk/topoSet/foamVtkWriteTopoSet.C',
+    'output/vtk/topoSet/foamVtkWriteFaceSet.C',
+    'output/vtk/topoSet/foamVtkWritePointSet.C',
+    'output/vtk/topoSet/foamVtkWriteCellSetFaces.C',
+    'regionModel/regionProperties/regionProperties.C',
+    'tetOverlapVolume/tetOverlapVolume.C',
+]
+link_with = [
+    lib_fileFormats,
+    lib_surfMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_meshTools = library(
+    'meshTools',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_meshTools)
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..75d74e809e0d050fb527d04c792c47d0c25cc35c
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,189 @@
+subdir('ODE')
+subdir('OSspecific')
+subdir('Pstream')
+
+srcfiles = [
+    lnInclude_hack,
+    'lagrangian/distributionModels/distributionModel/distributionModel.C',
+    'lagrangian/distributionModels/distributionModel/distributionModelNew.C',
+    'lagrangian/distributionModels/binned/binned.C',
+    'lagrangian/distributionModels/exponential/exponential.C',
+    'lagrangian/distributionModels/fixedValue/fixedValue.C',
+    'lagrangian/distributionModels/general/general.C',
+    'lagrangian/distributionModels/multiNormal/multiNormal.C',
+    'lagrangian/distributionModels/normal/normal.C',
+    'lagrangian/distributionModels/RosinRammler/RosinRammler.C',
+    'lagrangian/distributionModels/massRosinRammler/massRosinRammler.C',
+    'lagrangian/distributionModels/uniform/uniform.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_distributionModels = library(
+    'distributionModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_distributionModels)
+
+subdir('rigidBodyDynamics')
+subdir('OpenFOAM')
+subdir('fileFormats')
+subdir('surfMesh')
+subdir('meshTools')
+subdir('finiteArea')
+subdir('finiteVolume')
+
+srcfiles = [
+    lnInclude_hack,
+    'lagrangian/basic/particle/particle.C',
+    'lagrangian/basic/particle/particleIO.C',
+    'lagrangian/basic/passiveParticle/passiveParticleCloud.C',
+    'lagrangian/basic/indexedParticle/indexedParticleCloud.C',
+    'lagrangian/basic/injectedParticle/injectedParticle.C',
+    'lagrangian/basic/injectedParticle/injectedParticleIO.C',
+    'lagrangian/basic/injectedParticle/injectedParticleCloud.C',
+    'lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C',
+]
+link_with = [
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_lagrangian = library(
+    'lagrangian',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_lagrangian)
+
+subdir('mesh')
+subdir('conversion')
+subdir('fvAgglomerationMethods')
+subdir('genericPatchFields')
+subdir('sampling')
+subdir('dynamicMesh')
+subdir('randomProcesses')
+subdir('dynamicFvMesh')
+subdir('lumpedPointMotion')
+subdir('parallel')
+subdir('transportModels')
+subdir('topoChangerFvMesh')
+subdir('dummyThirdParty')
+subdir('overset')
+subdir('renumber')
+subdir('thermophysicalModels')
+subdir('TurbulenceModels')
+subdir('combustionModels')
+subdir('fvOptions')
+subdir('phaseSystemModels')
+subdir('atmosphericModels')
+subdir('fvMotionSolver')
+subdir('waveModels')
+subdir('thermoTools')
+subdir('dynamicFaMesh')
+subdir('engine')
+
+srcfiles = [
+    lnInclude_hack,
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriverSinglePass.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snappyVoxelMeshDriver.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters/layerParameters.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C',
+    'mesh/snappyHexMesh/snappyHexMeshDriver/snapParameters/snapParameters.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinement.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementMerge.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementGapRefine.C',
+    'mesh/snappyHexMesh/meshRefinement/meshRefinementBlock.C',
+    'mesh/snappyHexMesh/meshRefinement/wallPoints.C',
+    'mesh/snappyHexMesh/meshRefinement/patchFaceOrientation.C',
+    'mesh/snappyHexMesh/meshRefinement/weightedPosition.C',
+    'mesh/snappyHexMesh/refinementFeatures/refinementFeatures.C',
+    'mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.C',
+    'mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C',
+    'mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C',
+    'mesh/snappyHexMesh/trackedParticle/trackedParticle.C',
+    'mesh/snappyHexMesh/trackedParticle/trackedParticleCloud.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/displacementMeshMoverMotionSolver.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/displacementMotionSolverMeshMover.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/zeroFixedValue/zeroFixedValuePointPatchFields.C',
+    'mesh/snappyHexMesh/externalDisplacementMeshMover/fieldSmoother/fieldSmoother.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_sampling,
+    lib_lagrangian,
+    lib_fvMotionSolvers,
+    lib_overset,
+    lib_distributed,
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'src/mesh/snappyHexMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_snappyHexMesh = library(
+    'snappyHexMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_snappyHexMesh)
+
+subdir('optimisation')
+subdir('faOptions')
+subdir('regionModels')
+subdir('regionFaModels')
+subdir('lagrangian')
+subdir('functionObjects')
+subdir('rigidBodyMeshMotion')
+subdir('sixDoFRigidBodyMotion')
+subdir('sixDoFRigidBodyState')
diff --git a/src/optimisation/adjointOptimisation/adjoint/meson.build b/src/optimisation/adjointOptimisation/adjoint/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e1b68c3757e2d120f0833b0a212e035541e7f477
--- /dev/null
+++ b/src/optimisation/adjointOptimisation/adjoint/meson.build
@@ -0,0 +1,182 @@
+srcfiles = [
+    lnInclude_hack,
+    'turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C',
+    'turbulenceModels/turbulenceModelVariables/RAS/laminar/laminar.C',
+    'turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C',
+    'turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C',
+    'turbulenceModels/turbulenceModelVariables/RAS/kEpsilon/kEpsilon.C',
+    'turbulenceModels/turbulenceModelVariables/RAS/LaunderSharmaKE/LaunderSharmaKE.C',
+    'solvers/variablesSet/variablesSet/variablesSet.C',
+    'solvers/variablesSet/incompressible/incompressibleVars.C',
+    'solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C',
+    'solvers/variablesSet/incompressibleAdjoint/incompressibleAdjointVars.C',
+    'solvers/solverControl/solverControl/solverControl.C',
+    'solvers/solverControl/SIMPLEControl/SIMPLEControl/SIMPLEControl.C',
+    'solvers/solverControl/SIMPLEControl/singleRun/SIMPLEControlSingleRun.C',
+    'solvers/solverControl/SIMPLEControl/optimisation/SIMPLEControlOpt.C',
+    'solvers/solver/solver.C',
+    'solvers/primalSolvers/primalSolver/primalSolver.C',
+    'solvers/primalSolvers/incompressible/incompressiblePrimalSolver/incompressiblePrimalSolver.C',
+    'solvers/primalSolvers/incompressible/simple/simple.C',
+    'solvers/primalSolvers/incompressible/RASTurbulenceModel/RASTurbulenceModel.C',
+    'solvers/adjointSolvers/adjointSolver/adjointSolver.C',
+    'solvers/adjointSolvers/incompressible/incompressibleAdjointSolver/incompressibleAdjointSolver.C',
+    'solvers/adjointSolvers/incompressible/adjointSimple/adjointSimple.C',
+    'solvers/adjointSolverManager/adjointSolverManager.C',
+    'ATCModel/zeroATCcells/zeroATCcells/zeroATCcells.C',
+    'ATCModel/zeroATCcells/faceCells/faceCells.C',
+    'ATCModel/zeroATCcells/pointCells/pointCells.C',
+    'ATCModel/ATCModel/ATCModel.C',
+    'ATCModel/ATCstandard/ATCstandard.C',
+    'ATCModel/ATCUaGradU/ATCUaGradU.C',
+    'ATCModel/cancelATC/cancelATC.C',
+    'objectives/objective/objective.C',
+    'objectives/incompressible/objectiveIncompressible/objectiveIncompressible.C',
+    'objectives/incompressible/objectiveForce/objectiveForce.C',
+    'objectives/incompressible/objectiveMoment/objectiveMoment.C',
+    'objectives/incompressible/objectivePtLosses/objectivePtLosses.C',
+    'objectives/incompressible/objectivePowerDissipation/objectivePowerDissipation.C',
+    'objectives/incompressible/objectivePartialVolume/objectivePartialVolume.C',
+    'objectives/incompressible/objectiveNutSqr/objectiveNutSqr.C',
+    'objectives/incompressible/objectiveFlowRate/objectiveFlowRate.C',
+    'objectives/incompressible/objectiveFlowRatePartition/objectiveFlowRatePartition.C',
+    'objectives/incompressible/objectiveUniformityPatch/objectiveUniformityPatch.C',
+    'objectives/incompressible/objectiveUniformityCellZone/objectiveUniformityCellZone.C',
+    'objectiveManager/objectiveManager/objectiveManager.C',
+    'objectiveManager/objectiveManagerIncompressible/objectiveManagerIncompressible.C',
+    'boundaryAdjointContributions/boundaryAdjointContribution/boundaryAdjointContribution.C',
+    'boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C',
+    'turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/adjointRASModel/adjointRASModel.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointInletNuaTilda/adjointInletNuaTildaFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTilda/adjointOutletNuaTildaFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldNuaTilda/adjointFarFieldNuaTildaFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar1/adjointFarFieldTMVar1FvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointFarFieldTMVar2/adjointFarFieldTMVar2FvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletNuaTildaFlux/adjointOutletNuaTildaFluxFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletFlux/adjointOutletFluxFvPatchFields.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/kaqRWallFunction/kaqRWallFunctionFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/waWallFunction/waWallFunctionFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletKa/adjointOutletKaFvPatchScalarField.C',
+    'turbulenceModels/incompressibleAdjoint/adjointRAS/derivedFvPatchFields/adjointOutletWa/adjointOutletWaFvPatchScalarField.C',
+    'adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryConditions.C',
+    'adjointBoundaryConditions/adjointInletVelocity/adjointInletVelocityFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointWallVelocity/adjointWallVelocityFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointWallVelocityLowRe/adjointWallVelocityLowReFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointRotatingWallVelocity/adjointRotatingWallVelocityFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C',
+    'adjointBoundaryConditions/adjointFarFieldPressure/adjointFarFieldPressureFvPatchScalarField.C',
+    'adjointBoundaryConditions/adjointFarFieldVelocity/adjointFarFieldVelocityFvPatchVectorField.C',
+    'adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchFields.C',
+    'adjointBoundaryConditions/adjointOutletVelocityFlux/adjointOutletVelocityFluxFvPatchVectorField.C',
+    'deltaBoundary/deltaBoundary.C',
+    'parameterization/NURBS/NURBSbasis/NURBSbasis.C',
+    'parameterization/NURBS/NURBS3DCurve/NURBS3DCurve.C',
+    'parameterization/NURBS/NURBS3DSurface/NURBS3DSurface.C',
+    'parameterization/NURBS/NURBS3DVolume/controlPointsDefinition/controlPointsDefinition/controlPointsDefinition.C',
+    'parameterization/NURBS/NURBS3DVolume/controlPointsDefinition/axisAligned/axisAligned.C',
+    'parameterization/NURBS/NURBS3DVolume/controlPointsDefinition/fromFile/fromFile.C',
+    'parameterization/NURBS/NURBS3DVolume/controlPointsDefinition/transformBox/transformBox.C',
+    'parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C',
+    'parameterization/NURBS/NURBS3DVolume/cartesian/NURBS3DVolumeCartesian.C',
+    'parameterization/NURBS/NURBS3DVolume/cylindrical/NURBS3DVolumeCylindrical.C',
+    'parameterization/NURBS/NURBS3DVolume/volBSplinesBase/volBSplinesBase.C',
+    'parameterization/Bezier/Bezier.C',
+    'dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C',
+    'dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C',
+    'dynamicMesh/motionSolver/laplacianMotionSolver/laplacianMotionSolver.C',
+    'displacementMethod/displacementMethod/displacementMethod.C',
+    'displacementMethod/displacementMethodvolumetricBSplinesMotionSolver/displacementMethodvolumetricBSplinesMotionSolver.C',
+    'displacementMethod/displacementMethoddisplacementLaplacian/displacementMethoddisplacementLaplacian.C',
+    'displacementMethod/displacementMethodvelocityLaplacian/displacementMethodvelocityLaplacian.C',
+    'displacementMethod/displacementMethodelasticityMotionSolver/displacementMethodelasticityMotionSolver.C',
+    'displacementMethod/displacementMethodlaplacianMotionSolver/displacementMethodlaplacianMotionSolver.C',
+    'interpolation/pointVolInterpolation/pointVolInterpolation.C',
+    'optimisation/adjointSensitivity/sensitivity/sensitivity.C',
+    'optimisation/adjointSensitivity/shapeSensitivitiesBase/shapeSensitivitiesBase.C',
+    'optimisation/adjointSensitivity/incompressible/adjointSensitivity/adjointSensitivityIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/shapeSensitivities/shapeSensitivitiesIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/adjointEikonalSolver/adjointEikonalSolverIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/adjointMeshMovementSolver/adjointMeshMovementSolverIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivitySurface/sensitivitySurfaceIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivitySurfacePoints/sensitivitySurfacePointsIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivityMultiple/sensitivityMultipleIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/SIBase/SIBaseIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/FIBase/FIBaseIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivityVolBSplines/sensitivityVolBSplinesIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivityVolBSplinesFI/sensitivityVolBSplinesFIIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivityBezier/sensitivityBezierIncompressible.C',
+    'optimisation/adjointSensitivity/incompressible/sensitivityBezierFI/sensitivityBezierFIIncompressible.C',
+    'optimisation/lineSearch/lineSearch/lineSearch.C',
+    'optimisation/lineSearch/ArmijoConditions/ArmijoConditions.C',
+    'optimisation/lineSearch/stepUpdate/stepUpdate/stepUpdate.C',
+    'optimisation/lineSearch/stepUpdate/bisection/bisection.C',
+    'optimisation/lineSearch/stepUpdate/quadratic/quadratic.C',
+    'optimisation/updateMethod/updateMethod/updateMethod.C',
+    'optimisation/updateMethod/constrainedOptimisationMethod/constrainedOptimisationMethod.C',
+    'optimisation/updateMethod/steepestDescent/steepestDescent.C',
+    'optimisation/updateMethod/BFGS/BFGS.C',
+    'optimisation/updateMethod/DBFGS/DBFGS.C',
+    'optimisation/updateMethod/LBFGS/LBFGS.C',
+    'optimisation/updateMethod/SR1/SR1.C',
+    'optimisation/updateMethod/conjugateGradient/conjugateGradient.C',
+    'optimisation/updateMethod/constraintProjection/constraintProjection.C',
+    'optimisation/updateMethod/SQP/SQP.C',
+    'optimisation/optMeshMovement/optMeshMovement/optMeshMovement.C',
+    'optimisation/optMeshMovement/optMeshMovementVolumetricBSplines/optMeshMovementVolumetricBSplines.C',
+    'optimisation/optMeshMovement/optMeshMovementVolumetricBSplinesExternalMotionSolver/optMeshMovementVolumetricBSplinesExternalMotionSolver.C',
+    'optimisation/optMeshMovement/optMeshMovementBezier/optMeshMovementBezier.C',
+    'optimisation/optMeshMovement/optMeshMovementNULL/optMeshMovementNULL.C',
+    'optimisation/optimisationType/incompressible/optimisationType/optimisationTypeIncompressible.C',
+    'optimisation/optimisationType/incompressible/shapeOptimisation/shapeOptimisationIncompressible.C',
+    'optimisation/optimisationManager/optimisationManager/optimisationManager.C',
+    'optimisation/optimisationManager/singleRun/singleRun.C',
+    'optimisation/optimisationManager/steadyOptimisation/steadyOptimisation.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_meshTools,
+    lib_surfMesh,
+    lib_sampling,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_fvMotionSolvers,
+    lib_dynamicMesh,
+    lib_fvOptions,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + meson.source_root() / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/optimisation/adjointOptimisation/adjoint',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_adjointOptimisation = library(
+    'adjointOptimisation',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_adjointOptimisation)
diff --git a/src/optimisation/adjointOptimisation/meson.build b/src/optimisation/adjointOptimisation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8f52f7126ce95077a8cbeffb137cf0531ef10cb6
--- /dev/null
+++ b/src/optimisation/adjointOptimisation/meson.build
@@ -0,0 +1 @@
+subdir('adjoint')
diff --git a/src/optimisation/meson.build b/src/optimisation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3e2887b9528b916cb88cab8eb822a55fa6646d06
--- /dev/null
+++ b/src/optimisation/meson.build
@@ -0,0 +1 @@
+subdir('adjointOptimisation')
diff --git a/src/overset/meson.build b/src/overset/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..989e8a6dcb1e54dd5052ad43d09af66b2191ad80
--- /dev/null
+++ b/src/overset/meson.build
@@ -0,0 +1,67 @@
+srcfiles = [
+    lnInclude_hack,
+    'cellCellStencil/cellCellStencil/cellCellStencil.C',
+    'cellCellStencil/cellVolumeWeight/cellVolumeWeightCellCellStencil.C',
+    'cellCellStencil/cellCellStencil/cellCellStencilObject.C',
+    'cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C',
+    'cellCellStencil/inverseDistance/waveMethod.C',
+    'cellCellStencil/inverseDistance/meshToMeshData.C',
+    'cellCellStencil/trackingInverseDistance/voxelMeshSearch.C',
+    'cellCellStencil/trackingInverseDistance/trackingInverseDistanceCellCellStencil.C',
+    'cellCellStencil/leastSquares/leastSquaresCellCellStencil.C',
+    'oversetFvMesh/oversetFvMeshBase.C',
+    'oversetFvMesh/dynamicOversetFvMesh/dynamicOversetFvMesh.C',
+    'oversetFvMesh/staticOversetFvMesh/staticOversetFvMesh.C',
+    'fvMeshPrimitiveLduAddressing/fvMeshPrimitiveLduAddressing.C',
+    'oversetPolyPatch/oversetPolyPatch.C',
+    'oversetPolyPatch/oversetFvPatch.C',
+    'oversetPolyPatch/oversetFvPatchFields.C',
+    'oversetPolyPatch/oversetFvsPatchFields.C',
+    'oversetPolyPatch/oversetPointPatch.C',
+    'oversetPolyPatch/oversetPointPatchFields.C',
+    'oversetAdjustPhi/oversetAdjustPhi.C',
+    'regionsToCell/regionsToCell.C',
+    'lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterface.C',
+    'lduPrimitiveProcessorInterface/GAMG/calculatedProcessorGAMGInterfaceField.C',
+    'oversetCoupledPolyPatch/oversetLduInterfaceField/oversetLduInterfaceField.C',
+    'oversetCoupledPolyPatch/oversetLduInterface/oversetLduInterface.C',
+    'oversetCoupledPolyPatch/oversetGAMGInterface/oversetGAMGInterface.C',
+    'oversetCoupledPolyPatch/oversetGAMGInterfaceField/oversetGAMGInterfaceField.C',
+    'oversetPatchPhiErr/oversetPatchPhiErr.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_blockMesh,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_sampling,
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/mesh/blockMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/overset',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_overset = library(
+    'overset',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_overset)
diff --git a/src/parallel/decompose/decompose/meson.build b/src/parallel/decompose/decompose/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..986dc3f8bfb0ca8d58382a893cadf1b7c88df8ee
--- /dev/null
+++ b/src/parallel/decompose/decompose/meson.build
@@ -0,0 +1,39 @@
+srcfiles = [
+    lnInclude_hack,
+    'decompositionInformation.C',
+    'decompositionModel.C',
+    'dimFieldDecomposer.C',
+    'fvFieldDecomposer.C',
+    'fvFieldDecomposerCache.C',
+    'pointFieldDecomposer.C',
+    'pointFieldDecomposerCache.C',
+    'lagrangianFieldDecomposer.C',
+    'lagrangianFieldDecomposerCache.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_decompositionMethods,
+    lib_lagrangian,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompose',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_decompose = library(
+    'decompose',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_decompose)
diff --git a/src/parallel/decompose/decompositionMethods/meson.build b/src/parallel/decompose/decompositionMethods/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..60aa41dc1742a1341c11e5ef28a5cb8ee22c4c9d
--- /dev/null
+++ b/src/parallel/decompose/decompositionMethods/meson.build
@@ -0,0 +1,47 @@
+srcfiles = [
+    lnInclude_hack,
+    'decompositionMethod/decompositionMethod.C',
+    'geomDecomp/geomDecomp.C',
+    'simpleGeomDecomp/simpleGeomDecomp.C',
+    'hierarchGeomDecomp/hierarchGeomDecomp.C',
+    'manualDecomp/manualDecomp.C',
+    'multiLevelDecomp/multiLevelDecomp.C',
+    'metisLikeDecomp/metisLikeDecomp.C',
+    'structuredDecomp/structuredDecomp.C',
+    'randomDecomp/randomDecomp.C',
+    'noDecomp/noDecomp.C',
+    'decompositionConstraints/decompositionConstraint/decompositionConstraint.C',
+    'decompositionConstraints/preserveBaffles/preserveBafflesConstraint.C',
+    'decompositionConstraints/preserveFaceZones/preserveFaceZonesConstraint.C',
+    'decompositionConstraints/preservePatches/preservePatchesConstraint.C',
+    'decompositionConstraints/geometric/geometricConstraint.C',
+    'decompositionConstraints/singleProcessorFaceSets/singleProcessorFaceSetsConstraint.C',
+    'decompositionConstraints/refinementHistory/refinementHistoryConstraint.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_decompositionMethods = library(
+    'decompositionMethods',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_decompositionMethods)
diff --git a/src/parallel/decompose/faDecompose/meson.build b/src/parallel/decompose/faDecompose/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0efcf81ad459f26b780c9b00363b9a1d3036bed4
--- /dev/null
+++ b/src/parallel/decompose/faDecompose/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'faFieldDecomposer.C',
+    'faFieldDecomposerCache.C',
+    'faMeshDecomposition.C',
+]
+link_with = [
+    lib_finiteArea,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/faDecompose',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/faDecompose',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_faDecompose = library(
+    'faDecompose',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_faDecompose)
diff --git a/src/parallel/decompose/kahipDecomp/meson.build b/src/parallel/decompose/kahipDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..64f01b3f54de0cb80ecd90e1cee1cb7e22ec0266
--- /dev/null
+++ b/src/parallel/decompose/kahipDecomp/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'kahipDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = [
+    kahip_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/kahipDecomp',
+    '-I' + meson.source_root() / 'src/parallel/decompose/kahipDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/kahipDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_kahipDecomp = library(
+    'kahipDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_kahipDecomp)
diff --git a/src/parallel/decompose/meson.build b/src/parallel/decompose/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2433bf2440d1cfc7e01e7e8cfcf55a949d65b404
--- /dev/null
+++ b/src/parallel/decompose/meson.build
@@ -0,0 +1,7 @@
+subdir('decompositionMethods')
+subdir('faDecompose')
+subdir('decompose')
+subdir('kahipDecomp')
+subdir('metisDecomp')
+subdir('ptscotchDecomp')
+subdir('scotchDecomp')
diff --git a/src/parallel/decompose/metisDecomp/meson.build b/src/parallel/decompose/metisDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3efe2ffa41795a6f9ded1164ae0acd175bbd5069
--- /dev/null
+++ b/src/parallel/decompose/metisDecomp/meson.build
@@ -0,0 +1,28 @@
+srcfiles = [
+    lnInclude_hack,
+    'metisDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = [
+    metis_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/metisDecomp',
+    '-I' + meson.source_root() / 'src/parallel/decompose/metisDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/metisDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_metisDecomp = library(
+    'metisDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_metisDecomp)
diff --git a/src/parallel/decompose/ptscotchDecomp/meson.build b/src/parallel/decompose/ptscotchDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..767069a143284eae7162ef475e2475808fd4e822
--- /dev/null
+++ b/src/parallel/decompose/ptscotchDecomp/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'ptscotchDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = [
+    scotch_dep,
+    ptscotch_dep,
+    ptscotcherrexit_dep,
+]
+cpp_args = [
+    '-DMPICH_SKIP_MPICXX',
+    '-DOMPI_SKIP_MPICXX',
+    '-I' + meson.source_root() / 'src/parallel/decompose/ptscotchDecomp',
+    '-I' + meson.source_root() / 'src/parallel/decompose/ptscotchDecomp',
+    '-I' + meson.source_root() / 'src/parallel/decompose/ptscotchDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/ptscotchDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_ptscotchDecomp = library(
+    'ptscotchDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_ptscotchDecomp)
diff --git a/src/parallel/decompose/scotchDecomp/meson.build b/src/parallel/decompose/scotchDecomp/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fc093abae6336366188a1c6264467e0d08d8d8ae
--- /dev/null
+++ b/src/parallel/decompose/scotchDecomp/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'scotchDecomp.C',
+]
+link_with = [
+    lib_decompositionMethods,
+]
+dependencies = [
+    scotch_dep,
+    scotcherrexit_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/decompose/scotchDecomp',
+    '-I' + meson.source_root() / 'src/parallel/decompose/scotchDecomp',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/scotchDecomp',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_scotchDecomp = library(
+    'scotchDecomp',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_scotchDecomp)
diff --git a/src/parallel/distributed/meson.build b/src/parallel/distributed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..79e53f24c4c680f9ae16be739d5103a694a30a8e
--- /dev/null
+++ b/src/parallel/distributed/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'distributedTriSurfaceMesh/distributedTriSurfaceMesh.C',
+    'patchDistMethods/exact/exactPatchDistMethod.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_distributed = library(
+    'distributed',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_distributed)
diff --git a/src/parallel/meson.build b/src/parallel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1637948b1934fd3c87509792b66aa2b7bf79ec59
--- /dev/null
+++ b/src/parallel/meson.build
@@ -0,0 +1,3 @@
+subdir('decompose')
+subdir('reconstruct')
+subdir('distributed')
diff --git a/src/parallel/reconstruct/faReconstruct/meson.build b/src/parallel/reconstruct/faReconstruct/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cfabb24f48e5a9148b959ecedfa30d7836a96d33
--- /dev/null
+++ b/src/parallel/reconstruct/faReconstruct/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'processorFaMeshes.C',
+    'faFieldReconstructor.C',
+    'faMeshReconstructor.C',
+]
+link_with = [
+    lib_finiteArea,
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/reconstruct/faReconstruct',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/faReconstruct',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_faReconstruct = library(
+    'faReconstruct',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_faReconstruct)
diff --git a/src/parallel/reconstruct/meson.build b/src/parallel/reconstruct/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a0b1daba76ffc5647d2ec0266478261b75a95198
--- /dev/null
+++ b/src/parallel/reconstruct/meson.build
@@ -0,0 +1,2 @@
+subdir('faReconstruct')
+subdir('reconstruct')
diff --git a/src/parallel/reconstruct/reconstruct/meson.build b/src/parallel/reconstruct/reconstruct/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..259f3bced42d56ae9d9b48055c4868f8708602a7
--- /dev/null
+++ b/src/parallel/reconstruct/reconstruct/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'processorMeshes.C',
+    'fvFieldReconstructor.C',
+    'pointFieldReconstructor.C',
+    'passivePositionParticleCloud.C',
+    'lagrangianReconstructor.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/parallel/reconstruct/reconstruct',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_reconstruct = library(
+    'reconstruct',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_reconstruct)
diff --git a/src/phaseSystemModels/meson.build b/src/phaseSystemModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fba204712f9ffad0c7fbc6adc377e2111ce40b47
--- /dev/null
+++ b/src/phaseSystemModels/meson.build
@@ -0,0 +1,5 @@
+subdir('multiphaseEuler')
+subdir('reactingEuler')
+subdir('twoPhaseEuler')
+subdir('twoPhaseInter')
+subdir('multiphaseInter')
diff --git a/src/phaseSystemModels/multiphaseEuler/meson.build b/src/phaseSystemModels/multiphaseEuler/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6d7edac955c66e8940433c6adfb28bfbebb87998
--- /dev/null
+++ b/src/phaseSystemModels/multiphaseEuler/meson.build
@@ -0,0 +1 @@
+subdir('multiphaseSystem')
diff --git a/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/meson.build b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0fdf1324afafe6aeefb25816363ff2a3fcf8d1c8
--- /dev/null
+++ b/src/phaseSystemModels/multiphaseEuler/multiphaseSystem/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseModel/phaseModel.C',
+    'multiphaseSystem/multiphaseSystem.C',
+    'diameterModels/diameterModel/diameterModel.C',
+    'diameterModels/constantDiameter/constantDiameter.C',
+    'diameterModels/isothermalDiameter/isothermalDiameter.C',
+    'interfacialModels/dragModels/dragModel/dragModel.C',
+    'interfacialModels/dragModels/Ergun/Ergun.C',
+    'interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C',
+    'interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C',
+    'interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C',
+    'interfacialModels/dragModels/Gibilaro/Gibilaro.C',
+    'interfacialModels/dragModels/WenYu/WenYu.C',
+    'interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C',
+    'interfacialModels/dragModels/blended/blended.C',
+    'interfacialModels/dragModels/interface/interface.C',
+    'interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C',
+    'interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C',
+    'derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_interfaceProperties,
+    lib_incompressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/multiphaseEuler/multiphaseSystem',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_multiphaseSystem = library(
+    'multiphaseSystem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_multiphaseSystem)
diff --git a/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/meson.build b/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..befc3c3eeb3502bd336eaebce6ae274e274b0601
--- /dev/null
+++ b/src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleMultiPhaseTurbulenceModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/compressibleMultiPhaseTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_compressibleMultiPhaseTurbulenceModels = library(
+    'compressibleMultiPhaseTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_compressibleMultiPhaseTurbulenceModels)
diff --git a/src/phaseSystemModels/multiphaseInter/meson.build b/src/phaseSystemModels/multiphaseInter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..eaa75b283202e010f470ef1d3c450439137e8d5d
--- /dev/null
+++ b/src/phaseSystemModels/multiphaseInter/meson.build
@@ -0,0 +1,2 @@
+subdir('compressibleMultiPhaseTurbulenceModels')
+subdir('phasesSystem')
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/meson.build b/src/phaseSystemModels/multiphaseInter/phasesSystem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0be5a03fcfb17928eb80c8f1d2aff64252eb1998
--- /dev/null
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/meson.build
@@ -0,0 +1,70 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseModel/phaseModel/phaseModel.C',
+    'phaseModel/phaseModel/phaseModels.C',
+    'phasePair/phasePair.C',
+    'phasePair/phasePairKey.C',
+    'phasePair/orderedPhasePair.C',
+    'multiphaseInterSystem/multiphaseInterSystem.C',
+    'multiphaseSystem/multiphaseSystem.C',
+    'multiphaseSystem/multiphaseSystemNew.C',
+    'multiphaseSystem/multiphaseSystems.C',
+    'interfaceCompositionModel/interfaceCompositionModel.C',
+    'InterfaceCompositionModel/InterfaceCompositionModels.C',
+    'interfaceModels/porousModels/porousModel/porousModel.C',
+    'interfaceModels/porousModels/VollerPrakash/VollerPrakash.C',
+    'interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C',
+    'interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C',
+    'derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_solidThermo,
+    lib_compressibleTransportModels,
+    lib_incompressibleTransportModels,
+    lib_geometricVoF,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermophysicalProperties,
+    lib_combustionModels,
+    lib_saturationModel,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/saturationModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_incompressibleMultiphaseSystems = library(
+    'incompressibleMultiphaseSystems',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_incompressibleMultiphaseSystems)
diff --git a/src/phaseSystemModels/reactingEuler/meson.build b/src/phaseSystemModels/reactingEuler/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d74e2d6f61cc6af91ae090c59ddc715c38e8710c
--- /dev/null
+++ b/src/phaseSystemModels/reactingEuler/meson.build
@@ -0,0 +1,4 @@
+subdir('saturationModels')
+subdir('multiphaseSystem')
+subdir('twoPhaseSystem')
+subdir('twoPhaseCompressibleTurbulenceModels')
diff --git a/src/phaseSystemModels/reactingEuler/multiphaseSystem/meson.build b/src/phaseSystemModels/reactingEuler/multiphaseSystem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1c15fdcd3831e4f33211856efa983f08eb0efeb7
--- /dev/null
+++ b/src/phaseSystemModels/reactingEuler/multiphaseSystem/meson.build
@@ -0,0 +1,198 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseModel/phaseModel/phaseModel.C',
+    'phaseModel/phaseModel/phaseModels.C',
+    'phasePair/phasePairKey.C',
+    'phasePair/phasePair.C',
+    'phasePair/orderedPhasePair.C',
+    'phaseSystem/phaseSystem.C',
+    'multiphaseSystem/multiphaseSystem.C',
+    'multiphaseSystem/multiphaseSystemNew.C',
+    'multiphaseSystem/multiphaseSystems.C',
+    'diameterModels/diameterModel/diameterModel.C',
+    'diameterModels/constantDiameter/constantDiameter.C',
+    'diameterModels/isothermalDiameter/isothermalDiameter.C',
+    'diameterModels/linearTsubDiameter/linearTsubDiameter.C',
+    'diameterModels/velocityGroup/velocityGroup.C',
+    'diameterModels/velocityGroup/sizeGroup/sizeGroup.C',
+    'populationBalanceModel/populationBalanceModel/populationBalanceModel.C',
+    'populationBalanceModel/coalescenceModels/coalescenceModel/coalescenceModel.C',
+    'populationBalanceModel/coalescenceModels/constantCoalescence/constantCoalescence.C',
+    'populationBalanceModel/coalescenceModels/CoulaloglouTavlaridesCoalescence/CoulaloglouTavlaridesCoalescence.C',
+    'populationBalanceModel/coalescenceModels/hydrodynamic/hydrodynamic.C',
+    'populationBalanceModel/coalescenceModels/LehrMilliesMewesCoalescence/LehrMilliesMewesCoalescence.C',
+    'populationBalanceModel/coalescenceModels/Luo/Luo.C',
+    'populationBalanceModel/coalescenceModels/PrinceBlanch/PrinceBlanch.C',
+    'populationBalanceModel/binaryBreakupModels/binaryBreakupModel/binaryBreakupModel.C',
+    'populationBalanceModel/binaryBreakupModels/LuoSvendsen/LuoSvendsen.C',
+    'populationBalanceModel/binaryBreakupModels/LehrMilliesMewes/LehrMilliesMewes.C',
+    'populationBalanceModel/binaryBreakupModels/powerLawUniformBinary/powerLawUniformBinary.C',
+    'populationBalanceModel/breakupModels/breakupModel/breakupModel.C',
+    'populationBalanceModel/breakupModels/exponential/exponential.C',
+    'populationBalanceModel/breakupModels/LaakkonenAlopaeusAittamaa/LaakkonenAlopaeusAittamaa.C',
+    'populationBalanceModel/breakupModels/powerLaw/powerLaw.C',
+    'populationBalanceModel/daughterSizeDistributionModels/daughterSizeDistributionModel/daughterSizeDistributionModel.C',
+    'populationBalanceModel/daughterSizeDistributionModels/uniformBinary/uniformBinary.C',
+    'populationBalanceModel/daughterSizeDistributionModels/LaakkonenAlopaeusAittamaaDsd/LaakkonenAlopaeusAittamaaDsd.C',
+    'populationBalanceModel/driftModels/driftModel/driftModel.C',
+    'populationBalanceModel/driftModels/constantDrift/constantDrift.C',
+    'populationBalanceModel/driftModels/densityChange/densityChange.C',
+    'populationBalanceModel/driftModels/phaseChange/phaseChange.C',
+    'populationBalanceModel/nucleationModels/nucleationModel/nucleationModel.C',
+    'populationBalanceModel/nucleationModels/constantNucleation/constantNucleation.C',
+    'populationBalanceModel/nucleationModels/wallBoiling/wallBoiling.C',
+    'BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C',
+    'BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C',
+    'BlendedInterfacialModel/blendingMethods/linear/linear.C',
+    'BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C',
+    'interfacialModels/wallDependentModel/wallDependentModel.C',
+    'interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C',
+    'interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C',
+    'interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C',
+    'interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C',
+    'interfacialModels/aspectRatioModels/Wellek/Wellek.C',
+    'interfacialModels/dragModels/dragModel/dragModel.C',
+    'interfacialModels/dragModels/Beetstra/Beetstra.C',
+    'interfacialModels/dragModels/segregated/segregated.C',
+    'interfacialModels/dragModels/Ergun/Ergun.C',
+    'interfacialModels/dragModels/Gibilaro/Gibilaro.C',
+    'interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C',
+    'interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C',
+    'interfacialModels/dragModels/Lain/Lain.C',
+    'interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C',
+    'interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C',
+    'interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C',
+    'interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C',
+    'interfacialModels/dragModels/Tenneti/Tenneti.C',
+    'interfacialModels/dragModels/TomiyamaKataokaZunSakaguchi/TomiyamaKataokaZunSakaguchi.C',
+    'interfacialModels/dragModels/WenYu/WenYu.C',
+    'interfacialModels/dragModels/IshiiZuber/IshiiZuber.C',
+    'interfacialModels/dragModels/AttouFerschneider/AttouFerschneider.C',
+    'interfacialModels/liftModels/liftModel/liftModel.C',
+    'interfacialModels/liftModels/noLift/noLift.C',
+    'interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C',
+    'interfacialModels/liftModels/Moraga/Moraga.C',
+    'interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C',
+    'interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C',
+    'interfacialModels/liftModels/wallDampedLift/wallDampedLift.C',
+    'interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C',
+    'interfacialModels/heatTransferModels/constantNu/constantNuHeatTransfer.C',
+    'interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C',
+    'interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C',
+    'interfacialModels/phaseTransferModels/phaseTransferModel/phaseTransferModel.C',
+    'interfacialModels/phaseTransferModels/deposition/deposition.C',
+    'interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C',
+    'interfacialModels/swarmCorrections/noSwarm/noSwarm.C',
+    'interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C',
+    'interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C',
+    'interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C',
+    'interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C',
+    'interfacialModels/turbulentDispersionModels/Burns/Burns.C',
+    'interfacialModels/turbulentDispersionModels/Gosman/Gosman.C',
+    'interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C',
+    'interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C',
+    'interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C',
+    'interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C',
+    'interfacialModels/virtualMassModels/Lamb/Lamb.C',
+    'interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.C',
+    'interfacialModels/wallDampingModels/noWallDamping/noWallDamping.C',
+    'interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C',
+    'interfacialModels/wallDampingModels/linear/linearWallDamping.C',
+    'interfacialModels/wallDampingModels/cosine/cosineWallDamping.C',
+    'interfacialModels/wallDampingModels/sine/sineWallDamping.C',
+    'interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C',
+    'interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C',
+    'interfacialModels/wallLubricationModels/Antal/Antal.C',
+    'interfacialModels/wallLubricationModels/Frank/Frank.C',
+    'interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C',
+    'interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C',
+    'interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C',
+    'interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.C',
+    'interfacialCompositionModels/massTransferModels/Frossling/Frossling.C',
+    'interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.C',
+    'interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C',
+    'interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C',
+    'derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.C',
+    'derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C',
+    'derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C',
+    'derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.C',
+    'derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.C',
+    'derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.C',
+    'derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.C',
+    'derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.C',
+    'derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.C',
+    'derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshii/KocamustafaogullariIshii.C',
+    'derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C',
+    'derivedFvPatchFields/wallBoilingSubModels/CHFModels/CHFModel/CHFModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/CHFModels/Zuber/Zuber.C',
+    'derivedFvPatchFields/wallBoilingSubModels/CHFSubCoolModels/CHFSubCoolModel/CHFSubCoolModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/CHFSubCoolModels/HuaXu/HuaXu.C',
+    'derivedFvPatchFields/wallBoilingSubModels/CHFSubCoolModels/Tatsumoto/Tatsumoto.C',
+    'derivedFvPatchFields/wallBoilingSubModels/filmBoilingModels/filmBoilingModel/filmBoilingModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/filmBoilingModels/Bromley/Bromley.C',
+    'derivedFvPatchFields/wallBoilingSubModels/filmBoilingModels/BreenWestwater/BreenWestwater.C',
+    'derivedFvPatchFields/wallBoilingSubModels/LeidenfrostModels/LeidenfrostModel/LeidenfrostModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/LeidenfrostModels/Spiegler/Spiegler.C',
+    'derivedFvPatchFields/wallBoilingSubModels/MHFModels/MHFModel/MHFModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/MHFModels/Jeschar/Jeschar.C',
+    'derivedFvPatchFields/wallBoilingSubModels/TDNBModels/TDNBModel/TDNBModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/TDNBModels/Schroeder/Schroeder.C',
+    'derivedFvPatchFields/wallBoilingSubModels/TDNBModels/Shirai/Shirai.C',
+    'derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/nucleateFluxModel/nucleateFluxModel.C',
+    'derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/Kutadeladze/Kutadeladze.C',
+    'derivedFvPatchFields/wallBoilingSubModels/nucleateFluxModels/exponential/exponential.C',
+    'turbulence/multiphaseCompressibleTurbulenceModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_combustionModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_compressibleTransportModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermophysicalProperties,
+    lib_saturationModel,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/saturationModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/transportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_reactingMultiphaseSystem = library(
+    'reactingMultiphaseSystem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_reactingMultiphaseSystem)
diff --git a/src/phaseSystemModels/reactingEuler/saturationModels/meson.build b/src/phaseSystemModels/reactingEuler/saturationModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0cada203c8a9f80c5de6e7f981c1166c9a925864
--- /dev/null
+++ b/src/phaseSystemModels/reactingEuler/saturationModels/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'saturationModel/saturationModel.C',
+    'Antoine/Antoine.C',
+    'AntoineExtended/AntoineExtended.C',
+    'ArdenBuck/ArdenBuck.C',
+    'polynomial/polynomial.C',
+    'function1/function1.C',
+    'constantSaturationConditions/constantSaturationConditions.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/reactingEuler/saturationModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/saturationModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_saturationModel = library(
+    'saturationModel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_saturationModel)
diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/meson.build b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0efb923ec07c50f73135496e37a3250f6b04f315
--- /dev/null
+++ b/src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/meson.build
@@ -0,0 +1,63 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoPhaseCompressibleTurbulenceModels.C',
+    'phasePressureModel/phasePressureModel.C',
+    'kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C',
+    'kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C',
+    'kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C',
+    'kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C',
+    'kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C',
+    'kineticTheoryModels/viscosityModel/none/noneViscosity.C',
+    'kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C',
+    'kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C',
+    'kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C',
+    'kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C',
+    'kineticTheoryModels/radialModel/radialModel/radialModel.C',
+    'kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C',
+    'kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C',
+    'kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C',
+    'kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C',
+    'kineticTheoryModels/granularPressureModel/Lun/LunPressure.C',
+    'kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C',
+    'kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C',
+    'kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C',
+    'kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C',
+    'kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C',
+    'kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C',
+    'kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_reactingMultiphaseSystem,
+    lib_reactingTwoPhaseSystem,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/transportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_twoPhaseReactingTurbulenceModels = library(
+    'twoPhaseReactingTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_twoPhaseReactingTurbulenceModels)
diff --git a/src/phaseSystemModels/reactingEuler/twoPhaseSystem/meson.build b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..14d5a359b9a729aaa9581f91da9ba96978958d63
--- /dev/null
+++ b/src/phaseSystemModels/reactingEuler/twoPhaseSystem/meson.build
@@ -0,0 +1,51 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoPhaseSystem.C',
+    'twoPhaseSystemNew.C',
+    'twoPhaseSystems.C',
+    'diameterModels/IATE/IATE.C',
+    'diameterModels/IATE/IATEsources/IATEsource/IATEsource.C',
+    'diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C',
+    'diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C',
+    'diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C',
+    'diameterModels/IATE/IATEsources/phaseChange/phaseChange.C',
+    'diameterModels/IATE/IATEsources/wallBoiling/wallBoiling.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_combustionModels,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_reactingMultiphaseSystem,
+    lib_saturationModel,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/reactingEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/multiphaseSystem',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/saturationModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/combustionModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/reactingEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_reactingTwoPhaseSystem = library(
+    'reactingTwoPhaseSystem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_reactingTwoPhaseSystem)
diff --git a/src/phaseSystemModels/twoPhaseEuler/meson.build b/src/phaseSystemModels/twoPhaseEuler/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d248b26699fe50279b0e62b776acf829f9ea7250
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseEuler/meson.build
@@ -0,0 +1,2 @@
+subdir('twoPhaseSystem')
+subdir('phaseCompressibleTurbulenceModels')
diff --git a/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/meson.build b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..607e7dc270be10ccb4730f2586f764a3c45db242
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels/meson.build
@@ -0,0 +1,65 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseCompressibleTurbulenceModels.C',
+    'phasePressureModel/phasePressureModel.C',
+    'kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C',
+    'kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C',
+    'kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C',
+    'kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C',
+    'kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C',
+    'kineticTheoryModels/viscosityModel/none/noneViscosity.C',
+    'kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C',
+    'kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C',
+    'kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C',
+    'kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C',
+    'kineticTheoryModels/radialModel/radialModel/radialModel.C',
+    'kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C',
+    'kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C',
+    'kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C',
+    'kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C',
+    'kineticTheoryModels/granularPressureModel/Lun/LunPressure.C',
+    'kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C',
+    'kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C',
+    'kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C',
+    'kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C',
+    'kineticTheoryModels/frictionalStressModel/JohnsonJacksonSchaeffer/JohnsonJacksonSchaefferFrictionalStress.C',
+    'kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C',
+    'kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTwoPhaseSystem,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/transportModel',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseEuler/phaseCompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_phaseCompressibleTurbulenceModels = library(
+    'phaseCompressibleTurbulenceModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_phaseCompressibleTurbulenceModels)
diff --git a/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/meson.build b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5b1ddb5bc120a8c3c1610e2d77dc1aaa9f64077d
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem/meson.build
@@ -0,0 +1,101 @@
+srcfiles = [
+    lnInclude_hack,
+    'phaseModel/phaseModel.C',
+    'phasePair/phasePairKey.C',
+    'phasePair/phasePair.C',
+    'phasePair/orderedPhasePair.C',
+    'twoPhaseSystem/twoPhaseSystem.C',
+    'diameterModels/diameterModel/diameterModel.C',
+    'diameterModels/constantDiameter/constantDiameter.C',
+    'diameterModels/isothermalDiameter/isothermalDiameter.C',
+    'diameterModels/IATE/IATE.C',
+    'diameterModels/IATE/IATEsources/IATEsource/IATEsource.C',
+    'diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C',
+    'diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C',
+    'diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C',
+    'BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C',
+    'BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C',
+    'BlendedInterfacialModel/blendingMethods/linear/linear.C',
+    'BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C',
+    'interfacialModels/wallDependentModel/wallDependentModel.C',
+    'interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C',
+    'interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C',
+    'interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C',
+    'interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C',
+    'interfacialModels/aspectRatioModels/Wellek/Wellek.C',
+    'interfacialModels/dragModels/dragModel/dragModel.C',
+    'interfacialModels/dragModels/segregated/segregated.C',
+    'interfacialModels/dragModels/Ergun/Ergun.C',
+    'interfacialModels/dragModels/Gibilaro/Gibilaro.C',
+    'interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C',
+    'interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C',
+    'interfacialModels/dragModels/Lain/Lain.C',
+    'interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C',
+    'interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C',
+    'interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C',
+    'interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C',
+    'interfacialModels/dragModels/WenYu/WenYu.C',
+    'interfacialModels/dragModels/IshiiZuber/IshiiZuber.C',
+    'interfacialModels/liftModels/liftModel/liftModel.C',
+    'interfacialModels/liftModels/noLift/noLift.C',
+    'interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C',
+    'interfacialModels/liftModels/Moraga/Moraga.C',
+    'interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C',
+    'interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C',
+    'interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C',
+    'interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C',
+    'interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C',
+    'interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C',
+    'interfacialModels/swarmCorrections/noSwarm/noSwarm.C',
+    'interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C',
+    'interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C',
+    'interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C',
+    'interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C',
+    'interfacialModels/turbulentDispersionModels/Burns/Burns.C',
+    'interfacialModels/turbulentDispersionModels/Gosman/Gosman.C',
+    'interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C',
+    'interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C',
+    'interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C',
+    'interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C',
+    'interfacialModels/virtualMassModels/Lamb/Lamb.C',
+    'interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C',
+    'interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C',
+    'interfacialModels/wallLubricationModels/Antal/Antal.C',
+    'interfacialModels/wallLubricationModels/Frank/Frank.C',
+    'interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C',
+    'turbulence/phaseCompressibleTurbulenceModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseCompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseEuler/twoPhaseSystem',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_compressibleTwoPhaseSystem = library(
+    'compressibleTwoPhaseSystem',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_compressibleTwoPhaseSystem)
diff --git a/src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels/meson.build b/src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b758c10918affd389e6dbcff1f9a4e3c0747c2a5
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels/meson.build
@@ -0,0 +1,36 @@
+srcfiles = [
+    lnInclude_hack,
+    'VoFphaseTurbulentTransportModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_VoFphaseTurbulentTransportModels = library(
+    'VoFphaseTurbulentTransportModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_VoFphaseTurbulentTransportModels)
diff --git a/src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel/meson.build b/src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..622b53ad22d7eff7cb08b8f1a703b6cbf94af349
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel/meson.build
@@ -0,0 +1,40 @@
+srcfiles = [
+    lnInclude_hack,
+    'incompressibleInterPhaseTransportModels.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_incompressibleTransportModels,
+    lib_turbulenceModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/VoFphaseIncompressibleTurbulenceModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/phaseIncompressible',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/twoPhaseInter/incompressibleInterPhaseTransportModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_incompressibleInterPhaseTransportModels = library(
+    'incompressibleInterPhaseTransportModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_incompressibleInterPhaseTransportModels)
diff --git a/src/phaseSystemModels/twoPhaseInter/meson.build b/src/phaseSystemModels/twoPhaseInter/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..03ed19bf7c0fd74241a373a8319d1d21c8acd753
--- /dev/null
+++ b/src/phaseSystemModels/twoPhaseInter/meson.build
@@ -0,0 +1,2 @@
+subdir('VoFphaseIncompressibleTurbulenceModels')
+subdir('incompressibleInterPhaseTransportModel')
diff --git a/src/randomProcesses/meson.build b/src/randomProcesses/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..08d641f50cdc2b185d760aa40c8c15ca94b4bf7a
--- /dev/null
+++ b/src/randomProcesses/meson.build
@@ -0,0 +1,50 @@
+srcfiles = [
+    lnInclude_hack,
+    'Kmesh/Kmesh.C',
+    'fft/fft.C',
+    'fft/calcEk.C',
+    'fft/kShellIntegration.C',
+    'processes/UOprocess/UOprocess.C',
+    'turbulence/turbGen.C',
+    'noise/noiseFFT/noiseFFT.C',
+    'noise/noiseModels/noiseModel/noiseModel.C',
+    'noise/noiseModels/noiseModel/noiseModelNew.C',
+    'noise/noiseModels/pointNoise/pointNoise.C',
+    'noise/noiseModels/surfaceNoise/surfaceNoise.C',
+    'windowModels/windowModel/windowModel.C',
+    'windowModels/windowModel/windowModelNew.C',
+    'windowModels/Hanning/Hanning.C',
+    'windowModels/uniform/uniform.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_surfMesh,
+    lib_sampling,
+]
+dependencies = [
+    fftw3_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + meson.source_root() / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/randomProcesses',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_randomProcesses = library(
+    'randomProcesses',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_randomProcesses)
diff --git a/src/regionFaModels/meson.build b/src/regionFaModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1bc4ee29a5ae66b0adb1c223d9d5af16444c1954
--- /dev/null
+++ b/src/regionFaModels/meson.build
@@ -0,0 +1,77 @@
+srcfiles = [
+    lnInclude_hack,
+    'regionFaModel/regionFaModel.C',
+    'thermalShellModel/thermalShellModel.C',
+    'thermalShellModel/thermalShellModelNew.C',
+    'vibrationShellModel/vibrationShellModel.C',
+    'vibrationShellModel/vibrationShellModelNew.C',
+    'thermalShell/thermalShell.C',
+    'KirchhoffShell/KirchhoffShell.C',
+    'derivedFvPatchFields/thermalShell/thermalShellFvPatchScalarField.C',
+    'derivedFvPatchFields/vibrationShell/vibrationShellFvPatchScalarField.C',
+    'liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C',
+    'liquidFilm/subModels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C',
+    'liquidFilm/subModels/kinematic/filmTurbulenceModel/laminar/laminar.C',
+    'liquidFilm/subModels/kinematic/injectionModel/injectionModelList/injectionModelList.C',
+    'liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModel.C',
+    'liquidFilm/subModels/kinematic/injectionModel/injectionModel/injectionModelNew.C',
+    'liquidFilm/subModels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C',
+    'liquidFilm/subModels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C',
+    'liquidFilm/subModels/kinematic/force/forceList/forceList.C',
+    'liquidFilm/subModels/kinematic/force/force/force.C',
+    'liquidFilm/subModels/kinematic/force/force/forceNew.C',
+    'liquidFilm/subModels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C',
+    'liquidFilm/subModels/kinematic/force/contactAngleForces/dynamicContactAngleForce/dynamicContactAngleForce.C',
+    'liquidFilm/subModels/filmSubModelBase.C',
+    'liquidFilm/liquidFilmBase.C',
+    'liquidFilm/liquidFilmBaseNew.C',
+    'liquidFilm/liquidFilmModel/liquidFilmModel.C',
+    'liquidFilm/kinematicThinFilm/kinematicThinFilm.C',
+    'derivedFvPatchFields/filmShell/velocityFilmShellFvPatchVectorField.C',
+    'functionObjects/setTimeStep/setTimeStepFaRegionsFunctionObject.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_finiteArea,
+    lib_meshTools,
+    lib_fluidThermophysicalModels,
+    lib_incompressibleTransportModels,
+    lib_compressibleTransportModels,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermophysicalProperties,
+    lib_specie,
+    lib_faOptions,
+    lib_distributionModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/faOptions',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/finiteArea',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/regionFaModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_regionFaModels = library(
+    'regionFaModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_regionFaModels)
diff --git a/src/regionModels/meson.build b/src/regionModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..023ea741f3a3c613489dbddb4d2e6e0c6f984e6f
--- /dev/null
+++ b/src/regionModels/meson.build
@@ -0,0 +1,5 @@
+subdir('regionModel')
+subdir('pyrolysisModels')
+subdir('surfaceFilmModels')
+subdir('thermalBaffleModels')
+subdir('regionCoupling')
diff --git a/src/regionModels/pyrolysisModels/meson.build b/src/regionModels/pyrolysisModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6a30403aa86586dfd789480290ec106052216a18
--- /dev/null
+++ b/src/regionModels/pyrolysisModels/meson.build
@@ -0,0 +1,52 @@
+srcfiles = [
+    lnInclude_hack,
+    'pyrolysisModel/pyrolysisModel.C',
+    'pyrolysisModel/pyrolysisModelNew.C',
+    'reactingOneDim/reactingOneDim.C',
+    'noPyrolysis/noPyrolysis.C',
+    'thermo/thermo.C',
+    'pyrolysisModel/pyrolysisModelCollection.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_chemistryModel,
+    lib_specie,
+    lib_fluidThermophysicalModels,
+    lib_solidChemistryModel,
+    lib_solidThermo,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_regionModels,
+    lib_radiationModels,
+    lib_reactionThermophysicalModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/pyrolysisModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidChemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/pyrolysisModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_pyrolysisModels = library(
+    'pyrolysisModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_pyrolysisModels)
diff --git a/src/regionModels/regionCoupling/meson.build b/src/regionModels/regionCoupling/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6775e5b07a4e078b96ae3b7c40e79538036c7e20
--- /dev/null
+++ b/src/regionModels/regionCoupling/meson.build
@@ -0,0 +1,55 @@
+srcfiles = [
+    lnInclude_hack,
+    'derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C',
+    'derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C',
+    'derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_regionModels,
+    lib_pyrolysisModels,
+    lib_surfaceFilmModels,
+    lib_solidChemistryModel,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/regionCoupling',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidChemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermoTools',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/pyrolysisModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionCoupling',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_regionCoupling = library(
+    'regionCoupling',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_regionCoupling)
diff --git a/src/regionModels/regionModel/meson.build b/src/regionModels/regionModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..60d93c069e3412bae98bef0396d23a2c86ae9194
--- /dev/null
+++ b/src/regionModels/regionModel/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'regionModel/regionModel.C',
+    'singleLayerRegion/singleLayerRegion.C',
+    'regionModel1D/regionModel1D.C',
+    'derivedFvPatches/mappedVariableThicknessWall/mappedVariableThicknessWallFvPatch.C',
+    'regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObject.C',
+    'regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C',
+    'regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectList.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_regionModels = library(
+    'regionModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_regionModels)
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/meson.build b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..f9b98de904e775162981fd3b7e8f787949fa71d0
--- /dev/null
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/meson.build
@@ -0,0 +1 @@
+subdir('wallFunctions')
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/meson.build b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..985d3de5f3beaff52d36c5f8d4eaac43f818eacb
--- /dev/null
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/meson.build
@@ -0,0 +1,48 @@
+srcfiles = [
+    lnInclude_hack,
+    'alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C',
+    'nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_regionModels,
+    lib_surfaceFilmModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_surfaceFilmDerivedFvPatchFields = library(
+    'surfaceFilmDerivedFvPatchFields',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_surfaceFilmDerivedFvPatchFields)
diff --git a/src/regionModels/surfaceFilmModels/meson.build b/src/regionModels/surfaceFilmModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cc34efc8a5d759930e2be923bd689430c0f655e1
--- /dev/null
+++ b/src/regionModels/surfaceFilmModels/meson.build
@@ -0,0 +1,104 @@
+srcfiles = [
+    lnInclude_hack,
+    'surfaceFilmModel/surfaceFilmModel.C',
+    'surfaceFilmModel/surfaceFilmModelNew.C',
+    'surfaceFilmRegionModel/surfaceFilmRegionModel.C',
+    'noFilm/noFilm.C',
+    'kinematicSingleLayer/kinematicSingleLayer.C',
+    'thermoSingleLayer/thermoSingleLayer.C',
+    'submodels/filmSubModelBase.C',
+    'submodels/kinematic/force/force/force.C',
+    'submodels/kinematic/force/force/forceNew.C',
+    'submodels/kinematic/force/forceList/forceList.C',
+    'submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C',
+    'submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C',
+    'submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C',
+    'submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C',
+    'submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C',
+    'submodels/kinematic/injectionModel/injectionModel/injectionModel.C',
+    'submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C',
+    'submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C',
+    'submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C',
+    'submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C',
+    'submodels/kinematic/injectionModel/patchInjection/patchInjection.C',
+    'submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C',
+    'submodels/kinematic/transferModels/transferModel/transferModel.C',
+    'submodels/kinematic/transferModels/transferModel/transferModelNew.C',
+    'submodels/kinematic/transferModels/transferModelList/transferModelList.C',
+    'submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.C',
+    'submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C',
+    'submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C',
+    'submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C',
+    'submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C',
+    'submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C',
+    'submodels/kinematic/filmTurbulenceModel/laminar/laminar.C',
+    'submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C',
+    'submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C',
+    'submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C',
+    'submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C',
+    'submodels/thermo/phaseChangeModel/solidification/solidification.C',
+    'submodels/thermo/phaseChangeModel/waxSolventEvaporation/waxSolventEvaporation.C',
+    'submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.C',
+    'submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C',
+    'submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C',
+    'submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.C',
+    'submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.C',
+    'submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C',
+    'submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C',
+    'submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C',
+    'submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C',
+    'submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C',
+    'submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.C',
+    'submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C',
+    'submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.C',
+    'submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.C',
+    'submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C',
+    'submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.C',
+    'submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.C',
+    'submodels/thermo/filmViscosityModel/waxSolventViscosity/waxSolventViscosity.C',
+    'derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.C',
+    'derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C',
+    'derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C',
+    'functionObjects/filmFlux/filmFlux.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+    lib_SLGThermo,
+    lib_distributionModels,
+    lib_regionModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/lagrangian/distributionModels',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/surfaceFilmModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_surfaceFilmModels = library(
+    'surfaceFilmModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_surfaceFilmModels)
+
+subdir('derivedFvPatchFields')
diff --git a/src/regionModels/thermalBaffleModels/meson.build b/src/regionModels/thermalBaffleModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..262cdbc91456ba3ca7bf5d5b18c72c02ecc085c6
--- /dev/null
+++ b/src/regionModels/thermalBaffleModels/meson.build
@@ -0,0 +1,49 @@
+srcfiles = [
+    lnInclude_hack,
+    'thermalBaffleModel/thermalBaffleModel.C',
+    'thermalBaffleModel/thermalBaffleModelNew.C',
+    'thermalBaffle/thermalBaffle.C',
+    'noThermo/noThermo.C',
+    'derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_regionModels,
+    lib_solidThermo,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_thermoTools,
+    lib_radiationModels,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/regionModels/thermalBaffleModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/regionModels/regionModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermoTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/mesh/extrudeModel',
+    '-I' + recursive_include_dirs / 'src/regionModels/thermalBaffleModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_thermalBaffleModels = library(
+    'thermalBaffleModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_thermalBaffleModels)
diff --git a/src/renumber/SloanRenumber/meson.build b/src/renumber/SloanRenumber/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..cb18ddb133da57d8a9364d38350a0863aa8ee15a
--- /dev/null
+++ b/src/renumber/SloanRenumber/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'SloanRenumber.C',
+]
+link_with = [
+    lib_meshTools,
+    lib_decompositionMethods,
+    lib_renumberMethods,
+]
+dependencies = [
+    boost_system_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'src/renumber/SloanRenumber',
+    '-I' + meson.source_root() / 'src/renumber/SloanRenumber',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/renumber/renumberMethods',
+    '-I' + recursive_include_dirs / 'src/renumber/SloanRenumber',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_SloanRenumber = library(
+    'SloanRenumber',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_SloanRenumber)
diff --git a/src/renumber/meson.build b/src/renumber/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3ef455da05df9e13269bf0626d858e2e61fcb79a
--- /dev/null
+++ b/src/renumber/meson.build
@@ -0,0 +1,3 @@
+subdir('renumberMethods')
+subdir('zoltanRenumber')
+subdir('SloanRenumber')
diff --git a/src/renumber/renumberMethods/meson.build b/src/renumber/renumberMethods/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..9bd2285e5e34e1293532c68a556155fb40889ecb
--- /dev/null
+++ b/src/renumber/renumberMethods/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'renumberMethod/renumberMethod.C',
+    'manualRenumber/manualRenumber.C',
+    'CuthillMcKeeRenumber/CuthillMcKeeRenumber.C',
+    'randomRenumber/randomRenumber.C',
+    'springRenumber/springRenumber.C',
+    'structuredRenumber/structuredRenumber.C',
+    'structuredRenumber/OppositeFaceCellWaveBase.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_decompositionMethods,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/renumber/renumberMethods',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/parallel/decompose/decompositionMethods',
+    '-I' + recursive_include_dirs / 'src/renumber/renumberMethods',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_renumberMethods = library(
+    'renumberMethods',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_renumberMethods)
diff --git a/src/renumber/zoltanRenumber/meson.build b/src/renumber/zoltanRenumber/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..76dadf74c2f9e6ecfdaad92e8f880280a8439934
--- /dev/null
+++ b/src/renumber/zoltanRenumber/meson.build
@@ -0,0 +1,31 @@
+srcfiles = [
+    lnInclude_hack,
+    'zoltanRenumber.C',
+]
+link_with = [
+    lib_meshTools,
+]
+dependencies = [
+    zoltan_dep,
+]
+cpp_args = [
+    '-DMPICH_SKIP_MPICXX',
+    '-DOMPI_SKIP_MPICXX',
+    '-I' + meson.source_root() / 'src/renumber/zoltanRenumber',
+    '-I' + meson.source_root() / 'src/renumber/zoltanRenumber',
+    '-I' + recursive_include_dirs / 'src/renumber/renumberMethods',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/renumber/zoltanRenumber',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_zoltanRenumber = library(
+    'zoltanRenumber',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_zoltanRenumber)
diff --git a/src/rigidBodyDynamics/meson.build b/src/rigidBodyDynamics/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6d533b86a12a98f306eadf2dc9694fb08ad9b1b4
--- /dev/null
+++ b/src/rigidBodyDynamics/meson.build
@@ -0,0 +1,65 @@
+srcfiles = [
+    lnInclude_hack,
+    'bodies/rigidBody/rigidBody.C',
+    'bodies/masslessBody/masslessBody.C',
+    'bodies/jointBody/jointBody.C',
+    'bodies/compositeBody/compositeBody.C',
+    'bodies/subBody/subBody.C',
+    'bodies/sphere/sphere.C',
+    'bodies/cuboid/cuboid.C',
+    'joints/joint/joint.C',
+    'joints/null/nullJoint.C',
+    'joints/composite/compositeJoint.C',
+    'joints/floating/floatingJoint.C',
+    'joints/Rx/Rx.C',
+    'joints/Ry/Ry.C',
+    'joints/Rz/Rz.C',
+    'joints/Ra/Ra.C',
+    'joints/Rs/Rs.C',
+    'joints/Rzyx/Rzyx.C',
+    'joints/Rxyz/Rxyz.C',
+    'joints/Ryxz/Ryxz.C',
+    'joints/Px/Px.C',
+    'joints/Py/Py.C',
+    'joints/Pz/Pz.C',
+    'joints/Pa/Pa.C',
+    'joints/Pxyz/Pxyz.C',
+    'restraints/restraint/rigidBodyRestraint.C',
+    'restraints/restraint/rigidBodyRestraintNew.C',
+    'restraints/linearSpring/linearSpring.C',
+    'restraints/linearDamper/linearDamper.C',
+    'restraints/linearAxialAngularSpring/linearAxialAngularSpring.C',
+    'restraints/sphericalAngularDamper/sphericalAngularDamper.C',
+    'restraints/prescribedRotation/prescribedRotation.C',
+    'restraints/externalForce/externalForce.C',
+    'restraints/softWall/softWall.C',
+    'rigidBodyModel/rigidBodyModel.C',
+    'rigidBodyModel/forwardDynamics.C',
+    'rigidBodyModelState/rigidBodyModelState.C',
+    'rigidBodyModelState/rigidBodyModelStateIO.C',
+    'rigidBodyMotion/rigidBodyMotion.C',
+    'rigidBodyMotion/rigidBodyMotionIO.C',
+    'rigidBodySolvers/rigidBodySolver/rigidBodySolver.C',
+    'rigidBodySolvers/rigidBodySolver/rigidBodySolverNew.C',
+    'rigidBodySolvers/symplectic/symplectic.C',
+    'rigidBodySolvers/Newmark/Newmark.C',
+    'rigidBodySolvers/CrankNicolson/CrankNicolson.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_rigidBodyDynamics = library(
+    'rigidBodyDynamics',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_rigidBodyDynamics)
diff --git a/src/rigidBodyMeshMotion/meson.build b/src/rigidBodyMeshMotion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..638850af6f0beeaf7c67db379535a4a5c13deb93
--- /dev/null
+++ b/src/rigidBodyMeshMotion/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'rigidBodyMeshMotion/rigidBodyMeshMotion.C',
+    'rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_rigidBodyDynamics,
+    lib_forces,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/rigidBodyMeshMotion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/rigidBodyDynamics',
+    '-I' + recursive_include_dirs / 'src/functionObjects/forces',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/rigidBodyMeshMotion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_rigidBodyMeshMotion = library(
+    'rigidBodyMeshMotion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_rigidBodyMeshMotion)
diff --git a/src/sampling/meson.build b/src/sampling/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..934aa8e51b67c2aa7844a592674dfc29529aea80
--- /dev/null
+++ b/src/sampling/meson.build
@@ -0,0 +1,99 @@
+srcfiles = [
+    lnInclude_hack,
+    'probes/probes.C',
+    'probes/patchProbes.C',
+    'sampledSet/circle/circleSet.C',
+    'sampledSet/cloud/cloudSet.C',
+    'sampledSet/patchCloud/patchCloudSet.C',
+    'sampledSet/polyLine/polyLineSet.C',
+    'sampledSet/cellCentre/cellCentreSet.C',
+    'sampledSet/face/faceOnlySet.C',
+    'sampledSet/midPoint/midPointSet.C',
+    'sampledSet/midPointAndFace/midPointAndFaceSet.C',
+    'sampledSet/patchSeed/patchSeedSet.C',
+    'sampledSet/patchEdge/patchEdgeSet.C',
+    'sampledSet/sampledSet/sampledSet.C',
+    'sampledSet/sampledSets/sampledSets.C',
+    'sampledSet/triSurfaceMeshPointSet/triSurfaceMeshPointSet.C',
+    'sampledSet/uniform/uniformSet.C',
+    'sampledSet/array/arraySet.C',
+    'sampledSet/shortestPath/shortestPathSet.C',
+    'surface/cutting/cuttingPlane.C',
+    'surface/cutting/cuttingPlaneCuts.C',
+    'surface/cutting/cuttingPlaneSelection.C',
+    'surface/cutting/cuttingSurface.C',
+    'surface/cutting/cuttingSurfaceCuts.C',
+    'surface/cutting/cuttingSurfaceBase.C',
+    'surface/cutting/cuttingSurfaceBaseSelection.C',
+    'surface/distanceSurface/distanceSurface.C',
+    'surface/distanceSurface/distanceSurfaceFilter.C',
+    'surface/isoSurface/isoSurfaceBase.C',
+    'surface/isoSurface/isoSurfaceBaseNew.C',
+    'surface/isoSurface/isoSurfaceParams.C',
+    'surface/isoSurface/isoSurfaceCell.C',
+    'surface/isoSurface/isoSurfacePoint.C',
+    'surface/isoSurface/isoSurfaceTopo.C',
+    'surface/thresholdCellFaces/thresholdCellFaces.C',
+    'sampledSurface/sampledNone/sampledNone.C',
+    'sampledSurface/sampledFaceZone/sampledFaceZone.C',
+    'sampledSurface/sampledPatch/sampledPatch.C',
+    'sampledSurface/sampledPatchInternalField/sampledPatchInternalField.C',
+    'sampledSurface/sampledPlane/sampledPlane.C',
+    'sampledSurface/isoSurface/sampledIsoSurface.C',
+    'sampledSurface/isoSurface/sampledIsoSurfaceCell.C',
+    'sampledSurface/isoSurface/sampledIsoSurfacePoint.C',
+    'sampledSurface/isoSurface/sampledIsoSurfaceTopo.C',
+    'sampledSurface/distanceSurface/sampledDistanceSurface.C',
+    'sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C',
+    'sampledSurface/sampledCuttingSurface/sampledCuttingSurface.C',
+    'sampledSurface/sampledMeshedSurface/sampledMeshedSurface.C',
+    'sampledSurface/sampledMeshedSurface/sampledMeshedSurfaceNormal.C',
+    'sampledSurface/sampledSurface/sampledSurface.C',
+    'sampledSurface/sampledSurface/sampledSurfaceRegister.C',
+    'sampledSurface/sampledSurfaces/sampledSurfaces.C',
+    'sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C',
+    'graphField/writePatchGraph.C',
+    'graphField/writeCellGraph.C',
+    'graphField/makeGraph.C',
+    'meshToMesh/meshToMesh.C',
+    'meshToMesh/meshToMeshParallelOps.C',
+    'meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethod.C',
+    'meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C',
+    'meshToMesh/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C',
+    'meshToMesh/calcMethod/correctedCellVolumeWeight/correctedCellVolumeWeightMethod.C',
+    'meshToMesh/calcMethod/direct/directMethod.C',
+    'meshToMesh/calcMethod/mapNearest/mapNearestMethod.C',
+    'meshToMesh0/meshToMesh0.C',
+    'meshToMesh0/calculateMeshToMesh0Addressing.C',
+    'meshToMesh0/calculateMeshToMesh0Weights.C',
+    'functions/Function1/makeFunction1s.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_lagrangian,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/lagrangian/basic',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_sampling = library(
+    'sampling',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_sampling)
diff --git a/src/sixDoFRigidBodyMotion/meson.build b/src/sixDoFRigidBodyMotion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4844446afc9d2ba4d5f8d517fd8dfb311d37fa50
--- /dev/null
+++ b/src/sixDoFRigidBodyMotion/meson.build
@@ -0,0 +1,60 @@
+srcfiles = [
+    lnInclude_hack,
+    'sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C',
+    'sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C',
+    'sixDoFRigidBodyMotion/sixDoFRigidBodyMotionState.C',
+    'sixDoFRigidBodyMotion/sixDoFRigidBodyMotionStateIO.C',
+    'sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraint.C',
+    'sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C',
+    'sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C',
+    'sixDoFRigidBodyMotion/restraints/linearSpring/linearSpring.C',
+    'sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C',
+    'sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C',
+    'sixDoFRigidBodyMotion/restraints/linearDamper/linearDamper.C',
+    'sixDoFRigidBodyMotion/restraints/sphericalAngularDamper/sphericalAngularDamper.C',
+    'sixDoFRigidBodyMotion/restraints/linearSpringDamper/linearSpringDamper.C',
+    'sixDoFRigidBodyMotion/restraints/softWall/softWall.C',
+    'sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraint.C',
+    'sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C',
+    'sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C',
+    'sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C',
+    'sixDoFRigidBodyMotion/constraints/orientation/sixDoFRigidBodyMotionOrientationConstraint.C',
+    'sixDoFRigidBodyMotion/constraints/plane/sixDoFRigidBodyMotionPlaneConstraint.C',
+    'sixDoFRigidBodyMotion/constraints/point/sixDoFRigidBodyMotionPointConstraint.C',
+    'pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C',
+    'pointPatchFields/derived/uncoupledSixDoFRigidBodyDisplacement/uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.C',
+    'sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C',
+    'sixDoFSolvers/sixDoFSolver/sixDoFSolver.C',
+    'sixDoFSolvers/sixDoFSolver/sixDoFSolverNew.C',
+    'sixDoFSolvers/symplectic/symplectic.C',
+    'sixDoFSolvers/CrankNicolson/CrankNicolson.C',
+    'sixDoFSolvers/Newmark/Newmark.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_forces,
+    lib_dynamicMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/sixDoFRigidBodyMotion',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/functionObjects/forces',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/sixDoFRigidBodyMotion',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_sixDoFRigidBodyMotion = library(
+    'sixDoFRigidBodyMotion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_sixDoFRigidBodyMotion)
diff --git a/src/sixDoFRigidBodyState/meson.build b/src/sixDoFRigidBodyState/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3ee980afd4eeec977f256315ae262bd43aec529d
--- /dev/null
+++ b/src/sixDoFRigidBodyState/meson.build
@@ -0,0 +1,32 @@
+srcfiles = [
+    lnInclude_hack,
+    'sixDoFRigidBodyState.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_dynamicFvMesh,
+    lib_sixDoFRigidBodyMotion,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/sixDoFRigidBodyState',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/sixDoFRigidBodyMotion',
+    '-I' + recursive_include_dirs / 'src/sixDoFRigidBodyState',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_sixDoFRigidBodyState = library(
+    'sixDoFRigidBodyState',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_sixDoFRigidBodyState)
diff --git a/src/surfMesh/meson.build b/src/surfMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..225b306ea287cd3fc3f5058736b3bdd83f0e7b22
--- /dev/null
+++ b/src/surfMesh/meson.build
@@ -0,0 +1,89 @@
+srcfiles = [
+    lnInclude_hack,
+    'MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.C',
+    'MeshedSurface/MeshedSurfaceCore.C',
+    'MeshedSurface/MeshedSurfaces.C',
+    'UnsortedMeshedSurface/UnsortedMeshedSurfaces.C',
+    'MeshedSurfaceProxy/MeshedSurfaceProxys.C',
+    'mergedSurf/mergedSurf.C',
+    'polySurface/polySurface.C',
+    'polySurface/polySurfaceClear.C',
+    'polySurface/polySurfaceIO.C',
+    'polySurface/fields/polySurfaceFields.C',
+    'surfaceRegistry/surfaceRegistry.C',
+    'surfMesh/surfMesh.C',
+    'surfMesh/surfMeshClear.C',
+    'surfMesh/surfMeshIO.C',
+    'surfMesh/fields/surfFields.C',
+    'surfZone/surfZone.C',
+    'surfZone/surfZoneIOList.C',
+    'surfaceFormats/surfaceFormatsCore.C',
+    'surfaceFormats/abaqus/ABAQUSsurfaceFormatCore.C',
+    'surfaceFormats/abaqus/ABAQUSsurfaceFormatRunTime.C',
+    'surfaceFormats/ac3d/AC3DsurfaceFormatCore.C',
+    'surfaceFormats/ac3d/AC3DsurfaceFormatRunTime.C',
+    'surfaceFormats/fire/FLMAsurfaceFormatRunTime.C',
+    'surfaceFormats/gts/GTSsurfaceFormatRunTime.C',
+    'surfaceFormats/gts/triSurfaceGTSformat.C',
+    'surfaceFormats/nas/NASsurfaceFormatRunTime.C',
+    'surfaceFormats/obj/OBJsurfaceFormatRunTime.C',
+    'surfaceFormats/off/OFFsurfaceFormatRunTime.C',
+    'surfaceFormats/smesh/SMESHsurfaceFormatRunTime.C',
+    'surfaceFormats/starcd/STARCDsurfaceFormatCore.C',
+    'surfaceFormats/starcd/STARCDsurfaceFormatRunTime.C',
+    'surfaceFormats/stl/STLsurfaceFormatRunTime.C',
+    'surfaceFormats/stl/triSurfaceSTLformat.C',
+    'surfaceFormats/tri/TRIReader.C',
+    'surfaceFormats/tri/TRIsurfaceFormatRunTime.C',
+    'surfaceFormats/vtk/VTKsurfaceFormatCore.C',
+    'surfaceFormats/vtk/VTKsurfaceFormatRunTime.C',
+    'surfaceFormats/vtp/VTPsurfaceFormatCore.C',
+    'surfaceFormats/vtp/VTPsurfaceFormatRunTime.C',
+    'surfaceFormats/x3d/X3DsurfaceFormatCore.C',
+    'surfaceFormats/x3d/X3DsurfaceFormatRunTime.C',
+    'triSurface/triSurface.C',
+    'triSurface/triSurfaceIO.C',
+    'triSurface/triSurfaceNew.C',
+    'triSurface/triSurfaceAddressing.C',
+    'triSurface/triSurfaceStitch.C',
+    'triSurface/fields/triSurfaceFields.C',
+    'triSurface/patches/surfacePatch.C',
+    'readers/common/surfaceReader.C',
+    'readers/boundary/boundaryDataSurfaceReader.C',
+    'readers/ensight/ensightSurfaceReader.C',
+    'writers/common/surfaceWriter.C',
+    'writers/abaqus/abaqusSurfaceWriter.C',
+    'writers/boundary/boundaryDataSurfaceWriter.C',
+    'writers/debug/debugSurfaceWriter.C',
+    'writers/ensight/ensightSurfaceWriter.C',
+    'writers/foam/foamSurfaceWriter.C',
+    'writers/nastran/nastranSurfaceWriter.C',
+    'writers/null/nullSurfaceWriter.C',
+    'writers/proxy/proxySurfaceWriter.C',
+    'writers/raw/rawSurfaceWriter.C',
+    'writers/starcd/starcdSurfaceWriter.C',
+    'writers/vtk/vtkSurfaceWriter.C',
+    'writers/x3d/x3dSurfaceWriter.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_fileFormats,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_surfMesh = library(
+    'surfMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_surfMesh)
diff --git a/src/thermoTools/meson.build b/src/thermoTools/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..5dc1fada5da609112add41b651a8192e12535aed
--- /dev/null
+++ b/src/thermoTools/meson.build
@@ -0,0 +1,66 @@
+srcfiles = [
+    lnInclude_hack,
+    'derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleMassFraction/semiPermeableBaffleMassFractionFvPatchScalarField.C',
+    'derivedFvPatchFields/semiPermeableBaffle/semiPermeableBaffleVelocity/semiPermeableBaffleVelocityFvPatchVectorField.C',
+    'derivedFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C',
+    'derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C',
+    'derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C',
+    'derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C',
+    'derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C',
+    'derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C',
+    'derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C',
+    'derivedFvPatchFields/outletMappedUniformInletHeatAddition/outletMappedUniformInletHeatAdditionFvPatchField.C',
+    'derivedFvPatchFields/outletMachNumberPressure/outletMachNumberPressureFvPatchScalarField.C',
+    'derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C',
+    'derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C',
+    'derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C',
+    'derivedFvPatchFields/lumpedMassWallTemperature/lumpedMassWallTemperatureFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C',
+    'derivedFvPatchFields/wallFunctions/sorptionWallFunction/sorptionWallFunctionFvPatchScalarField.C',
+]
+link_with = [
+    lib_compressibleTransportModels,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_radiationModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_solidThermo,
+    lib_solidSpecie,
+    lib_specie,
+    lib_turbulenceModels,
+    lib_compressibleTurbulenceModels,
+    lib_reactionThermophysicalModels,
+    lib_incompressibleMultiphaseSystems,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermoTools',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/phaseSystemModels/multiphaseInter/phasesSystem',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/compressible',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/thermoTools',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_thermoTools = library(
+    'thermoTools',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_thermoTools)
diff --git a/src/thermophysicalModels/SLGThermo/meson.build b/src/thermophysicalModels/SLGThermo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..6861d6990ef3adec48718a4ed7f491624064c1cf
--- /dev/null
+++ b/src/thermophysicalModels/SLGThermo/meson.build
@@ -0,0 +1,34 @@
+srcfiles = [
+    lnInclude_hack,
+    'SLGThermo/SLGThermo.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_reactionThermophysicalModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_SLGThermo = library(
+    'SLGThermo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_SLGThermo)
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/meson.build b/src/thermophysicalModels/barotropicCompressibilityModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..a510c7cb0be32daa3ff28be73867f642f81dd72a
--- /dev/null
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'barotropicCompressibilityModel/barotropicCompressibilityModel.C',
+    'barotropicCompressibilityModel/barotropicCompressibilityModelNew.C',
+    'linear/linear.C',
+    'Wallis/Wallis.C',
+    'Chung/Chung.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/barotropicCompressibilityModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/barotropicCompressibilityModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_barotropicCompressibilityModel = library(
+    'barotropicCompressibilityModel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_barotropicCompressibilityModel)
diff --git a/src/thermophysicalModels/basic/meson.build b/src/thermophysicalModels/basic/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fe4608942d5db635b99f98ebb53fac51781e9244
--- /dev/null
+++ b/src/thermophysicalModels/basic/meson.build
@@ -0,0 +1,46 @@
+srcfiles = [
+    lnInclude_hack,
+    'basicThermo/basicThermo.C',
+    'fluidThermo/fluidThermo.C',
+    'psiThermo/psiThermo.C',
+    'psiThermo/psiThermos.C',
+    'psiThermo/psiZoneThermos.C',
+    'rhoThermo/rhoThermo.C',
+    'rhoThermo/rhoThermos.C',
+    'rhoThermo/liquidThermo.C',
+    'rhoThermo/rhoZoneThermos.C',
+    'derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.C',
+    'derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.C',
+    'derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.C',
+    'derivedFvPatchFields/energyJump/energyJump/energyJumpFvPatchScalarField.C',
+    'derivedFvPatchFields/energyJump/energyJumpAMI/energyJumpAMIFvPatchScalarField.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_fluidThermophysicalModels = library(
+    'fluidThermophysicalModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_fluidThermophysicalModels)
diff --git a/src/thermophysicalModels/chemistryModel/meson.build b/src/thermophysicalModels/chemistryModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..34bc795c99399879144881f4630cecba10059059
--- /dev/null
+++ b/src/thermophysicalModels/chemistryModel/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'chemistryModel/basicChemistryModel/basicChemistryModel.C',
+    'chemistryModel/BasicChemistryModel/BasicChemistryModels.C',
+    'chemistryModel/TDACChemistryModel/reduction/makeChemistryReductionMethods.C',
+    'chemistryModel/TDACChemistryModel/tabulation/makeChemistryTabulationMethods.C',
+    'chemistrySolver/chemistrySolver/makeChemistrySolvers.C',
+    'functionObjects/specieReactionRates/specieReactionRates.C',
+    'functionObjects/BilgerMixtureFraction/BilgerMixtureFraction.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_ODE,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_specie,
+    lib_thermophysicalProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_chemistryModel = library(
+    'chemistryModel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_chemistryModel)
diff --git a/src/thermophysicalModels/laminarFlameSpeed/meson.build b/src/thermophysicalModels/laminarFlameSpeed/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..30e9797889c645457ad36e0e49d062f8fa71d69e
--- /dev/null
+++ b/src/thermophysicalModels/laminarFlameSpeed/meson.build
@@ -0,0 +1,35 @@
+srcfiles = [
+    lnInclude_hack,
+    'laminarFlameSpeed/laminarFlameSpeed.C',
+    'laminarFlameSpeed/laminarFlameSpeedNew.C',
+    'constant/constant.C',
+    'Gulders/Gulders.C',
+    'GuldersEGR/GuldersEGR.C',
+    'RaviPetersen/RaviPetersen.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_compressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/laminarFlameSpeed',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_laminarFlameSpeedModels = library(
+    'laminarFlameSpeedModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_laminarFlameSpeedModels)
diff --git a/src/thermophysicalModels/meson.build b/src/thermophysicalModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..257c8e1cb75d4ed9cd676f4194887ad9186348b4
--- /dev/null
+++ b/src/thermophysicalModels/meson.build
@@ -0,0 +1,12 @@
+subdir('barotropicCompressibilityModel')
+subdir('specie')
+subdir('laminarFlameSpeed')
+subdir('solidSpecie')
+subdir('thermophysicalProperties')
+subdir('basic')
+subdir('reactionThermo')
+subdir('SLGThermo')
+subdir('chemistryModel')
+subdir('solidThermo')
+subdir('radiation')
+subdir('solidChemistryModel')
diff --git a/src/thermophysicalModels/radiation/meson.build b/src/thermophysicalModels/radiation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c575c866771ff74bb460467cc20b6c635edfc2b1
--- /dev/null
+++ b/src/thermophysicalModels/radiation/meson.build
@@ -0,0 +1,99 @@
+srcfiles = [
+    lnInclude_hack,
+    'radiationModels/radiationModel/radiationModel.C',
+    'radiationModels/radiationModel/radiationModelNew.C',
+    'radiationModels/noRadiation/noRadiation.C',
+    'radiationModels/P1/P1.C',
+    'radiationModels/fvDOM/fvDOM/fvDOM.C',
+    'radiationModels/fvDOM/radiativeIntensityRay/radiativeIntensityRay.C',
+    'radiationModels/fvDOM/blackBodyEmission/blackBodyEmission.C',
+    'radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C',
+    'radiationModels/viewFactor/viewFactor.C',
+    'radiationModels/opaqueSolid/opaqueSolid.C',
+    'radiationModels/solarLoad/solarLoad.C',
+    'radiationModels/solarLoad/faceShading/faceShading.C',
+    'radiationModels/solarLoad/faceReflecting/faceReflecting.C',
+    'radiationModels/solarLoad/solarLoadBase.C',
+    'submodels/scatterModel/scatterModel/scatterModel.C',
+    'submodels/scatterModel/scatterModel/scatterModelNew.C',
+    'submodels/scatterModel/noScatter/noScatter.C',
+    'submodels/scatterModel/constantScatter/constantScatter.C',
+    'submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModel.C',
+    'submodels/wallTransmissivityModel/wallTransmissivityModel/wallTransmissivityModelNew.C',
+    'submodels/wallTransmissivityModel/constantTransmissivity/constantTransmissivity.C',
+    'submodels/wallTransmissivityModel/multiBandTransmissivity/multiBandTransmissivity.C',
+    'submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel.C',
+    'submodels/wallAbsorptionEmissionModel/wallAbsorptionEmissionModel/wallAbsorptionEmissionModelNew.C',
+    'submodels/wallAbsorptionEmissionModel/multiBandAbsorption/multiBandAbsorption.C',
+    'submodels/wallAbsorptionEmissionModel/constantAbsorption/constantAbsorption.C',
+    'submodels/wallAbsorptionEmissionModel/solidAbsorption/solidAbsorption.C',
+    'submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModel.C',
+    'submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C',
+    'submodels/absorptionEmissionModel/noAbsorptionEmission/noAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/constantAbsorptionEmission/constantAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/binaryAbsorptionEmission/binaryAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/multiBandAbsorptionEmission/multiBandAbsorptionEmission.C',
+    'submodels/absorptionEmissionModel/multiBandZoneAbsorptionEmission/multiBandZoneAbsorptionEmission.C',
+    'submodels/boundaryRadiationProperties/boundaryRadiationProperties.C',
+    'submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.C',
+    'submodels/boundaryRadiationProperties/transparent/transparent.C',
+    'submodels/boundaryRadiationProperties/lookup/lookup.C',
+    'submodels/boundaryRadiationProperties/opaqueDiffusive/opaqueDiffusive.C',
+    'submodels/boundaryRadiationProperties/opaqueReflective/opaqueReflective.C',
+    'submodels/sootModel/sootModel/sootModel.C',
+    'submodels/sootModel/sootModel/sootModelNew.C',
+    'submodels/sootModel/mixtureFractionSoot/mixtureFractionSoots.C',
+    'submodels/sootModel/noSoot/noSoot.C',
+    'submodels/solarCalculator/solarCalculator.C',
+    'derivedFvPatchFields/MarshakRadiation/MarshakRadiationFvPatchScalarField.C',
+    'derivedFvPatchFields/MarshakRadiationFixedTemperature/MarshakRadiationFixedTemperatureFvPatchScalarField.C',
+    'derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C',
+    'derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C',
+    'derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C',
+    'fvOptions/radiation/radiation.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_solidThermo,
+    lib_SLGThermo,
+    lib_thermophysicalProperties,
+    lib_distributed,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/SLGThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/parallel/distributed',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/radiation',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_radiationModels = library(
+    'radiationModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_radiationModels)
diff --git a/src/thermophysicalModels/reactionThermo/meson.build b/src/thermophysicalModels/reactionThermo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e77c6667a436001983f855b8557584b07ab74cd5
--- /dev/null
+++ b/src/thermophysicalModels/reactionThermo/meson.build
@@ -0,0 +1,56 @@
+srcfiles = [
+    lnInclude_hack,
+    flexgen.process('chemistryReaders/chemkinReader/chemkinLexer.L'),
+    'chemistryReaders/chemkinReader/chemkinReader.C',
+    'chemistryReaders/chemistryReader/makeChemistryReaders.C',
+    'mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C',
+    'mixtures/basicSpecieMixture/basicSpecieMixture.C',
+    'mixtures/basicCombustionMixture/basicCombustionMixture.C',
+    'psiReactionThermo/psiReactionThermo.C',
+    'psiReactionThermo/psiReactionThermos.C',
+    'psiuReactionThermo/psiuReactionThermo.C',
+    'psiuReactionThermo/psiuReactionThermos.C',
+    'rhoReactionThermo/rhoReactionThermo.C',
+    'rhoReactionThermo/rhoReactionThermos.C',
+    'derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.C',
+    'derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.C',
+    'derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.C',
+    'derivedFvPatchFields/speciesSorption/speciesSorptionFvPatchScalarField.C',
+    'derivedFvPatchFields/enthalpySorption/enthalpySorptionFvPatchScalarField.C',
+    'derivedFvPatchFields/boundarySourcePatch/boundarySourcePatch.C',
+    'functionObjects/moleFractions/moleFractionsFunctionObjects.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_compressibleTransportModels,
+    lib_fluidThermophysicalModels,
+    lib_specie,
+    lib_solidSpecie,
+    lib_thermophysicalProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/functionObjects/field',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_reactionThermophysicalModels = library(
+    'reactionThermophysicalModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_reactionThermophysicalModels)
diff --git a/src/thermophysicalModels/solidChemistryModel/meson.build b/src/thermophysicalModels/solidChemistryModel/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ad188edc7858b50c0f9ff208ceb8549abc0ac60a
--- /dev/null
+++ b/src/thermophysicalModels/solidChemistryModel/meson.build
@@ -0,0 +1,45 @@
+srcfiles = [
+    lnInclude_hack,
+    'basicSolidChemistryModel/basicSolidChemistryModel.C',
+    'basicSolidChemistryModel/basicSolidChemistryModelNew.C',
+    'basicSolidChemistryModel/basicSolidChemistryModels.C',
+    'solidChemistrySolver/makeSolidChemistrySolvers.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_ODE,
+    lib_specie,
+    lib_chemistryModel,
+    lib_fluidThermophysicalModels,
+    lib_solidThermo,
+    lib_reactionThermophysicalModels,
+    lib_compressibleTransportModels,
+    lib_thermophysicalProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/solidChemistryModel',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/ODE',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/chemistryModel',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidChemistryModel',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_solidChemistryModel = library(
+    'solidChemistryModel',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_solidChemistryModel)
diff --git a/src/thermophysicalModels/solidSpecie/meson.build b/src/thermophysicalModels/solidSpecie/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3d1cdcd128c88580feda992be61d80b2cca216d3
--- /dev/null
+++ b/src/thermophysicalModels/solidSpecie/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'reaction/reactions/makeSolidReactions.C',
+]
+link_with = [
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_solidSpecie = library(
+    'solidSpecie',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_solidSpecie)
diff --git a/src/thermophysicalModels/solidThermo/meson.build b/src/thermophysicalModels/solidThermo/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..90f795e7f1a044c3d9c56c2d61104ee5bbcc683a
--- /dev/null
+++ b/src/thermophysicalModels/solidThermo/meson.build
@@ -0,0 +1,43 @@
+srcfiles = [
+    lnInclude_hack,
+    'solidThermo/solidThermo.C',
+    'solidThermo/solidThermos.C',
+    'solidReactionThermo/solidReactionThermo.C',
+    'solidReactionThermo/solidReactionThermos.C',
+    'solidThermo/heZoneSolidThermos.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_specie,
+    lib_solidSpecie,
+    lib_fluidThermophysicalModels,
+    lib_reactionThermophysicalModels,
+    lib_thermophysicalProperties,
+    lib_compressibleTransportModels,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/basic',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidSpecie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/reactionThermo',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/solidThermo',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_solidThermo = library(
+    'solidThermo',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_solidThermo)
diff --git a/src/thermophysicalModels/specie/meson.build b/src/thermophysicalModels/specie/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0e787f81e7f924dafdfc4aad92a06c130d308941
--- /dev/null
+++ b/src/thermophysicalModels/specie/meson.build
@@ -0,0 +1,26 @@
+srcfiles = [
+    lnInclude_hack,
+    'atomicWeights/atomicWeights.C',
+    'specie/specie.C',
+    'reaction/reactions/makeReactions.C',
+    'reaction/reactions/makeLangmuirHinshelwoodReactions.C',
+]
+link_with = []
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_specie = library(
+    'specie',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_specie)
diff --git a/src/thermophysicalModels/thermophysicalProperties/meson.build b/src/thermophysicalModels/thermophysicalProperties/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..274cf1a0eba46d757a467dfab8e3f9705ddb20ad
--- /dev/null
+++ b/src/thermophysicalModels/thermophysicalProperties/meson.build
@@ -0,0 +1,77 @@
+srcfiles = [
+    lnInclude_hack,
+    'thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc0/NSRDSfunc0.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc1/NSRDSfunc1.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc2/NSRDSfunc2.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc3/NSRDSfunc3.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc4/NSRDSfunc4.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc5/NSRDSfunc5.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc6/NSRDSfunc6.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc7/NSRDSfunc7.C',
+    'thermophysicalFunctions/NSRDSfunctions/NSRDSfunc14/NSRDSfunc14.C',
+    'thermophysicalFunctions/APIfunctions/APIdiffCoefFunc/APIdiffCoefFunc.C',
+    'thermophysicalFunctions/nonUniformTable/nonUniformTableThermophysicalFunction.C',
+    'thermophysicalFunctions/integratedNonUniformTable/integratedNonUniformTableThermophysicalFunction.C',
+    'thermophysicalProperties/thermophysicalProperties.C',
+    'liquidProperties/liquidProperties/liquidProperties.C',
+    'liquidProperties/liquidMixtureProperties/liquidMixtureProperties.C',
+    'liquidProperties/liquid/liquid.C',
+    'liquidProperties/H2O/H2O.C',
+    'liquidProperties/C7H16/C7H16.C',
+    'liquidProperties/C12H26/C12H26.C',
+    'liquidProperties/C10H22/C10H22.C',
+    'liquidProperties/C8H18/C8H18.C',
+    'liquidProperties/IC8H18/IC8H18.C',
+    'liquidProperties/C4H10O/C4H10O.C',
+    'liquidProperties/C2H6O/C2H6O.C',
+    'liquidProperties/IDEA/IDEA.C',
+    'liquidProperties/aC10H7CH3/aC10H7CH3.C',
+    'liquidProperties/bC10H7CH3/bC10H7CH3.C',
+    'liquidProperties/C8H10/C8H10.C',
+    'liquidProperties/C16H34/C16H34.C',
+    'liquidProperties/C9H20/C9H20.C',
+    'liquidProperties/C6H6/C6H6.C',
+    'liquidProperties/C7H8/C7H8.C',
+    'liquidProperties/C6H14/C6H14.C',
+    'liquidProperties/C13H28/C13H28.C',
+    'liquidProperties/C14H30/C14H30.C',
+    'liquidProperties/C3H8/C3H8.C',
+    'liquidProperties/C3H6O/C3H6O.C',
+    'liquidProperties/C2H6/C2H6.C',
+    'liquidProperties/CH3OH/CH3OH.C',
+    'liquidProperties/C2H5OH/C2H5OH.C',
+    'liquidProperties/Ar/Ar.C',
+    'liquidProperties/N2/N2.C',
+    'liquidProperties/MB/MB.C',
+    'liquidProperties/CH4N2O/CH4N2O.C',
+    'liquidProperties/nC3H8O/nC3H8O.C',
+    'liquidProperties/iC3H8O/iC3H8O.C',
+    'solidProperties/solidProperties/solidProperties.C',
+    'solidProperties/solidProperties/solidPropertiesNew.C',
+    'solidProperties/solidMixtureProperties/solidMixtureProperties.C',
+    'solidProperties/ash/ash.C',
+    'solidProperties/C/C.C',
+    'solidProperties/CaCO3/CaCO3.C',
+]
+link_with = [
+    lib_specie,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/specie',
+    '-I' + recursive_include_dirs / 'src/thermophysicalModels/thermophysicalProperties',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_thermophysicalProperties = library(
+    'thermophysicalProperties',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_thermophysicalProperties)
diff --git a/src/topoChangerFvMesh/meson.build b/src/topoChangerFvMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..ef22d70413ec7afdc6734c511414a64f1f4a78c6
--- /dev/null
+++ b/src/topoChangerFvMesh/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'topoChangerFvMesh/topoChangerFvMesh.C',
+    'rawTopoChangerFvMesh/rawTopoChangerFvMesh.C',
+    'dynamicMotionSolverTopoFvMesh/dynamicMotionSolverTopoFvMesh.C',
+    'movingConeTopoFvMesh/movingConeTopoFvMesh.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/topoChangerFvMesh',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/topoChangerFvMesh',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_topoChangerFvMesh = library(
+    'topoChangerFvMesh',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_topoChangerFvMesh)
diff --git a/src/transportModels/compressible/meson.build b/src/transportModels/compressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..d8fdcfe1a6bf995bfe9a60bde9c088be83352084
--- /dev/null
+++ b/src/transportModels/compressible/meson.build
@@ -0,0 +1,25 @@
+srcfiles = [
+    lnInclude_hack,
+    'compressibleTransportModel/compressibleTransportModel.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/compressible',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_compressibleTransportModels = library(
+    'compressibleTransportModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_compressibleTransportModels)
diff --git a/src/transportModels/geometricVoF/meson.build b/src/transportModels/geometricVoF/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c37554cd2917e33361c5e81cffec5b0c569e5235
--- /dev/null
+++ b/src/transportModels/geometricVoF/meson.build
@@ -0,0 +1,55 @@
+srcfiles = [
+    lnInclude_hack,
+    'cellCuts/cutCell/cutCell.C',
+    'cellCuts/cutCell/cutCellPLIC.C',
+    'cellCuts/cutCell/cutCellIso.C',
+    'cellCuts/cutFace/cutFace.C',
+    'cellCuts/cutFace/cutFacePLIC.C',
+    'cellCuts/cutFace/cutFaceAdvect.C',
+    'cellCuts/cutFace/cutFaceIso.C',
+    'surfaceIterators/surfaceIteratorPLIC.C',
+    'surfaceIterators/surfaceIteratorIso.C',
+    'reconstructedDistanceFunction/reconstructedDistanceFunction.C',
+    'reconstructionSchemes/reconstructionSchemesNew.C',
+    'reconstructionSchemes/reconstructionSchemes.C',
+    'reconstructionSchemes/isoSchemes/isoAlpha/isoAlpha.C',
+    'reconstructionSchemes/plicSchemes/gradAlpha/gradAlpha.C',
+    'reconstructionSchemes/plicSchemes/plicRDF/plicRDF.C',
+    'advectionSchemes/isoAdvection/isoAdvection.C',
+    'sampledInterface/sampledInterface.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_surfMesh,
+    lib_meshTools,
+    lib_sampling,
+    lib_dynamicMesh,
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/surfMesh',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/sampling',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/geometricVoF',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_geometricVoF = library(
+    'geometricVoF',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_geometricVoF)
diff --git a/src/transportModels/immiscibleIncompressibleTwoPhaseMixture/meson.build b/src/transportModels/immiscibleIncompressibleTwoPhaseMixture/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..087c2f68641bf90e18292e34c0467a4bdb7c9a1a
--- /dev/null
+++ b/src/transportModels/immiscibleIncompressibleTwoPhaseMixture/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'immiscibleIncompressibleTwoPhaseMixture.C',
+]
+link_with = [
+    lib_twoPhaseMixture,
+    lib_twoPhaseProperties,
+    lib_incompressibleTransportModels,
+    lib_interfaceProperties,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/immiscibleIncompressibleTwoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_immiscibleIncompressibleTwoPhaseMixture = library(
+    'immiscibleIncompressibleTwoPhaseMixture',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_immiscibleIncompressibleTwoPhaseMixture)
diff --git a/src/transportModels/incompressible/meson.build b/src/transportModels/incompressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..e77ad5778086f6bffe4c18f77dfbd1d3b86222c9
--- /dev/null
+++ b/src/transportModels/incompressible/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'viscosityModels/viscosityModel/viscosityModel.C',
+    'viscosityModels/viscosityModel/viscosityModelNew.C',
+    'viscosityModels/Newtonian/Newtonian.C',
+    'viscosityModels/powerLaw/powerLaw.C',
+    'viscosityModels/CrossPowerLaw/CrossPowerLaw.C',
+    'viscosityModels/BirdCarreau/BirdCarreau.C',
+    'viscosityModels/HerschelBulkley/HerschelBulkley.C',
+    'viscosityModels/Casson/Casson.C',
+    'viscosityModels/strainRateFunction/strainRateFunction.C',
+    'viscosityModels/Arrhenius/Arrheniuss.C',
+    'transportModel/transportModel.C',
+    'singlePhaseTransportModel/singlePhaseTransportModel.C',
+    'incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C',
+]
+link_with = [
+    lib_twoPhaseMixture,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/transportModels/incompressible',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_incompressibleTransportModels = library(
+    'incompressibleTransportModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_incompressibleTransportModels)
diff --git a/src/transportModels/interfaceProperties/meson.build b/src/transportModels/interfaceProperties/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b737946743505b5f5501a1c5b9f25e5d0686b814
--- /dev/null
+++ b/src/transportModels/interfaceProperties/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'interfaceProperties.C',
+    'interfaceCompression/interfaceCompression.C',
+    'alphaContactAngle/alphaContactAngleTwoPhaseFvPatchScalarField.C',
+    'surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C',
+    'surfaceTensionModels/surfaceTensionModel/surfaceTensionModelNew.C',
+    'surfaceTensionModels/constant/constantSurfaceTension.C',
+    'surfaceTensionModels/temperatureDependent/temperatureDependentSurfaceTension.C',
+]
+link_with = [
+    lib_twoPhaseMixture,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_interfaceProperties = library(
+    'interfaceProperties',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_interfaceProperties)
diff --git a/src/transportModels/meson.build b/src/transportModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..2ead51f9423e8d90e0be2968a17f567a6f86ab49
--- /dev/null
+++ b/src/transportModels/meson.build
@@ -0,0 +1,7 @@
+subdir('compressible')
+subdir('twoPhaseMixture')
+subdir('incompressible')
+subdir('interfaceProperties')
+subdir('twoPhaseProperties')
+subdir('geometricVoF')
+subdir('immiscibleIncompressibleTwoPhaseMixture')
diff --git a/src/transportModels/twoPhaseMixture/meson.build b/src/transportModels/twoPhaseMixture/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4495cd9590581f8f63f35802f3439d3957b21524
--- /dev/null
+++ b/src/transportModels/twoPhaseMixture/meson.build
@@ -0,0 +1,25 @@
+srcfiles = [
+    lnInclude_hack,
+    'twoPhaseMixture/twoPhaseMixture.C',
+]
+link_with = [
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_twoPhaseMixture = library(
+    'twoPhaseMixture',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_twoPhaseMixture)
diff --git a/src/transportModels/twoPhaseProperties/meson.build b/src/transportModels/twoPhaseProperties/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..8366b62c663fbf32ce7e05b56314614738d4fa6e
--- /dev/null
+++ b/src/transportModels/twoPhaseProperties/meson.build
@@ -0,0 +1,33 @@
+srcfiles = [
+    lnInclude_hack,
+    'alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C',
+    'alphaContactAngle/temperatureDependentAlphaContactAngle/temperatureDependentAlphaContactAngleFvPatchScalarField.C',
+    'alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C',
+    'alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C',
+    'alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C',
+]
+link_with = [
+    lib_twoPhaseMixture,
+    lib_interfaceProperties,
+    lib_finiteVolume,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/transportModels/twoPhaseProperties',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseMixture',
+    '-I' + recursive_include_dirs / 'src/transportModels/interfaceProperties',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/transportModels/twoPhaseProperties',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_twoPhaseProperties = library(
+    'twoPhaseProperties',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_twoPhaseProperties)
diff --git a/src/waveModels/meson.build b/src/waveModels/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b500a9ad858a24214f2899a4565fb95c6cc7de87
--- /dev/null
+++ b/src/waveModels/meson.build
@@ -0,0 +1,50 @@
+srcfiles = [
+    lnInclude_hack,
+    'waveModel/waveModel.C',
+    'waveModel/waveModelNew.C',
+    'waveGenerationModels/base/waveGenerationModel/waveGenerationModel.C',
+    'waveGenerationModels/base/irregularWaveModel/irregularWaveModel.C',
+    'waveGenerationModels/base/regularWaveModel/regularWaveModel.C',
+    'waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.C',
+    'waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.C',
+    'waveGenerationModels/derived/cnoidal/cnoidalWaveModel.C',
+    'waveGenerationModels/derived/Grimshaw/GrimshawWaveModel.C',
+    'waveGenerationModels/derived/McCowan/McCowanWaveModel.C',
+    'waveGenerationModels/derived/streamFunction/streamFunctionWaveModel.C',
+    'waveGenerationModels/derived/StokesII/StokesIIWaveModel.C',
+    'waveGenerationModels/derived/StokesI/StokesIWaveModel.C',
+    'waveGenerationModels/derived/StokesV/StokesVWaveModel.C',
+    'waveGenerationModels/derived/irregularMultiDirectional/irregularMultiDirectionalWaveModel.C',
+    'waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.C',
+    'waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.C',
+    'derivedFvPatchFields/waveVelocity/waveVelocityFvPatchVectorField.C',
+    'derivedFvPatchFields/waveAlpha/waveAlphaFvPatchScalarField.C',
+    'derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.C',
+    'fvOptions/multiphaseMangrovesSource/multiphaseMangrovesSource.C',
+    'fvOptions/multiphaseMangrovesTurbulenceModel/multiphaseMangrovesTurbulenceModel.C',
+]
+link_with = [
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_fvOptions,
+]
+dependencies = []
+cpp_args = [
+    '-I' + meson.source_root() / 'src/waveModels',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/fvOptions',
+    '-I' + recursive_include_dirs / 'src/waveModels',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+lib_waveModels = library(
+    'waveModels',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+)
+pkg.generate(lib_waveModels)
diff --git a/tutorials/incompressible/lumpedPointMotion/bridge/code/meson.build b/tutorials/incompressible/lumpedPointMotion/bridge/code/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bc7a12947a772a3c164de6d8059f3c214957b19f
--- /dev/null
+++ b/tutorials/incompressible/lumpedPointMotion/bridge/code/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'polynomial-motion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_lumpedPointMotion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/incompressible/lumpedPointMotion/bridge/code',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'tutorials/incompressible/lumpedPointMotion/bridge/code',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_polynomial_motion = executable(
+    'polynomial_motion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/incompressible/lumpedPointMotion/bridge/meson.build b/tutorials/incompressible/lumpedPointMotion/bridge/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4967d165fac93e927b9cf5917c8cb760e80b2f07
--- /dev/null
+++ b/tutorials/incompressible/lumpedPointMotion/bridge/meson.build
@@ -0,0 +1 @@
+subdir('code')
diff --git a/tutorials/incompressible/lumpedPointMotion/building/code/meson.build b/tutorials/incompressible/lumpedPointMotion/building/code/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4e3e9681a74184184356158449b841d4312b7431
--- /dev/null
+++ b/tutorials/incompressible/lumpedPointMotion/building/code/meson.build
@@ -0,0 +1,37 @@
+srcfiles = [
+    lnInclude_hack,
+    'building-motion.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_lumpedPointMotion,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/incompressible/lumpedPointMotion/building/code',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/lumpedPointMotion',
+    '-I' + recursive_include_dirs / 'tutorials/incompressible/lumpedPointMotion/building/code',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_building_motion = executable(
+    'building_motion',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/incompressible/lumpedPointMotion/building/meson.build b/tutorials/incompressible/lumpedPointMotion/building/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4967d165fac93e927b9cf5917c8cb760e80b2f07
--- /dev/null
+++ b/tutorials/incompressible/lumpedPointMotion/building/meson.build
@@ -0,0 +1 @@
+subdir('code')
diff --git a/tutorials/incompressible/lumpedPointMotion/meson.build b/tutorials/incompressible/lumpedPointMotion/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..1d5e5ae029e0101cc6b5c72394442fc6e15f00b5
--- /dev/null
+++ b/tutorials/incompressible/lumpedPointMotion/meson.build
@@ -0,0 +1,2 @@
+subdir('bridge')
+subdir('building')
diff --git a/tutorials/incompressible/meson.build b/tutorials/incompressible/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..76958366786afe2ad24df05a8d07b845ebb2fa9e
--- /dev/null
+++ b/tutorials/incompressible/meson.build
@@ -0,0 +1,2 @@
+subdir('lumpedPointMotion')
+subdir('pimpleFoam')
diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/makePerturbation/meson.build b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/makePerturbation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..739e9800d3d31016949c33380913e97d7187d0cf
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/makePerturbation/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'makePerturbation.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_fvMotionSolvers,
+    lib_interfaceTrackingFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/makePerturbation',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/dynamicFaMesh/interfaceTrackingFvMesh',
+    '-I' + recursive_include_dirs / 'tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/makePerturbation',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_makePerturbation = executable(
+    'makePerturbation',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/meson.build b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..371a27369ab902a3cbd164746795517b3fbefacb
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/contaminatedDroplet2D/meson.build
@@ -0,0 +1 @@
+subdir('makePerturbation')
diff --git a/tutorials/incompressible/pimpleFoam/laminar/meson.build b/tutorials/incompressible/pimpleFoam/laminar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c396b91471fa8ca9d32c618cf50eef096a332f78
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/meson.build
@@ -0,0 +1,3 @@
+subdir('contaminatedDroplet2D')
+subdir('planarPoiseuille')
+subdir('sloshing2D')
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/meson.build b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..fc662f1c5905546ea88315ae2ce49aa1c1f17471
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/meson.build
@@ -0,0 +1 @@
+subdir('validation')
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/meson.build b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..c0bc3695d37d3aa7a8409ba0a02b56c6fa3a129a
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/meson.build
@@ -0,0 +1,38 @@
+srcfiles = [
+    lnInclude_hack,
+    'WatersKing.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_meshTools,
+    lib_turbulenceModels,
+    lib_incompressibleTurbulenceModels,
+    lib_incompressibleTransportModels,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/turbulenceModels',
+    '-I' + recursive_include_dirs / 'src/TurbulenceModels/incompressible',
+    '-I' + meson.source_root() / 'src/transportModels',
+    '-I' + meson.source_root() / 'src/transportModels/incompressible/singlePhaseTransportModel',
+    '-I' + recursive_include_dirs / 'tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_WatersKing = executable(
+    'WatersKing',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/meson.build b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..141c694df39783c8505b0d346db3cb5a191446e1
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/meson.build
@@ -0,0 +1 @@
+subdir('WatersKing')
diff --git a/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/makeWave/meson.build b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/makeWave/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..54e77f5d3cb206d8e60488f10ce153b3da23c575
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/makeWave/meson.build
@@ -0,0 +1,41 @@
+srcfiles = [
+    lnInclude_hack,
+    'makeWave.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+    lib_fileFormats,
+    lib_meshTools,
+    lib_dynamicMesh,
+    lib_dynamicFvMesh,
+    lib_fvMotionSolvers,
+    lib_interfaceTrackingFvMesh,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/incompressible/pimpleFoam/laminar/sloshing2D/makeWave',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'src/fileFormats',
+    '-I' + recursive_include_dirs / 'src/meshTools',
+    '-I' + recursive_include_dirs / 'src/dynamicMesh',
+    '-I' + recursive_include_dirs / 'src/dynamicFvMesh',
+    '-I' + recursive_include_dirs / 'src/fvMotionSolver',
+    '-I' + recursive_include_dirs / 'src/dynamicFaMesh/interfaceTrackingFvMesh',
+    '-I' + recursive_include_dirs / 'tutorials/incompressible/pimpleFoam/laminar/sloshing2D/makeWave',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_makeWave = executable(
+    'makeWave',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/meson.build b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..0054fb30b80183ead5073e620399c9e353257cab
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/sloshing2D/meson.build
@@ -0,0 +1 @@
+subdir('makeWave')
diff --git a/tutorials/incompressible/pimpleFoam/meson.build b/tutorials/incompressible/pimpleFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4c7fd291ef8a121686516a5712ca0e6dc1a53b3a
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/meson.build
@@ -0,0 +1 @@
+subdir('laminar')
diff --git a/tutorials/mesh/meson.build b/tutorials/mesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..048c8758e8f32a964635833b8b82f677be639925
--- /dev/null
+++ b/tutorials/mesh/meson.build
@@ -0,0 +1 @@
+subdir('refineMesh')
diff --git a/tutorials/mesh/refineMesh/meson.build b/tutorials/mesh/refineMesh/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..3be96e25550448df9d1cbcf79ab1b3be9e5b7109
--- /dev/null
+++ b/tutorials/mesh/refineMesh/meson.build
@@ -0,0 +1 @@
+subdir('refineFieldDirs')
diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/meson.build b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4daf16deb7e4cc73c06c0a624ed782e339c94624
--- /dev/null
+++ b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'calcRadiusField.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_calcRadiusField = executable(
+    'calcRadiusField',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/meson.build b/tutorials/mesh/refineMesh/refineFieldDirs/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..00c5300613cc558d31a25c5bb5c420ed6f9d1b64
--- /dev/null
+++ b/tutorials/mesh/refineMesh/refineFieldDirs/meson.build
@@ -0,0 +1 @@
+subdir('calcRadiusField')
diff --git a/tutorials/meson.build b/tutorials/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..46194e8dc9e572fba22344a57a54b0da07eaaf19
--- /dev/null
+++ b/tutorials/meson.build
@@ -0,0 +1,3 @@
+subdir('incompressible')
+subdir('mesh')
+subdir('multiphase')
diff --git a/tutorials/multiphase/interFoam/laminar/meson.build b/tutorials/multiphase/interFoam/laminar/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..bcc854c5696fe43be85632f3a2e5df90e3bacce3
--- /dev/null
+++ b/tutorials/multiphase/interFoam/laminar/meson.build
@@ -0,0 +1 @@
+subdir('sloshingTank3D6DoF')
diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/gen6DoF/meson.build b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/gen6DoF/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..b9c4dbd1182bf7a7d738bc7ca3af42d272108326
--- /dev/null
+++ b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/gen6DoF/meson.build
@@ -0,0 +1,29 @@
+srcfiles = [
+    lnInclude_hack,
+    'gen6DoF.C',
+]
+link_with = [
+    lib_OpenFOAM,
+    lib_finiteVolume,
+]
+dependencies = [
+    m_dep,
+    dl_dep,
+]
+cpp_args = [
+    '-I' + meson.source_root() / 'tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/gen6DoF',
+    '-I' + recursive_include_dirs / 'src/finiteVolume',
+    '-I' + recursive_include_dirs / 'tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/gen6DoF',
+    '-I' + recursive_include_dirs / 'src/OpenFOAM',
+    '-I' + recursive_include_dirs / 'src/OSspecific/POSIX',
+]
+exe_gen6DoF = executable(
+    'gen6DoF',
+    srcfiles,
+    link_with: link_with,
+    dependencies: dependencies,
+    cpp_args: cpp_args,
+    implicit_include_directories: false,
+    install: true,
+    build_by_default: false,
+)
diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/meson.build b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..dcb3936c8f6e52418f3d50314aa15a1d4edd5633
--- /dev/null
+++ b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/meson.build
@@ -0,0 +1 @@
+subdir('gen6DoF')
diff --git a/tutorials/multiphase/interFoam/meson.build b/tutorials/multiphase/interFoam/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..4c7fd291ef8a121686516a5712ca0e6dc1a53b3a
--- /dev/null
+++ b/tutorials/multiphase/interFoam/meson.build
@@ -0,0 +1 @@
+subdir('laminar')
diff --git a/tutorials/multiphase/meson.build b/tutorials/multiphase/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..28f24523eae3dd9d37c0f94047af361e69d8b705
--- /dev/null
+++ b/tutorials/multiphase/meson.build
@@ -0,0 +1 @@
+subdir('interFoam')