# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. cmake_policy(PUSH) cmake_policy(SET CMP0053 NEW) cmake_policy(SET CMP0054 NEW) # Function parse implicit linker options. # This is used internally by CMake and should not be included by user # code. function(cmake_parse_library_architecture lang implicit_dirs implicit_objs output_var) unset(library_arch) # Detect library architecture directory name. if(CMAKE_LIBRARY_ARCHITECTURE_REGEX) foreach(dir IN LISTS implicit_dirs) if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$") get_filename_component(arch "${dir}" NAME) set(library_arch "${arch}") break() endif() endforeach() foreach(obj IN LISTS implicit_objs) get_filename_component(dir "${obj}" DIRECTORY) if("${dir}" MATCHES "(/usr)?/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$") get_filename_component(arch "${dir}" NAME) set(library_arch "${arch}") break() endif() endforeach() endif() if(CMAKE_CXX_COMPILER_ID STREQUAL QCC) foreach(dir ${implicit_dirs}) if (dir MATCHES "/lib$") get_filename_component(assumedArchDir "${dir}" DIRECTORY) get_filename_component(archParentDir "${assumedArchDir}" DIRECTORY) if (archParentDir STREQUAL CMAKE_SYSROOT) get_filename_component(archDirName "${assumedArchDir}" NAME) set(library_arch "${archDirName}") break() endif() endif() endforeach() endif() # Return results. if(library_arch) set(${output_var} "${library_arch}" PARENT_SCOPE) endif() endfunction() cmake_policy(POP)