diff options
| author | na-trium-144 <100704180+na-trium-144@users.noreply.github.com> | 2025-02-03 03:06:40 +0900 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-03-01 14:40:09 +0200 |
| commit | 92c517ea69e0578515d15061e7ec32f518733acf (patch) | |
| tree | 6784538d56728828e37131905caa82aebb181c13 /mesonbuild/dependencies | |
| parent | b7b45bb161529382cb0fcfbccec0fc6fe0d51a12 (diff) | |
| download | meson-92c517ea69e0578515d15061e7ec32f518733acf.tar.gz | |
output PACKAGE_NOT_FOUND_MESSAGE as warning when CMake package is not found
Diffstat (limited to 'mesonbuild/dependencies')
| -rw-r--r-- | mesonbuild/dependencies/cmake.py | 11 | ||||
| -rw-r--r-- | mesonbuild/dependencies/data/CMakeLists.txt | 6 |
2 files changed, 16 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/cmake.py b/mesonbuild/dependencies/cmake.py index 42cffd595..0c350214b 100644 --- a/mesonbuild/dependencies/cmake.py +++ b/mesonbuild/dependencies/cmake.py @@ -414,7 +414,16 @@ class CMakeDependency(ExternalDependency): # Whether the package is found or not is always stored in PACKAGE_FOUND self.is_found = self.traceparser.var_to_bool('PACKAGE_FOUND') if not self.is_found: - return + not_found_message = self.traceparser.get_cmake_var('PACKAGE_NOT_FOUND_MESSAGE') + if len(not_found_message) > 0: + mlog.warning( + 'CMake reported that the package {} was not found with the following reason:\n' + '{}'.format(name, not_found_message[0])) + else: + mlog.warning( + 'CMake reported that the package {} was not found, ' + 'even though Meson\'s preliminary check succeeded.'.format(name)) + raise self._gen_exception('PACKAGE_FOUND is false') # Try to detect the version vers_raw = self.traceparser.get_cmake_var('PACKAGE_VERSION') diff --git a/mesonbuild/dependencies/data/CMakeLists.txt b/mesonbuild/dependencies/data/CMakeLists.txt index d682cb824..4e7838ebb 100644 --- a/mesonbuild/dependencies/data/CMakeLists.txt +++ b/mesonbuild/dependencies/data/CMakeLists.txt @@ -100,3 +100,9 @@ if(${_packageName}_FOUND OR ${PACKAGE_NAME}_FOUND) set(PACKAGE_DEFINITIONS "${${definitions}}") set(PACKAGE_LIBRARIES "${${libs}}") endif() + +if(${_packageName}_NOT_FOUND_MESSAGE) + set(PACKAGE_NOT_FOUND_MESSAGE "${${_packageName}_NOT_FOUND_MESSAGE}") +elseif(${PACKAGE_NAME}_NOT_FOUND_MESSAGE) + set(PACKAGE_NOT_FOUND_MESSAGE "${${PACKAGE_NAME}_NOT_FOUND_MESSAGE}") +endif() |
