Skip to content
  • Andrea Pappacoda's avatar
    CMakePackageConfigHelpers: only emit arch check if needed · 77982de9
    Andrea Pappacoda authored
    Before this patch, the write_basic_package_version_file() function of
    the CMakePackageConfigHelpers module always emitted an architecture
    check, even if the ARCH_INDEPENDENT option was specified. While this is
    not an issue when configuring builds, as the check is skipped, this can
    create issues when the "arch independent" version files are installed in
    the datadir (e.g. /usr/share) in a MultiArch environment like Debian,
    where different architecture packages of the same libraries can be
    coinstalled; as the amd64 version of a given library contains "8 * 8"
    in the file, while the i386 one contains "4 * 8", there's a conflict, as
    files in /usr/share are expected to be identical across architectures.
    
    This patch fixes this issue by only emitting the architecture check code
    if needed; when ARCH_INDEPENDENT is specified, no code is written at
    all.
    
    Here's a diff between the version files generated before and after this
    patch:
    
        diff -u old/indep.cmake...
    77982de9