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

70 lines
1.6 KiB
CMake

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)