[llvm] r282510 - [CMake] Use if(... IN_LIST ...) instead of list(FIND...)

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 27 16:40:27 PDT 2016


For some reason it seems my problem was related to having an old
version of compiler-rt checked out. I have no idea why, but updating
that fixed things.

Sorry for the noise.

 - Hans

On Tue, Sep 27, 2016 at 4:28 PM, Chris Bieneman <beanz at apple.com> wrote:
> I forced the policy on in r282552. Hopefully that should have you good.
>
> -Chris
>
>> On Sep 27, 2016, at 4:23 PM, Chris Bieneman via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>> I didn’t see that on any of the bots, but I’ll force the policy on which should hopefully make the error go away.
>>
>> -Chris
>>
>>> On Sep 27, 2016, at 4:19 PM, Hans Wennborg <hans at chromium.org> wrote:
>>>
>>> Is anyone else getting errors for this? My build fails with:
>>>
>>> CMake Warning (dev) at cmake/modules/AddLLVM.cmake:779 (if):
>>> Policy CMP0057 is not set: Support new IN_LIST if() operator.  Run "cmake
>>> --help-policy CMP0057" for policy details.  Use the cmake_policy command to
>>> set the policy and suppress this warning.
>>>
>>> IN_LIST will be interpreted as an operator when the policy is set to NEW.
>>> Since the policy is not set the OLD behavior will be used.
>>> Call Stack (most recent call first):
>>> tools/llvm-ar/CMakeLists.txt:9 (add_llvm_tool)
>>> This warning is for project developers.  Use -Wno-dev to suppress it.
>>>
>>> CMake Error at cmake/modules/AddLLVM.cmake:779 (if):
>>> if given arguments:
>>>
>>>   "llvm-ar" "IN_LIST" "LLVM_TOOLCHAIN_TOOLS" "OR" "NOT"
>>> "LLVM_INSTALL_TOOLCHAIN_ONLY"
>>>
>>> Unknown arguments specified
>>> Call Stack (most recent call first):
>>> tools/llvm-ar/CMakeLists.txt:9 (add_llvm_tool)
>>>
>>>
>>> -- Configuring incomplete, errors occurred!
>>>
>>> $ cmake --version
>>> cmake version 3.5.2
>>>
>>>
>>> All buildbots seem fine, so it's probably something in my config, but
>>> maybe someone else has seen this?
>>>
>>> - Hans
>>>
>>>
>>> On Tue, Sep 27, 2016 at 10:47 AM, Chris Bieneman via llvm-commits
>>> <llvm-commits at lists.llvm.org> wrote:
>>>> Author: cbieneman
>>>> Date: Tue Sep 27 12:47:24 2016
>>>> New Revision: 282510
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=282510&view=rev
>>>> Log:
>>>> [CMake] Use if(... IN_LIST ...) instead of list(FIND...)
>>>>
>>>> NFC. This is just a little code cleanup to make things easier to read and understand.
>>>>
>>>> Modified:
>>>>   llvm/trunk/cmake/modules/AddLLVM.cmake
>>>>
>>>> Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=282510&r1=282509&r2=282510&view=diff
>>>> ==============================================================================
>>>> --- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
>>>> +++ llvm/trunk/cmake/modules/AddLLVM.cmake Tue Sep 27 12:47:24 2016
>>>> @@ -776,8 +776,7 @@ macro(add_llvm_tool name)
>>>>  endif()
>>>>  add_llvm_executable(${name} ${ARGN})
>>>>
>>>> -  list(FIND LLVM_TOOLCHAIN_TOOLS ${name} LLVM_IS_${name}_TOOLCHAIN_TOOL)
>>>> -  if (LLVM_IS_${name}_TOOLCHAIN_TOOL GREATER -1 OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
>>>> +  if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
>>>>    if( LLVM_BUILD_TOOLS )
>>>>      install(TARGETS ${name}
>>>>              EXPORT LLVMExports
>>>> @@ -1264,20 +1263,13 @@ function(add_llvm_tool_symlink name dest
>>>>    add_custom_target(${target_name} ALL DEPENDS ${output_path})
>>>>    set_target_properties(${target_name} PROPERTIES FOLDER Tools)
>>>>
>>>> -    # Make sure the parent tool is a toolchain tool, otherwise exclude this tool
>>>> -    list(FIND LLVM_TOOLCHAIN_TOOLS ${dest} LLVM_IS_${dest}_TOOLCHAIN_TOOL)
>>>> -    if (NOT LLVM_IS_${dest}_TOOLCHAIN_TOOL GREATER -1)
>>>> -      set(LLVM_IS_${name}_TOOLCHAIN_TOOL ${LLVM_IS_${dest}_TOOLCHAIN_TOOL})
>>>> -    else()
>>>> -      list(FIND LLVM_TOOLCHAIN_TOOLS ${name} LLVM_IS_${name}_TOOLCHAIN_TOOL)
>>>> +    # Make sure both the link and target are toolchain tools
>>>> +    if (NOT ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT ${dest} IN_LIST LLVM_TOOLCHAIN_TOOLS)
>>>> +      return()
>>>>    endif()
>>>>
>>>> -    # LLVM_IS_${name}_TOOLCHAIN_TOOL will only be greater than -1 if both this
>>>> -    # tool and its parent tool are in LLVM_TOOLCHAIN_TOOLS
>>>> -    if (LLVM_IS_${name}_TOOLCHAIN_TOOL GREATER -1 OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
>>>> -      if( LLVM_BUILD_TOOLS )
>>>> -        llvm_install_symlink(${name} ${dest})
>>>> -      endif()
>>>> +    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_TOOLS )
>>>> +      llvm_install_symlink(${name} ${dest})
>>>>    endif()
>>>>  endif()
>>>> endfunction()
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


More information about the llvm-commits mailing list