diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-01-24 22:15:32 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-01-24 23:15:32 +0200 |
commit | 28edc7ef61f6c4cdc74f68128a4b3f97bda060a6 (patch) | |
tree | 18436c49d1df42bf33a516a8eb7685225c3f1d2a | |
parent | ded59c081979dce433e3456c18ce6dbc3ae954c7 (diff) | |
download | meson-28edc7ef61f6c4cdc74f68128a4b3f97bda060a6.tar.gz |
Try multiple CMAKE_LIBRARY_ARCHITECTURE. Closes #4812
-rw-r--r-- | mesonbuild/dependencies/data/CMakeLists.txt | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/mesonbuild/dependencies/data/CMakeLists.txt b/mesonbuild/dependencies/data/CMakeLists.txt index 144ffda64..6f51681f2 100644 --- a/mesonbuild/dependencies/data/CMakeLists.txt +++ b/mesonbuild/dependencies/data/CMakeLists.txt @@ -1,24 +1,31 @@ cmake_minimum_required(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} ) # Inspired by CMakeDetermineCompilerABI.cmake to set CMAKE_LIBRARY_ARCHITECTURE +set(LIB_ARCH_LIST) if(CMAKE_LIBRARY_ARCHITECTURE_REGEX) - if(NOT DEFINED CMAKE_LIBRARY_ARCHITECTURE) - file(GLOB implicit_dirs RELATIVE /lib /lib/*-linux-gnu* ) - foreach(dir ${implicit_dirs}) - if("${dir}" MATCHES "${CMAKE_LIBRARY_ARCHITECTURE_REGEX}") - set(CMAKE_LIBRARY_ARCHITECTURE "${dir}") - break() - endif() - endforeach() - endif() + file(GLOB implicit_dirs RELATIVE /lib /lib/*-linux-gnu* ) + foreach(dir ${implicit_dirs}) + if("${dir}" MATCHES "${CMAKE_LIBRARY_ARCHITECTURE_REGEX}") + list(APPEND LIB_ARCH_LIST "${dir}") + endif() + endforeach() endif() -find_package("${NAME}" QUIET) - set(PACKAGE_FOUND FALSE) set(_packageName "${NAME}") string(TOUPPER "${_packageName}" PACKAGE_NAME) +while(TRUE) + find_package("${NAME}" QUIET) + + if(${_packageName}_FOUND OR ${PACKAGE_NAME}_FOUND OR "${LIB_ARCH_LIST}" STREQUAL "") + break() + endif() + + list(GET LIB_ARCH_LIST 0 CMAKE_LIBRARY_ARCHITECTURE) + list(REMOVE_AT LIB_ARCH_LIST 0) +endwhile() + if(${_packageName}_FOUND OR ${PACKAGE_NAME}_FOUND) set(PACKAGE_FOUND TRUE) |