[llvm] r358779 - [CMake] Pass monorepo build settings in cross compile

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 22 10:24:31 PDT 2019


Thanks for catching that!

-Chris

> On Apr 21, 2019, at 12:18 PM, Don Hinton <hintonda at gmail.com> wrote:
> 
> Fixed in r358859.
> 
> On Sun, Apr 21, 2019 at 11:25 AM Don Hinton <hintonda at gmail.com <mailto:hintonda at gmail.com>> wrote:
> Hi Chris:
> 
> You need to escape the semicolons:
> 
> diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
> index 6d186de2724..157f4dd4ff3 100644
> --- a/llvm/cmake/modules/CrossCompile.cmake
> +++ b/llvm/cmake/modules/CrossCompile.cmake
> @@ -45,6 +45,11 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
>    string(REPLACE ";" "$<SEMICOLON>" experimental_targets_to_build_arg
>           "${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}")
> 
> +  string(REPLACE ";" "$<SEMICOLON>" llvm_enable_projects_arg
> +         "${LLVM_ENABLE_PROJECTS}")
> +  string(REPLACE ";" "$<SEMICOLON>" llvm_external_projects_arg
> +         "${LLVM_EXTERNAL_PROJECTS}")
> +
>    add_custom_command(OUTPUT ${LLVM_${target_name}_BUILD}/CMakeCache.txt
>      COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
>          -DCMAKE_MAKE_PROGRAM="${CMAKE_MAKE_PROGRAM}"
> @@ -54,8 +59,8 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
>          -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${experimental_targets_to_build_arg}"
>          -DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET_TRIPLE}"
>          -DLLVM_TARGET_ARCH="${LLVM_TARGET_ARCH}"
> -        -DLLVM_ENABLE_PROJECTS="${LLVM_ENABLE_PROJECTS}"
> -        -DLLVM_EXTERNAL_PROJECTS="${LLVM_EXTERNAL_PROJECTS}"
> +        -DLLVM_ENABLE_PROJECTS="${llvm_enable_projects_arg}"
> +        -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}"
>          -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}"
>          ${build_type_flags} ${linker_flag} ${external_clang_dir}
>      WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
> 
> On Fri, Apr 19, 2019 at 1:06 PM Chris Bieneman via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
> Author: cbieneman
> Date: Fri Apr 19 13:08:55 2019
> New Revision: 358779
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=358779&view=rev <http://llvm.org/viewvc/llvm-project?rev=358779&view=rev>
> Log:
> [CMake] Pass monorepo build settings in cross compile
> 
> This allows the cross compiled build targets to configure the LLVM tools and sub-projects that are part of the main build.
> 
> This is needed for generating native non llvm *-tablegen tools when cross compiling clang in the monorepo build environment.
> 
> 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=358779&r1=358778&r2=358779&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/CrossCompile.cmake?rev=358779&r1=358778&r2=358779&view=diff>
> ==============================================================================
> --- llvm/trunk/cmake/modules/CrossCompile.cmake (original)
> +++ llvm/trunk/cmake/modules/CrossCompile.cmake Fri Apr 19 13:08:55 2019
> @@ -54,6 +54,8 @@ function(llvm_create_cross_target_intern
>          -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${experimental_targets_to_build_arg}"
>          -DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET_TRIPLE}"
>          -DLLVM_TARGET_ARCH="${LLVM_TARGET_ARCH}"
> +        -DLLVM_ENABLE_PROJECTS="${LLVM_ENABLE_PROJECTS}"
> +        -DLLVM_EXTERNAL_PROJECTS="${LLVM_EXTERNAL_PROJECTS}"
>          -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}"
>          ${build_type_flags} ${linker_flag} ${external_clang_dir}
>      WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190422/b53844fb/attachment.html>


More information about the llvm-commits mailing list