From a8de72a6f9a330b88be9b18e7a52d811fcf91b61 Mon Sep 17 00:00:00 2001 From: Michael Ilyin Date: Wed, 20 Sep 2023 17:21:07 +0200 Subject: [PATCH] avoid list expand for genexpr --- CMakeLists.txt | 4 ++-- cmake/helpers.cmake | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e119f39cd..1c4d400fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,7 +95,7 @@ if(NOT(ZENOHC_CUSTOM_TARGET STREQUAL "")) endif() set(cargo_binary_dir_debug ${cargo_target_dir_debug}/debug) set(cargo_binary_dir_release ${cargo_target_dir_release}/release) -set_genexpr_condition(cargo_binary_dir DEBUG $ ${cargo_binary_dir_debug} ${cargo_binary_dir_release}>) +set_genexpr_condition(cargo_binary_dir DEBUG $ ${cargo_binary_dir_debug} ${cargo_binary_dir_release}) set(source_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include) function(configure_cargo_toml cargo_toml_dir CARGO_PROJECT_VERSION CARGO_LIB_NAME) @@ -185,7 +185,7 @@ endif() status_print(cargo_flags) status_print(libs) add_custom_command( - OUTPUT "${libs}" + OUTPUT ${libs} COMMAND ${CMAKE_COMMAND} -E echo \"RUSTFLAGS = $$RUSTFLAGS\" COMMAND ${CMAKE_COMMAND} -E echo \"cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\" COMMAND cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags} diff --git a/cmake/helpers.cmake b/cmake/helpers.cmake index 01cd30e77..45a1917c3 100644 --- a/cmake/helpers.cmake +++ b/cmake/helpers.cmake @@ -70,22 +70,24 @@ endfunction() # - remove visual garbage when generator expressions actually does nothing # - avoid using generator expression if single-config generator is used # -macro(set_genexpr_condition dstvar var_condition genexpr_condition srcvar_true srcvar_false) +function(set_genexpr_condition dstvar var_condition genexpr_condition srcvar_true srcvar_false) get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(GENERATOR_IS_MULTI_CONFIG AND NOT("${srcvar_true}" STREQUAL "${srcvar_false}")) - set(${dstvar} $) + list(JOIN srcvar_true "$" srcvar_true) + list(JOIN srcvar_false "$" srcvar_false) + set(${dstvar} $ PARENT_SCOPE) else() if(DEFINED ${var_condition}) if (${${var_condition}}) - set(${dstvar} "${srcvar_true}") + set(${dstvar} "${srcvar_true}" PARENT_SCOPE) else() - set(${dstvar} "${srcvar_false}") + set(${dstvar} "${srcvar_false}" PARENT_SCOPE) endif() else() - set(${dstvar} "${srcvar_false}") + set(${dstvar} "${srcvar_false}" PARENT_SCOPE) endif() endif() -endmacro() +endfunction() # # Select default build config with support of multi config generators