mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-28 13:44:02 +08:00
55 lines
1.7 KiB
CMake
55 lines
1.7 KiB
CMake
|
# 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)
|