From 74602075f511cd55489fb01b4d5900fd9a6a0b08 Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Mon, 23 Apr 2018 11:39:44 +0200 Subject: [PATCH] Add PREFIX column to summary Resolves #11 --- CMakeLists.txt | 22 +++++++++++++++++++--- cmake/FairMQLib.cmake | 44 ++++++++++++++++++++++--------------------- 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4307d51a..d44af4f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,7 @@ find_package2(PUBLIC FairLogger VERSION 1.0.6 REQUIRED) if(BUILD_NANOMSG_TRANSPORT) find_package2(PRIVATE nanomsg VERSION 1.0.0 REQUIRED) find_package2(PRIVATE msgpack VERSION 2.1.5 REQUIRED) + set(msgpack_ROOT ${PACKAGE_PREFIX_DIR}) endif() if(BUILD_OFI_TRANSPORT) @@ -119,7 +120,7 @@ install_cmake_package() # Summary ###################################################################### message(STATUS " ") -message(STATUS " ${Cyan}DEPENDENCY VERSION ${CR}") +message(STATUS " ${Cyan}DEPENDENCY VERSION PREFIX${CR}") foreach(dep IN LISTS PROJECT_PACKAGE_DEPENDENCIES) if(${dep}_VERSION) if(${dep} STREQUAL Boost) @@ -134,8 +135,23 @@ foreach(dep IN LISTS PROJECT_PACKAGE_DEPENDENCIES) set(version_req_str " (>= ${PROJECT_${dep}_VERSION})") endif() pad(${dep} 15 " " dep_padded) - pad("${version_str}${version_req_str}" 20 " " version_padded) - message(STATUS " ${BWhite}${dep_padded}${CR}${version_padded}") + if(DISABLE_COLOR) + pad("${version_str}${version_req_str}" 20 " " version_padded) + else() + pad("${version_str}${version_req_str}" 20 " " version_padded COLOR 1) + endif() + if(${dep} STREQUAL FairLogger) + set(prefix ${FairLogger_ROOT}) + elseif(${dep} STREQUAL GTest) + get_filename_component(prefix ${GTEST_INCLUDE_DIRS}/.. ABSOLUTE) + elseif(${dep} STREQUAL msgpack) + set(prefix ${msgpack_ROOT}) + elseif(${dep} STREQUAL OFI) + get_filename_component(prefix ${${dep}_INCLUDE_DIRS}/.. ABSOLUTE) + else() + get_filename_component(prefix ${${dep}_INCLUDE_DIR}/.. ABSOLUTE) + endif() + message(STATUS " ${BWhite}${dep_padded}${CR}${version_padded}${prefix}") unset(version_str) endforeach() message(STATUS " ") diff --git a/cmake/FairMQLib.cmake b/cmake/FairMQLib.cmake index f5ac9c19..c56331aa 100644 --- a/cmake/FairMQLib.cmake +++ b/cmake/FairMQLib.cmake @@ -165,8 +165,13 @@ function(join VALUES GLUE OUTPUT) endfunction() function(pad str width char out) + cmake_parse_arguments(ARGS "" "COLOR" "" ${ARGN}) string(LENGTH ${str} length) - math(EXPR padding "${width}-${length}") + if(ARGS_COLOR) + math(EXPR padding "${width}-(${length}-10*${ARGS_COLOR})") + else() + math(EXPR padding "${width}-${length}") + endif() if(padding GREATER 0) foreach(i RANGE ${padding}) set(str "${str}${char}") @@ -254,7 +259,7 @@ macro(install_cmake_package) ) endmacro() -function(find_package2 qualifier pkgname) +macro(find_package2 qualifier pkgname) cmake_parse_arguments(ARGS "" "VERSION" "COMPONENTS" ${ARGN}) string(TOUPPER ${pkgname} pkgname_upper) @@ -265,23 +270,20 @@ function(find_package2 qualifier pkgname) find_package(${pkgname} ${ARGS_VERSION} QUIET ${ARGS_UNPARSED_ARGUMENTS}) endif() - set(${pkgname}_VERSION ${${pkgname}_VERSION} PARENT_SCOPE) - set(${pkgname}_MAJOR_VERSION ${${pkgname}_MAJOR_VERSION} PARENT_SCOPE) - set(${pkgname}_MINOR_VERSION ${${pkgname}_MINOR_VERSION} PARENT_SCOPE) - if(qualifier STREQUAL PRIVATE) - set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE) - set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE) - set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE) - elseif(qualifier STREQUAL PUBLIC) - set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE) - set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE) - set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE) - set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE) - set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE) - set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE) - elseif(qualifier STREQUAL INTERFACE) - set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE) - set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE) - set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE) + if(${qualifier} STREQUAL PRIVATE) + set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION}) + set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS}) + set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname}) + elseif(${qualifier} STREQUAL PUBLIC) + set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION}) + set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS}) + set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname}) + set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION}) + set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS}) + set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname}) + elseif(${qualifier} STREQUAL INTERFACE) + set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION}) + set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS}) + set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname}) endif() -endfunction() +endmacro()