[llvm] r375157 - [cmake] Pass external project source directories to sub-configures

Shoaib Meenai via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 17 12:24:59 PDT 2019


Author: smeenai
Date: Thu Oct 17 12:24:58 2019
New Revision: 375157

URL: http://llvm.org/viewvc/llvm-project?rev=375157&view=rev
Log:
[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

Modified:
    llvm/trunk/cmake/modules/CrossCompile.cmake

Modified: llvm/trunk/cmake/modules/CrossCompile.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/CrossCompile.cmake?rev=375157&r1=375156&r2=375157&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/CrossCompile.cmake (original)
+++ llvm/trunk/cmake/modules/CrossCompile.cmake Thu Oct 17 12:24:58 2019
@@ -1,3 +1,4 @@
+include(AddLLVM)
 include(LLVMExternalProjectUtils)
 
 
@@ -57,6 +58,13 @@ function(llvm_create_cross_target projec
   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 projec
         -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}




More information about the llvm-commits mailing list