diff --git a/cmake/platforms/Linux32.cmake b/cmake/platforms/Linux32.cmake index f592d0d6e3..92289a39f7 100644 --- a/cmake/platforms/Linux32.cmake +++ b/cmake/platforms/Linux32.cmake @@ -1,25 +1,27 @@ # Copyright (c) 2019 The Bitcoin developers set(CMAKE_SYSTEM_NAME Linux) set(TOOLCHAIN_PREFIX i686-pc-linux-gnu) # Cross compilers to use for C and C++ set(CMAKE_C_COMPILER gcc) set(CMAKE_CXX_COMPILER g++) # Target environment on the build host system # Set 1st to directory with the cross compiler's C/C++ headers/libs set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}") # We also may have built dependencies for the native platform. set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}/native") -# Modify default behavior of FIND_XXX() commands to -# search for headers/libs in the target environment and -# search for programs in the build host environment +# Modify default behavior of FIND_XXX() commands to: +# - search for headers in the target environment, +# - search the libraries in the target environment first then the host (to find +# the compiler supplied libraries), +# - search for programs in the build host environment. set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) string(APPEND CMAKE_C_FLAGS_INIT " -m32") string(APPEND CMAKE_CXX_FLAGS_INIT " -m32") diff --git a/cmake/platforms/Linux64.cmake b/cmake/platforms/Linux64.cmake index 458e4095ec..670e9c2a72 100644 --- a/cmake/platforms/Linux64.cmake +++ b/cmake/platforms/Linux64.cmake @@ -1,25 +1,27 @@ # Copyright (c) 2019 The Bitcoin developers set(CMAKE_SYSTEM_NAME Linux) set(TOOLCHAIN_PREFIX x86_64-linux-gnu) # Cross compilers to use for C and C++ set(CMAKE_C_COMPILER gcc) set(CMAKE_CXX_COMPILER g++) # Target environment on the build host system # Set 1st to directory with the cross compiler's C/C++ headers/libs set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}") # We also may have built dependencies for the native platform. set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}/native") -# Modify default behavior of FIND_XXX() commands to -# search for headers/libs in the target environment and -# search for programs in the build host environment +# Modify default behavior of FIND_XXX() commands to: +# - search for headers in the target environment, +# - search the libraries in the target environment first then the host (to find +# the compiler supplied libraries), +# - search for programs in the build host environment. set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) string(APPEND CMAKE_C_FLAGS_INIT " -m64") string(APPEND CMAKE_CXX_FLAGS_INIT " -m64") diff --git a/cmake/platforms/LinuxAArch64.cmake b/cmake/platforms/LinuxAArch64.cmake index 6395a828d3..7502dfdc28 100644 --- a/cmake/platforms/LinuxAArch64.cmake +++ b/cmake/platforms/LinuxAArch64.cmake @@ -1,22 +1,25 @@ # Copyright (c) 2019 The Bitcoin developers set(CMAKE_SYSTEM_NAME Linux) set(TOOLCHAIN_PREFIX aarch64-linux-gnu) # Cross compilers to use for C and C++ set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) # Target environment on the build host system # Set 1st to directory with the cross compiler's C/C++ headers/libs -set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}") +set(CMAKE_FIND_ROOT_PATH + "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}" + "/usr/${TOOLCHAIN_PREFIX}" +) # We also may have built dependencies for the native platform. set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}/native") # Modify default behavior of FIND_XXX() commands to # search for headers/libs in the target environment and # search for programs in the build host environment set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/platforms/LinuxARM.cmake b/cmake/platforms/LinuxARM.cmake index 0640d7be0a..691b106038 100644 --- a/cmake/platforms/LinuxARM.cmake +++ b/cmake/platforms/LinuxARM.cmake @@ -1,22 +1,25 @@ # Copyright (c) 2019 The Bitcoin developers set(CMAKE_SYSTEM_NAME Linux) set(TOOLCHAIN_PREFIX arm-linux-gnueabihf) # Cross compilers to use for C and C++ set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) # Target environment on the build host system # Set 1st to directory with the cross compiler's C/C++ headers/libs -set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}") +set(CMAKE_FIND_ROOT_PATH + "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}" + "/usr/${TOOLCHAIN_PREFIX}" +) # We also may have built dependencies for the native platform. set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/${TOOLCHAIN_PREFIX}/native") # Modify default behavior of FIND_XXX() commands to # search for headers/libs in the target environment and # search for programs in the build host environment set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)