[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:19:53 PDT 2016


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