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

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 27 16:23:47 PDT 2016


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



More information about the llvm-commits mailing list