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

Don Hinton via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 21 12:18:57 PDT 2019


Fixed in r358859.

On Sun, Apr 21, 2019 at 11:25 AM Don Hinton <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> 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
>> 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
>>
>> ==============================================================================
>> --- 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
>> 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/20190421/c52ee418/attachment.html>


More information about the llvm-commits mailing list