Repository: mesonbuild/meson

Issue:
FileNotFoundError: [Errno 2] \\Meson\\mesonbuild\\dependencies\\data\\CMakePathInfo.txt
I am trying to install the [BGP Scanner](https://gitlab.com/Isolario/bgpscanner) with meson, I got this failure. Could anyone provide an advice for this issue? Thanks! 


```
C:\Users\icherepa\Desktop\bgpscanner> meson --buildtype=release ..
The Meson build system
Version: 0.53.2
Source dir: C:\Users\icherepa\Desktop\bgpscanner
Build dir: C:\Users\icherepa\Desktop
Build type: native build
Project name: bgpscanner
Project version: 2.31
C compiler for the host machine: gcc (gcc 6.3.0 "gcc (MinGW.org GCC-6.3.0-1) 6.3.0")
C linker for the host machine: gcc ld.bfd 2.28
Host machine cpu family: x86
Host machine cpu: x86
Run-time dependency threads found: YES
Found pkg-config: C:\MinGW\bin\pkg-config.EXE (0.23)
Found CMake: C:\Program Files\CMake\bin\cmake.EXE (3.17.0-rc3)
Traceback (most recent call last):
  File "mesonbuild\mesonmain.py", line 129, in run
  File "mesonbuild\msetup.py", line 245, in run
  File "mesonbuild\msetup.py", line 159, in generate
  File "mesonbuild\msetup.py", line 192, in _generate
  File "mesonbuild\interpreter.py", line 4167, in run
  File "mesonbuild\interpreterbase.py", line 412, in run
  File "mesonbuild\interpreterbase.py", line 436, in evaluate_codeblock
  File "mesonbuild\interpreterbase.py", line 430, in evaluate_codeblock
  File "mesonbuild\interpreterbase.py", line 443, in evaluate_statement
  File "mesonbuild\interpreterbase.py", line 1064, in assignment
  File "mesonbuild\interpreterbase.py", line 441, in evaluate_statement
  File "mesonbuild\interpreterbase.py", line 788, in function_call
  File "mesonbuild\interpreterbase.py", line 285, in wrapped
  File "mesonbuild\interpreterbase.py", line 285, in wrapped
  File "mesonbuild\interpreterbase.py", line 285, in wrapped
  [Previous line repeated 2 more times]
  File "mesonbuild\interpreterbase.py", line 155, in wrapped
  File "mesonbuild\interpreterbase.py", line 174, in wrapped
  File "mesonbuild\interpreter.py", line 3236, in func_dependency
  File "mesonbuild\interpreter.py", line 3283, in dependency_impl
  File "mesonbuild\dependencies\base.py", line 2234, in find_external_dependency
  File "mesonbuild\dependencies\base.py", line 1104, in __init__
  File "mesonbuild\dependencies\base.py", line 1158, in _get_cmake_info
  File "mesonbuild\dependencies\base.py", line 1533, in _call_cmake
  File "mesonbuild\dependencies\base.py", line 1507, in _setup_cmake_dir
  File "pathlib.py", line 1229, in read_text
  File "pathlib.py", line 1215, in open
  File "pathlib.py", line 1071, in _opener
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Program Files\\Meson\\mesonbuild\\dependencies\\data\\CMakePathInfo.txt'
```

I don't know how my issue is related to https://github.com/mesonbuild/meson/issues/5858 (there is also no solution answer).



Discussion:
btw the directory mesonbuild does not exist in the Meson directory.

meson was install by means of pip.  
What does `pip show meson --files` show?
```
C:\Users\icherepa>pip show meson --files
Name: meson
Version: 0.53.2
Summary: A high performance build system
Home-page: https://mesonbuild.com
Author: Jussi Pakkanen
Author-email: jpakkane@gmail.com
License: Apache License, Version 2.0
Location: c:\users\icherepa\appdata\local\packages\pythonsoftwarefoundation.python.3.8_qbz5n2kfra8p0\localcache\local-packages\python38\site-packages
Requires:
Required-by:
Files:
  ..\Scripts\meson.exe
  meson-0.53.2.dist-info\COPYING
  meson-0.53.2.dist-info\INSTALLER
  meson-0.53.2.dist-info\METADATA
  meson-0.53.2.dist-info\RECORD
  meson-0.53.2.dist-info\WHEEL
  meson-0.53.2.dist-info\entry_points.txt
  meson-0.53.2.dist-info\top_level.txt
  mesonbuild\__init__.py
  mesonbuild\__pycache__\__init__.cpython-38.pyc
  mesonbuild\__pycache__\build.cpython-38.pyc
  mesonbuild\__pycache__\coredata.cpython-38.pyc
  mesonbuild\__pycache__\depfile.cpython-38.pyc
  mesonbuild\__pycache__\envconfig.cpython-38.pyc
  mesonbuild\__pycache__\environment.cpython-38.pyc
  mesonbuild\__pycache__\interpreter.cpython-38.pyc
  mesonbuild\__pycache__\interpreterbase.cpython-38.pyc
  mesonbuild\__pycache__\linkers.cpython-38.pyc
  mesonbuild\__pycache__\mconf.cpython-38.pyc
  mesonbuild\__pycache__\mdist.cpython-38.pyc
  mesonbuild\__pycache__\mesonlib.cpython-38.pyc
  mesonbuild\__pycache__\mesonmain.cpython-38.pyc
  mesonbuild\__pycache__\minit.cpython-38.pyc
  mesonbuild\__pycache__\minstall.cpython-38.pyc
  mesonbuild\__pycache__\mintro.cpython-38.pyc
  mesonbuild\__pycache__\mlog.cpython-38.pyc
  mesonbuild\__pycache__\mparser.cpython-38.pyc
  mesonbuild\__pycache__\msetup.cpython-38.pyc
  mesonbuild\__pycache__\msubprojects.cpython-38.pyc
  mesonbuild\__pycache__\mtest.cpython-38.pyc
  mesonbuild\__pycache__\munstable_coredata.cpython-38.pyc
  mesonbuild\__pycache__\optinterpreter.cpython-38.pyc
  mesonbuild\__pycache__\rewriter.cpython-38.pyc
  mesonbuild\ast\__init__.py
  mesonbuild\ast\__pycache__\__init__.cpython-38.pyc
  mesonbuild\ast\__pycache__\interpreter.cpython-38.pyc
  mesonbuild\ast\__pycache__\introspection.cpython-38.pyc
  mesonbuild\ast\__pycache__\postprocess.cpython-38.pyc
  mesonbuild\ast\__pycache__\printer.cpython-38.pyc
  mesonbuild\ast\__pycache__\visitor.cpython-38.pyc
  mesonbuild\ast\interpreter.py
  mesonbuild\ast\introspection.py
  mesonbuild\ast\postprocess.py
  mesonbuild\ast\printer.py
  mesonbuild\ast\visitor.py
  mesonbuild\backend\__init__.py
  mesonbuild\backend\__pycache__\__init__.cpython-38.pyc
  mesonbuild\backend\__pycache__\backends.cpython-38.pyc
  mesonbuild\backend\__pycache__\ninjabackend.cpython-38.pyc
  mesonbuild\backend\__pycache__\vs2010backend.cpython-38.pyc
  mesonbuild\backend\__pycache__\vs2015backend.cpython-38.pyc
  mesonbuild\backend\__pycache__\vs2017backend.cpython-38.pyc
  mesonbuild\backend\__pycache__\vs2019backend.cpython-38.pyc
  mesonbuild\backend\__pycache__\xcodebackend.cpython-38.pyc
  mesonbuild\backend\backends.py
  mesonbuild\backend\ninjabackend.py
  mesonbuild\backend\vs2010backend.py
  mesonbuild\backend\vs2015backend.py
  mesonbuild\backend\vs2017backend.py
  mesonbuild\backend\vs2019backend.py
  mesonbuild\backend\xcodebackend.py
  mesonbuild\build.py
  mesonbuild\cmake\__init__.py
  mesonbuild\cmake\__pycache__\__init__.cpython-38.pyc
  mesonbuild\cmake\__pycache__\client.cpython-38.pyc
  mesonbuild\cmake\__pycache__\common.cpython-38.pyc
  mesonbuild\cmake\__pycache__\executor.cpython-38.pyc
  mesonbuild\cmake\__pycache__\fileapi.cpython-38.pyc
  mesonbuild\cmake\__pycache__\generator.cpython-38.pyc
  mesonbuild\cmake\__pycache__\interpreter.cpython-38.pyc
  mesonbuild\cmake\__pycache__\traceparser.cpython-38.pyc
  mesonbuild\cmake\client.py
  mesonbuild\cmake\common.py
  mesonbuild\cmake\data\__pycache__\run_ctgt.cpython-38.pyc
  mesonbuild\cmake\data\preload.cmake
  mesonbuild\cmake\data\run_ctgt.py
  mesonbuild\cmake\executor.py
  mesonbuild\cmake\fileapi.py
  mesonbuild\cmake\generator.py
  mesonbuild\cmake\interpreter.py
  mesonbuild\cmake\traceparser.py
  mesonbuild\compilers\__init__.py
  mesonbuild\compilers\__pycache__\__init__.cpython-38.pyc
  mesonbuild\compilers\__pycache__\c.cpython-38.pyc
  mesonbuild\compilers\__pycache__\c_function_attributes.cpython-38.pyc
  mesonbuild\compilers\__pycache__\compilers.cpython-38.pyc
  mesonbuild\compilers\__pycache__\cpp.cpython-38.pyc
  mesonbuild\compilers\__pycache__\cs.cpython-38.pyc
  mesonbuild\compilers\__pycache__\cuda.cpython-38.pyc
  mesonbuild\compilers\__pycache__\d.cpython-38.pyc
  mesonbuild\compilers\__pycache__\fortran.cpython-38.pyc
  mesonbuild\compilers\__pycache__\java.cpython-38.pyc
  mesonbuild\compilers\__pycache__\objc.cpython-38.pyc
  mesonbuild\compilers\__pycache__\objcpp.cpython-38.pyc
  mesonbuild\compilers\__pycache__\rust.cpython-38.pyc
  mesonbuild\compilers\__pycache__\swift.cpython-38.pyc
  mesonbuild\compilers\__pycache__\vala.cpython-38.pyc
  mesonbuild\compilers\c.py
  mesonbuild\compilers\c_function_attributes.py
  mesonbuild\compilers\compilers.py
  mesonbuild\compilers\cpp.py
  mesonbuild\compilers\cs.py
  mesonbuild\compilers\cuda.py
  mesonbuild\compilers\d.py
  mesonbuild\compilers\fortran.py
  mesonbuild\compilers\java.py
  mesonbuild\compilers\mixins\__init__.py
  mesonbuild\compilers\mixins\__pycache__\__init__.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\arm.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\ccrx.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\clang.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\clike.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\elbrus.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\emscripten.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\gnu.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\intel.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\islinker.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\pgi.cpython-38.pyc
  mesonbuild\compilers\mixins\__pycache__\visualstudio.cpython-38.pyc
  mesonbuild\compilers\mixins\arm.py
  mesonbuild\compilers\mixins\ccrx.py
  mesonbuild\compilers\mixins\clang.py
  mesonbuild\compilers\mixins\clike.py
  mesonbuild\compilers\mixins\elbrus.py
  mesonbuild\compilers\mixins\emscripten.py
  mesonbuild\compilers\mixins\gnu.py
  mesonbuild\compilers\mixins\intel.py
  mesonbuild\compilers\mixins\islinker.py
  mesonbuild\compilers\mixins\pgi.py
  mesonbuild\compilers\mixins\visualstudio.py
  mesonbuild\compilers\objc.py
  mesonbuild\compilers\objcpp.py
  mesonbuild\compilers\rust.py
  mesonbuild\compilers\swift.py
  mesonbuild\compilers\vala.py
  mesonbuild\coredata.py
  mesonbuild\dependencies\__init__.py
  mesonbuild\dependencies\__pycache__\__init__.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\base.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\boost.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\coarrays.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\cuda.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\dev.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\hdf5.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\misc.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\mpi.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\platform.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\scalapack.cpython-38.pyc
  mesonbuild\dependencies\__pycache__\ui.cpython-38.pyc
  mesonbuild\dependencies\base.py
  mesonbuild\dependencies\boost.py
  mesonbuild\dependencies\coarrays.py
  mesonbuild\dependencies\cuda.py
  mesonbuild\dependencies\data\CMakeLists.txt
  mesonbuild\dependencies\data\CMakeListsLLVM.txt
  mesonbuild\dependencies\data\CMakePathInfo.txt
  mesonbuild\dependencies\dev.py
  mesonbuild\dependencies\hdf5.py
  mesonbuild\dependencies\misc.py
  mesonbuild\dependencies\mpi.py
  mesonbuild\dependencies\platform.py
  mesonbuild\dependencies\scalapack.py
  mesonbuild\dependencies\ui.py
  mesonbuild\depfile.py
  mesonbuild\envconfig.py
  mesonbuild\environment.py
  mesonbuild\interpreter.py
  mesonbuild\interpreterbase.py
  mesonbuild\linkers.py
  mesonbuild\mconf.py
  mesonbuild\mdist.py
  mesonbuild\mesonlib.py
  mesonbuild\mesonmain.py
  mesonbuild\minit.py
  mesonbuild\minstall.py
  mesonbuild\mintro.py
  mesonbuild\mlog.py
  mesonbuild\modules\__init__.py
  mesonbuild\modules\__pycache__\__init__.cpython-38.pyc
  mesonbuild\modules\__pycache__\cmake.cpython-38.pyc
  mesonbuild\modules\__pycache__\dlang.cpython-38.pyc
  mesonbuild\modules\__pycache__\fs.cpython-38.pyc
  mesonbuild\modules\__pycache__\gnome.cpython-38.pyc
  mesonbuild\modules\__pycache__\hotdoc.cpython-38.pyc
  mesonbuild\modules\__pycache__\i18n.cpython-38.pyc
  mesonbuild\modules\__pycache__\modtest.cpython-38.pyc
  mesonbuild\modules\__pycache__\pkgconfig.cpython-38.pyc
  mesonbuild\modules\__pycache__\python.cpython-38.pyc
  mesonbuild\modules\__pycache__\python3.cpython-38.pyc
  mesonbuild\modules\__pycache__\qt.cpython-38.pyc
  mesonbuild\modules\__pycache__\qt4.cpython-38.pyc
  mesonbuild\modules\__pycache__\qt5.cpython-38.pyc
  mesonbuild\modules\__pycache__\rpm.cpython-38.pyc
  mesonbuild\modules\__pycache__\sourceset.cpython-38.pyc
  mesonbuild\modules\__pycache__\unstable_cuda.cpython-38.pyc
  mesonbuild\modules\__pycache__\unstable_icestorm.cpython-38.pyc
  mesonbuild\modules\__pycache__\unstable_kconfig.cpython-38.pyc
  mesonbuild\modules\__pycache__\unstable_simd.cpython-38.pyc
  mesonbuild\modules\__pycache__\windows.cpython-38.pyc
  mesonbuild\modules\cmake.py
  mesonbuild\modules\dlang.py
  mesonbuild\modules\fs.py
  mesonbuild\modules\gnome.py
  mesonbuild\modules\hotdoc.py
  mesonbuild\modules\i18n.py
  mesonbuild\modules\modtest.py
  mesonbuild\modules\pkgconfig.py
  mesonbuild\modules\python.py
  mesonbuild\modules\python3.py
  mesonbuild\modules\qt.py
  mesonbuild\modules\qt4.py
  mesonbuild\modules\qt5.py
  mesonbuild\modules\rpm.py
  mesonbuild\modules\sourceset.py
  mesonbuild\modules\unstable_cuda.py
  mesonbuild\modules\unstable_icestorm.py
  mesonbuild\modules\unstable_kconfig.py
  mesonbuild\modules\unstable_simd.py
  mesonbuild\modules\windows.py
  mesonbuild\mparser.py
  mesonbuild\msetup.py
  mesonbuild\msubprojects.py
  mesonbuild\mtest.py
  mesonbuild\munstable_coredata.py
  mesonbuild\optinterpreter.py
  mesonbuild\rewriter.py
  mesonbuild\scripts\__init__.py
  mesonbuild\scripts\__pycache__\__init__.cpython-38.pyc
  mesonbuild\scripts\__pycache__\clangformat.cpython-38.pyc
  mesonbuild\scripts\__pycache__\clangtidy.cpython-38.pyc
  mesonbuild\scripts\__pycache__\cleantrees.cpython-38.pyc
  mesonbuild\scripts\__pycache__\commandrunner.cpython-38.pyc
  mesonbuild\scripts\__pycache__\coverage.cpython-38.pyc
  mesonbuild\scripts\__pycache__\delwithsuffix.cpython-38.pyc
  mesonbuild\scripts\__pycache__\depfixer.cpython-38.pyc
  mesonbuild\scripts\__pycache__\dirchanger.cpython-38.pyc
  mesonbuild\scripts\__pycache__\gettext.cpython-38.pyc
  mesonbuild\scripts\__pycache__\gtkdochelper.cpython-38.pyc
  mesonbuild\scripts\__pycache__\hotdochelper.cpython-38.pyc
  mesonbuild\scripts\__pycache__\meson_exe.cpython-38.pyc
  mesonbuild\scripts\__pycache__\msgfmthelper.cpython-38.pyc
  mesonbuild\scripts\__pycache__\regen_checker.cpython-38.pyc
  mesonbuild\scripts\__pycache__\scanbuild.cpython-38.pyc
  mesonbuild\scripts\__pycache__\symbolextractor.cpython-38.pyc
  mesonbuild\scripts\__pycache__\tags.cpython-38.pyc
  mesonbuild\scripts\__pycache__\uninstall.cpython-38.pyc
  mesonbuild\scripts\__pycache__\vcstagger.cpython-38.pyc
  mesonbuild\scripts\__pycache__\yelphelper.cpython-38.pyc
  mesonbuild\scripts\clangformat.py
  mesonbuild\scripts\clangtidy.py
  mesonbuild\scripts\cleantrees.py
  mesonbuild\scripts\commandrunner.py
  mesonbuild\scripts\coverage.py
  mesonbuild\scripts\delwithsuffix.py
  mesonbuild\scripts\depfixer.py
  mesonbuild\scripts\dirchanger.py
  mesonbuild\scripts\gettext.py
  mesonbuild\scripts\gtkdochelper.py
  mesonbuild\scripts\hotdochelper.py
  mesonbuild\scripts\meson_exe.py
  mesonbuild\scripts\msgfmthelper.py
  mesonbuild\scripts\regen_checker.py
  mesonbuild\scripts\scanbuild.py
  mesonbuild\scripts\symbolextractor.py
  mesonbuild\scripts\tags.py
  mesonbuild\scripts\uninstall.py
  mesonbuild\scripts\vcstagger.py
  mesonbuild\scripts\yelphelper.py
  mesonbuild\templates\__init__.py
  mesonbuild\templates\__pycache__\__init__.cpython-38.pyc
  mesonbuild\templates\__pycache__\cpptemplates.cpython-38.pyc
  mesonbuild\templates\__pycache__\ctemplates.cpython-38.pyc
  mesonbuild\templates\__pycache__\dlangtemplates.cpython-38.pyc
  mesonbuild\templates\__pycache__\fortrantemplates.cpython-38.pyc
  mesonbuild\templates\__pycache__\objctemplates.cpython-38.pyc
  mesonbuild\templates\__pycache__\rusttemplates.cpython-38.pyc
  mesonbuild\templates\cpptemplates.py
  mesonbuild\templates\ctemplates.py
  mesonbuild\templates\dlangtemplates.py
  mesonbuild\templates\fortrantemplates.py
  mesonbuild\templates\objctemplates.py
  mesonbuild\templates\rusttemplates.py
  mesonbuild\wrap\__init__.py
  mesonbuild\wrap\__pycache__\__init__.cpython-38.pyc
  mesonbuild\wrap\__pycache__\wrap.cpython-38.pyc
  mesonbuild\wrap\__pycache__\wraptool.cpython-38.pyc
  mesonbuild\wrap\wrap.py
  mesonbuild\wrap\wraptool.py
```
The crude workaround of copying the `mesonbuild/dependencies/data` directory (from the git repo) to `C:\Program Files\Meson\mesonbuild\dependencies\data` appears to work for me, both for the pip-installed version and the MSI-installed (#5858) version.

So at least on the surface it would appear that Meson is expecting 'data' files in a fixed location, where it should be looking relative to the install location.

In addition, for the MSI case (#5858), the files are entirely missing from the installation.

I also encountered a second, analogous issue where `mesonbuild/cmake/data/run_ctgt.py` was missing. Again, errors went away after copying this `data` directory from git.
Since we have a dependency on setuptools now we really should be using setuptools' data management stuff, which is robust in these kind of cases.

Resolving patch:
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py
--- a/mesonbuild/cmake/interpreter.py
+++ b/mesonbuild/cmake/interpreter.py
@@ -15,6 +15,8 @@
 # This class contains the basic functionality needed to run any interpreter
 # or an interpreter-based tool.
 
+import pkg_resources
+
 from .common import CMakeException, CMakeTarget
 from .client import CMakeClient, RequestCMakeInputs, RequestConfigure, RequestCompute, RequestCodeModel
 from .fileapi import CMakeFileAPI
@@ -779,7 +781,7 @@ def configure(self, extra_cmake_options: T.List[str]) -> None:
             raise CMakeException('Unable to find CMake')
         self.trace = CMakeTraceParser(cmake_exe.version(), self.build_dir, permissive=True)
 
-        preload_file = Path(__file__).resolve().parent / 'data' / 'preload.cmake'
+        preload_file = pkg_resources.resource_filename('mesonbuild', 'cmake/data/preload.cmake')
 
         # Prefere CMAKE_PROJECT_INCLUDE over CMAKE_TOOLCHAIN_FILE if possible,
         # since CMAKE_PROJECT_INCLUDE was actually designed for code injection.
@@ -1024,7 +1026,7 @@ def assign(var_name: str, value: BaseNode) -> AssignmentNode:
         root_cb.lines += [function('project', [self.project_name] + self.languages)]
 
         # Add the run script for custom commands
-        run_script = '{}/data/run_ctgt.py'.format(os.path.dirname(os.path.realpath(__file__)))
+        run_script = pkg_resources.resource_filename('mesonbuild', 'cmake/data/run_ctgt.py')
         run_script_var = 'ctgt_run_script'
         root_cb.lines += [assign(run_script_var, function('find_program', [[run_script]], {'required': True}))]
 
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -28,6 +28,8 @@
 from enum import Enum
 from pathlib import Path, PurePath
 
+import pkg_resources
+
 from .. import mlog
 from .. import mesonlib
 from ..compilers import clib_langs
@@ -1508,8 +1510,8 @@ def _setup_cmake_dir(self, cmake_file: str) -> str:
         build_dir = self._get_build_dir()
 
         # Insert language parameters into the CMakeLists.txt and write new CMakeLists.txt
-        src_cmake = Path(__file__).parent / 'data' / cmake_file
-        cmake_txt = src_cmake.read_text()
+        # Per the warning in pkg_resources, this is *not* a path and os.path and Pathlib are *not* safe to use here.
+        cmake_txt = pkg_resources.resource_string('mesonbuild', 'dependencies/data/' + cmake_file).decode()
 
         # In general, some Fortran CMake find_package() also require C language enabled,
         # even if nothing from C is directly used. An easy Fortran example that fails


Test patch: