CMake: Improve reporting of enabled-but-not-found packages

Fixes #1072 (together with 3786dc2aeaaf09479e12a590ab426a770f18fdb5)
This commit is contained in:
rdb 2020-12-20 18:36:08 +01:00
parent 3786dc2aea
commit dfc5b47ec9
2 changed files with 15 additions and 3 deletions

View File

@ -167,6 +167,12 @@ function(package_option name)
set(PANDA_PACKAGE_DEFAULT_${name} "${default}" PARENT_SCOPE)
if(${found_as}_FOUND OR ${FOUND_AS}_FOUND)
set(PANDA_PACKAGE_FOUND_${name} ON PARENT_SCOPE)
else()
set(PANDA_PACKAGE_FOUND_${name} OFF PARENT_SCOPE)
endif()
# Create the INTERFACE library used to depend on this package.
add_library(PKG::${name} INTERFACE IMPORTED GLOBAL)
@ -279,15 +285,19 @@ function(show_packages)
foreach(package ${_ALL_CONFIG_PACKAGES})
set(desc "${PANDA_PACKAGE_DESC_${package}}")
set(note "${PANDA_PACKAGE_NOTE_${package}}")
if(HAVE_${package})
if(HAVE_${package} AND PANDA_PACKAGE_FOUND_${package})
if(NOT note STREQUAL "")
message("+ ${desc} (${note})")
else()
message("+ ${desc}")
endif()
elseif(HAVE_${package})
message("! ${desc} (enabled but not found)")
else()
if(NOT ${package}_FOUND)
if(NOT PANDA_PACKAGE_FOUND_${package})
set(reason "not found")
elseif(NOT PANDA_PACKAGE_DEFAULT_${package})
set(reason "not requested")

View File

@ -169,7 +169,9 @@ endif()
show_packages()
message("")
if(INTERROGATE_PYTHON_INTERFACE)
if(HAVE_PYTHON AND NOT PYTHON_FOUND)
message(SEND_ERROR "Configured Panda with Python bindings, but no Python library found. Disable HAVE_PYTHON to continue.")
elseif(INTERROGATE_PYTHON_INTERFACE)
message("Compilation will generate Python interfaces for Python ${PYTHON_VERSION_STRING}.")
else()
message("Configuring Panda WITHOUT Python interfaces.")