From ea9ad64664c66526e816721514a741cc986934d8 Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Fri, 27 Sep 2019 15:45:54 +0200 Subject: [PATCH] CMake: Support multiple values for REQUIRES in fairmq_build_option --- cmake/FairMQLib.cmake | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cmake/FairMQLib.cmake b/cmake/FairMQLib.cmake index ca3cab0b..08314cc0 100644 --- a/cmake/FairMQLib.cmake +++ b/cmake/FairMQLib.cmake @@ -499,7 +499,7 @@ function(build_bundled package bundle) endfunction() macro(fairmq_build_option option description) - cmake_parse_arguments(ARGS "" "DEFAULT;REQUIRES" "" ${ARGN}) + cmake_parse_arguments(ARGS "" "DEFAULT" "REQUIRES" ${ARGN}) if(ARGS_DEFAULT) set(__default__ ON) @@ -510,13 +510,15 @@ macro(fairmq_build_option option description) if(ARGS_REQUIRES) include(CMakeDependentOption) set(__requires__ ${ARGS_REQUIRES}) - string(REGEX REPLACE " +" ";" __requires_condition__ "${__requires__}") - if(${__requires_condition__}) - else() - if(${option}) - message(WARNING "Cannot enable build option ${option}, depending options are not set: ${__requires_condition__}.") + foreach(d ${__requires__}) + string(REGEX REPLACE " +" ";" __requires_condition__ "${d}") + if(${__requires_condition__}) + else() + if(${option}) + message(WARNING "Cannot enable build option ${option}, depending option is not set: ${__requires_condition__}") + endif() endif() - endif() + endforeach() else() set(__requires__) endif()