diff options
author | Brad King <brad.king@kitware.com> | 2011-06-08 12:46:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-06-08 14:04:44 (GMT) |
commit | b41ad3b399c591f8f35eaacf056ffd9016b9e0bc (patch) | |
tree | 5d44f207b90ac15c1ed6b34358cdfe62e7e9ca27 /Modules/CMakeDetermineCompilerABI.cmake | |
parent | 0f939ee16478ad638bb380a75b4867b072a09306 (diff) | |
download | CMake-b41ad3b399c591f8f35eaacf056ffd9016b9e0bc.zip CMake-b41ad3b399c591f8f35eaacf056ffd9016b9e0bc.tar.gz CMake-b41ad3b399c591f8f35eaacf056ffd9016b9e0bc.tar.bz2 |
Teach find_(library|package) about Linux multiarch (#12037)
Implement support for multiarch as specified here:
http://wiki.debian.org/Multiarch
https://wiki.ubuntu.com/MultiarchSpec
Detect the <arch> part of <prefix>/lib/<arch> from the implicit library
search path from each compiler to set CMAKE_<lang>_LIBRARY_ARCHITECTURE.
Define CMAKE_LIBRARY_ARCHITECTURE using one of these values (they should
all be the same). Teach the find_library and find_package commands to
search <prefix>/lib/<arch> whenever they would search <prefix>/lib.
Diffstat (limited to 'Modules/CMakeDetermineCompilerABI.cmake')
-rw-r--r-- | Modules/CMakeDetermineCompilerABI.cmake | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake index 7f918e6..39d1f17 100644 --- a/Modules/CMakeDetermineCompilerABI.cmake +++ b/Modules/CMakeDetermineCompilerABI.cmake @@ -86,6 +86,17 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src) SET(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE) SET(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE) + # Detect library architecture directory name. + IF(CMAKE_LIBRARY_ARCHITECTURE_REGEX) + FOREACH(dir ${implicit_dirs}) + IF("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$") + GET_FILENAME_COMPONENT(arch "${dir}" NAME) + SET(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE) + BREAK() + ENDIF() + ENDFOREACH() + ENDIF() + ELSE(CMAKE_DETERMINE_${lang}_ABI_COMPILED) MESSAGE(STATUS "Detecting ${lang} compiler ABI info - failed") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log |