diff options
-rw-r--r-- | cmake/modules/CrossCompile.cmake | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cmake/modules/CrossCompile.cmake b/cmake/modules/CrossCompile.cmake index 3f3a9a87b9c..117eda77878 100644 --- a/cmake/modules/CrossCompile.cmake +++ b/cmake/modules/CrossCompile.cmake @@ -36,11 +36,16 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype) add_custom_target(CREATE_LLVM_${target_name} DEPENDS ${LLVM_${target_name}_BUILD}) + # Escape semicolons in the targets list so that cmake doesn't expand + # them to spaces. + string(REPLACE ";" "$<SEMICOLON>" targets_to_build_arg + "${LLVM_TARGETS_TO_BUILD}") + add_custom_command(OUTPUT ${LLVM_${target_name}_BUILD}/CMakeCache.txt COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" ${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR} -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE - -DLLVM_TARGETS_TO_BUILD=Native + -DLLVM_TARGETS_TO_BUILD="${targets_to_build_arg}" ${build_type_flags} ${linker_flag} ${external_clang_dir} WORKING_DIRECTORY ${LLVM_${target_name}_BUILD} DEPENDS CREATE_LLVM_${target_name} |