summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules/CrossCompile.cmake
diff options
context:
space:
mode:
authorShoaib Meenai <smeenai@fb.com>2019-10-17 19:24:58 +0000
committerShoaib Meenai <smeenai@fb.com>2019-10-17 19:24:58 +0000
commitc9499264ec017dca6b3d08950ae93a8fcb9de926 (patch)
tree153a993b8bb590df9aeb96f8c4b97c16417b6ffd /llvm/cmake/modules/CrossCompile.cmake
parent95980409e6531347a39ae764cb769dc8ad835adf (diff)
downloadbcm5719-llvm-c9499264ec017dca6b3d08950ae93a8fcb9de926.tar.gz
bcm5719-llvm-c9499264ec017dca6b3d08950ae93a8fcb9de926.zip
[cmake] Pass external project source directories to sub-configures
We're passing LLVM_EXTERNAL_PROJECTS to cross-compilation configures, so we also need to pass the source directories of those projects, otherwise configuration can fail from not finding them. Differential Revision: https://reviews.llvm.org/D69076 llvm-svn: 375157
Diffstat (limited to 'llvm/cmake/modules/CrossCompile.cmake')
-rw-r--r--llvm/cmake/modules/CrossCompile.cmake9
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}
OpenPOWER on IntegriCloud