DumpConanInfo/DumpDepsVersions.cmake
2021-10-22 12:21:14 +02:00

62 lines
1.4 KiB
CMake

include(Macros.cmake)
cmake_minimum_required(VERSION 3.16)
function(add_external_lib package conan_package_name)
list(REMOVE_AT ARGV 0 1)
better_parse_args(
. REQUIRED FIND_PACKAGE ALWAYS_ALLOW_CONAN_FALLBACK HAS_ONLY_DEBUG_RELEASE
- OPTION_NAME SYMBOL INTERFACE_NAME CONAN_PKG_NAME
+ CONAN_OPTIONS FIND_PACKAGE_OPTIONS PKG_CONFIG
)
if(ARG_PKG_CONFIG)
string(REPLACE " " ";" tmp "${ARG_PKG_CONFIG}")
list(GET tmp 1 range)
list(GET tmp 2 version)
else()
string(REPLACE "/" ";" tmp "${conan_package_name}")
string(REPLACE "@" ";" tmp "${tmp}")
list(GET tmp 1 version)
endif()
if(${ARG_REQUIRED})
list(APPEND REQUIRED_PKGS "${package}|${range} ${version}")
lift_var(REQUIRED_PKGS)
else()
list(APPEND OPTIONAL_PKGS "${package}|${range} ${version}")
lift_var(OPTIONAL_PKGS)
endif()
endfunction()
macro(getdata package_list)
string(REPLACE "|" ";" package_list "${package_list}")
list(GET package_list 0 name)
list(GET package_list 1 version)
message("* ${name}: ${version}")
endmacro()
include(DependenciesConfig.cmake)
message("
### Required dependencies
")
foreach (package_raw ${REQUIRED_PKGS})
getdata("${package_raw}")
endforeach ()
message("
### Optional dependencies
")
foreach (package_raw ${OPTIONAL_PKGS})
getdata("${package_raw}")
endforeach ()