🎉 Initial commit

This commit is contained in:
Edgar 2021-10-22 12:21:05 +02:00
commit 4b6ca78fcd
No known key found for this signature in database
GPG Key ID: 17D930BB616061A5
3 changed files with 131 additions and 0 deletions

69
DumpDepsArgs.cmake Normal file
View File

@ -0,0 +1,69 @@
set(_PREFIX "ROR_")
set(USE_PACKAGE_MANAGER TRUE)
include(Macros.cmake)
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_OPTION_NAME)
set(option_name_base ${ARG_OPTION_NAME})
else ()
string(TOUPPER "${package}" option_name_base)
endif ()
if (ARG_ALWAYS_ALLOW_CONAN_FALLBACK)
set(system_only OFF)
else ()
set(system_only ${${_PREFIX}FORCE_SYSTEM_DEPENDENCIES})
endif ()
if (ARG_FIND_PACKAGE_OPTIONS)
set(ARG_FIND_PACKAGE ON)
endif ()
if (ARG_INTERFACE_NAME)
set(interface_name ${ARG_INTERFACE_NAME})
else ()
set(interface_name "${package}::${package}")
endif ()
if (ARG_SYMBOL)
set(symbol ${ARG_SYMBOL})
else ()
set(symbol ${option_name_base})
endif ()
# Generate CMake option
set(option_name ${_PREFIX}USE_${option_name_base})
set(option_desc "CONAN")
if (ARG_PKG_CONFIG OR ARG_FIND_PACKAGE)
set(sysopt "SYSTEM")
string(PREPEND option_desc "SYSTEM, ")
set(default "${${_PREFIX}LIB_PREFERENCE}")
else ()
set(default "CONAN")
endif ()
if (NOT ARG_REQUIRED)
set(reqopt "OFF")
string(APPEND option_desc ", OFF")
endif ()
message("| ${option_name} | ${option_desc} |")
endfunction()
message("| Name | Values |")
message("|------|--------|")
include(DependenciesConfig.cmake)

61
DumpDepsVersions.cmake Normal file
View File

@ -0,0 +1,61 @@
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 ()

1
README.md Normal file
View File

@ -0,0 +1 @@
DumpConanInfo