diff options
-rw-r--r-- | llvm/cmake/modules/CrossCompile.cmake | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake index 8457dfd76c3..8a6e880c4e2 100644 --- a/llvm/cmake/modules/CrossCompile.cmake +++ b/llvm/cmake/modules/CrossCompile.cmake @@ -1,3 +1,4 @@ +include(AddLLVM) include(LLVMExternalProjectUtils) @@ -57,6 +58,13 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) string(REPLACE ";" "$<SEMICOLON>" llvm_external_projects_arg "${LLVM_EXTERNAL_PROJECTS}") + set(external_project_source_dirs) + foreach(project ${LLVM_EXTERNAL_PROJECTS}) + canonicalize_tool_name(${project} name) + list(APPEND external_project_source_dirs + "-DLLVM_EXTERNAL_${name}_SOURCE_DIR=${LLVM_EXTERNAL_${name}_SOURCE_DIR}") + endforeach() + add_custom_command(OUTPUT ${${project_name}_${target_name}_BUILD}/CMakeCache.txt COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" -DCMAKE_MAKE_PROGRAM="${CMAKE_MAKE_PROGRAM}" @@ -69,6 +77,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) -DLLVM_TARGET_ARCH="${LLVM_TARGET_ARCH}" -DLLVM_ENABLE_PROJECTS="${llvm_enable_projects_arg}" -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}" + ${external_project_source_dirs} -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" ${build_type_flags} ${linker_flag} ${external_clang_dir} ${ARGN} |