From 28882b70ca6090adec7a3f99db0989aad012db33 Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Thu, 27 Jun 2019 12:23:48 +0200 Subject: [PATCH] CMake: Add dependency summary --- CMakeLists.txt | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index aafa5d2..673e2ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,6 +133,48 @@ if(CMAKE_CONFIGURATION_TYPES) message(STATUS " ") message(STATUS " (Change the build type with ${BMagenta}-DCMAKE_BUILD_TYPE=...${CR})") endif() +if(PROJECT_PACKAGE_DEPENDENCIES) + message(STATUS " ") + message(STATUS " ${Cyan}DEPENDENCY FOUND VERSION PREFIX${CR}") + foreach(dep IN LISTS PROJECT_PACKAGE_DEPENDENCIES) + if(${dep}_VERSION) + if(${dep} STREQUAL Boost) + if(Boost_VERSION_MAJOR) + set(version_str "${BGreen}${${dep}_VERSION_MAJOR}.${${dep}_VERSION_MINOR}${CR}") + else() + set(version_str "${BGreen}${${dep}_MAJOR_VERSION}.${${dep}_MINOR_VERSION}${CR}") + endif() + else() + set(version_str "${BGreen}${${dep}_VERSION}${CR}") + endif() + else() + set(version_str "${BYellow}unknown${CR}") + endif() + if(PROJECT_${dep}_VERSION) + set(version_req_str " (>= ${PROJECT_${dep}_VERSION})") + endif() + pad(${dep} 20 " " dep_padded) + if(DISABLE_COLOR) + pad("${version_str}${version_req_str}" 25 " " version_padded) + else() + pad("${version_str}${version_req_str}" 25 " " version_padded COLOR 1) + endif() + if(${dep} STREQUAL Boost) + if(TARGET Boost::headers) + get_target_property(boost_include Boost::headers INTERFACE_INCLUDE_DIRECTORIES) + else() + get_target_property(boost_include Boost::boost INTERFACE_INCLUDE_DIRECTORIES) + endif() + get_filename_component(prefix ${boost_include}/.. ABSOLUTE) + else() + get_filename_component(prefix ${${dep}_INCLUDE_DIR}/.. ABSOLUTE) + endif() + message(STATUS " ${BWhite}${dep_padded}${CR}${version_padded}${prefix}") + unset(version_str) + unset(version_padded) + unset(version_req_str) + endforeach() +endif() message(STATUS " ") message(STATUS " ${Cyan}COMPONENT BUILT? INFO${CR}") message(STATUS " ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)")