Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 426936 | Differences between
and this patch

Collapse All | Expand All

(-)a/Help/command/find_library.rst (+7 lines)
Lines 48-53 path to the framework ``<fullPath>/A.framework``. When a full path to a Link Here
48
framework is used as a library, CMake will use a ``-framework A``, and a
48
framework is used as a library, CMake will use a ``-framework A``, and a
49
``-F<fullPath>`` to link the framework to the target.
49
``-F<fullPath>`` to link the framework to the target.
50
50
51
If the :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS` global property is set
52
all search paths will be tested as normal, with ``32/`` appended, and
53
with all matches of ``lib/`` replaced with ``lib32/``.  This property is
54
automatically set for the platforms that are known to need it if at
55
least one of the languages supported by the :command:`project` command
56
is enabled.
57
51
If the :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` global property is set
58
If the :prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` global property is set
52
all search paths will be tested as normal, with ``64/`` appended, and
59
all search paths will be tested as normal, with ``64/`` appended, and
53
with all matches of ``lib/`` replaced with ``lib64/``.  This property is
60
with all matches of ``lib/`` replaced with ``lib64/``.  This property is
(-)a/Help/manual/cmake-properties.7.rst (+1 lines)
Lines 24-29 Properties of Global Scope Link Here
24
   /prop_gbl/DISABLED_FEATURES
24
   /prop_gbl/DISABLED_FEATURES
25
   /prop_gbl/ENABLED_FEATURES
25
   /prop_gbl/ENABLED_FEATURES
26
   /prop_gbl/ENABLED_LANGUAGES
26
   /prop_gbl/ENABLED_LANGUAGES
27
   /prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS
27
   /prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS
28
   /prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS
28
   /prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING
29
   /prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING
29
   /prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE
30
   /prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE
(-)a/Help/prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.rst (+10 lines)
Line 0 Link Here
1
FIND_LIBRARY_USE_LIB32_PATHS
2
----------------------------
3
4
Whether the :command:`find_library` command should automatically search
5
``lib32`` directories.
6
7
``FIND_LIBRARY_USE_LIB32_PATHS`` is a boolean specifying whether the
8
:command:`find_library` command should automatically search the ``lib32``
9
variant of directories called ``lib`` in the search path when building 32-bit
10
binaries.
(-)a/Help/release/dev/find-lib32.rst (+7 lines)
Line 0 Link Here
1
find-lib32
2
----------
3
4
* The :command:`find_library` and :command:`find_package` commands learned
5
  to search in ``lib32/`` directories when the build targets a 32-bit
6
  architecture.  See the :prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS` global
7
  property.
(-)a/Modules/FindPkgConfig.cmake (-2 / +6 lines)
Lines 255-263 macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma Link Here
255
            list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
255
            list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
256
          endif()
256
          endif()
257
        else()
257
        else()
258
          # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
258
          # not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
259
          get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
260
          if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
261
            list(APPEND _lib_dirs "lib32/pkgconfig")
262
          endif()
259
          get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
263
          get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
260
          if(uselib64)
264
          if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
261
            list(APPEND _lib_dirs "lib64/pkgconfig")
265
            list(APPEND _lib_dirs "lib64/pkgconfig")
262
          endif()
266
          endif()
263
        endif()
267
        endif()
(-)a/Modules/Platform/Linux.cmake (-1 / +2 lines)
Lines 50-57 set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_ Link Here
50
50
51
include(Platform/UnixPaths)
51
include(Platform/UnixPaths)
52
52
53
# Debian has lib64 paths only for compatibility so they should not be
53
# Debian has lib32 and lib64 paths only for compatibility so they should not be
54
# searched.
54
# searched.
55
if(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
55
if(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
56
  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE)
56
  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
57
  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
57
endif()
58
endif()
(-)a/Modules/Platform/OpenBSD.cmake (+1 lines)
Lines 18-23 endif() Link Here
18
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
18
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
19
19
20
# OpenBSD has no multilib
20
# OpenBSD has no multilib
21
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE)
21
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
22
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
22
23
23
# OpenBSD policy requires that shared libraries be installed without
24
# OpenBSD policy requires that shared libraries be installed without
(-)a/Modules/Platform/UnixPaths.cmake (-1 / +2 lines)
Lines 93-97 list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES Link Here
93
  /usr/include
93
  /usr/include
94
  )
94
  )
95
95
96
# Enable use of lib64 search path variants by default.
96
# Enable use of lib32 and lib64 search path variants by default.
97
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
97
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
98
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
(-)a/Source/cmFindLibraryCommand.cxx (-7 / +4 lines)
Lines 42-54 bool cmFindLibraryCommand Link Here
42
    return true;
42
    return true;
43
    }
43
    }
44
44
45
  if(const char* abi_name =
45
  if (this->Makefile->GetState()->GetGlobalPropertyAsBool(
46
     this->Makefile->GetDefinition("CMAKE_INTERNAL_PLATFORM_ABI"))
46
        "FIND_LIBRARY_USE_LIB32_PATHS")) {
47
    {
47
    // add special 32 bit paths if this is a 32 bit compile.
48
    std::string abi = abi_name;
48
    if (this->Makefile->PlatformIs32Bit()) {
49
    if(abi.find("ELF N32") != abi.npos)
50
      {
51
      // Convert lib to lib32.
52
      this->AddArchitecturePaths("32");
49
      this->AddArchitecturePaths("32");
53
      }
50
      }
54
    }
51
    }
(-)a/Source/cmFindPackageCommand.cxx (+12 lines)
Lines 45-50 cmFindPackageCommand::cmFindPackageCommand() Link Here
45
  this->UseConfigFiles = true;
45
  this->UseConfigFiles = true;
46
  this->UseFindModules = true;
46
  this->UseFindModules = true;
47
  this->DebugMode = false;
47
  this->DebugMode = false;
48
  this->UseLib32Paths = false;
48
  this->UseLib64Paths = false;
49
  this->UseLib64Paths = false;
49
  this->PolicyScope = true;
50
  this->PolicyScope = true;
50
  this->VersionMajor = 0;
51
  this->VersionMajor = 0;
Lines 117-122 bool cmFindPackageCommand Link Here
117
    this->LibraryArchitecture = arch;
118
    this->LibraryArchitecture = arch;
118
    }
119
    }
119
120
121
  // Lookup whether lib32 paths should be used.
122
  if (this->Makefile->PlatformIs32Bit() &&
123
      this->Makefile->GetState()->GetGlobalPropertyAsBool(
124
        "FIND_LIBRARY_USE_LIB32_PATHS")) {
125
    this->UseLib32Paths = true;
126
  }
127
120
  // Lookup whether lib64 paths should be used.
128
  // Lookup whether lib64 paths should be used.
121
  if(this->Makefile->PlatformIs64Bit() &&
129
  if(this->Makefile->PlatformIs64Bit() &&
122
     this->Makefile->GetState()
130
     this->Makefile->GetState()
Lines 2109-2114 bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in) Link Here
2109
    {
2117
    {
2110
    common.push_back("lib/"+this->LibraryArchitecture);
2118
    common.push_back("lib/"+this->LibraryArchitecture);
2111
    }
2119
    }
2120
  if (this->UseLib32Paths)
2121
    {
2122
    common.push_back("lib32");
2123
    }
2112
  if(this->UseLib64Paths)
2124
  if(this->UseLib64Paths)
2113
    {
2125
    {
2114
    common.push_back("lib64");
2126
    common.push_back("lib64");
(-)a/Source/cmFindPackageCommand.h (+1 lines)
Lines 138-143 private: Link Here
138
  bool NoUserRegistry;
138
  bool NoUserRegistry;
139
  bool NoSystemRegistry;
139
  bool NoSystemRegistry;
140
  bool DebugMode;
140
  bool DebugMode;
141
  bool UseLib32Paths;
141
  bool UseLib64Paths;
142
  bool UseLib64Paths;
142
  bool PolicyScope;
143
  bool PolicyScope;
143
  std::string LibraryArchitecture;
144
  std::string LibraryArchitecture;
(-)a/Source/cmMakefile.cxx (+8 lines)
Lines 2418-2423 bool cmMakefile::IsSet(const std::string& name) const Link Here
2418
  return true;
2418
  return true;
2419
}
2419
}
2420
2420
2421
bool cmMakefile::PlatformIs32Bit() const
2422
{
2423
  if (const char* sizeof_dptr = this->GetDefinition("CMAKE_SIZEOF_VOID_P")) {
2424
    return atoi(sizeof_dptr) == 4;
2425
  }
2426
  return false;
2427
}
2428
2421
bool cmMakefile::PlatformIs64Bit() const
2429
bool cmMakefile::PlatformIs64Bit() const
2422
{
2430
{
2423
  if(const char* sizeof_dptr = this->GetDefinition("CMAKE_SIZEOF_VOID_P"))
2431
  if(const char* sizeof_dptr = this->GetDefinition("CMAKE_SIZEOF_VOID_P"))
(-)a/Source/cmMakefile.h (+3 lines)
Lines 477-482 public: Link Here
477
  bool IsOn(const std::string& name) const;
477
  bool IsOn(const std::string& name) const;
478
  bool IsSet(const std::string& name) const;
478
  bool IsSet(const std::string& name) const;
479
479
480
  /** Return whether the target platform is 32-bit. */
481
  bool PlatformIs32Bit() const;
482
480
  /** Return whether the target platform is 64-bit.  */
483
  /** Return whether the target platform is 64-bit.  */
481
  bool PlatformIs64Bit() const;
484
  bool PlatformIs64Bit() const;
482
485
(-)a/Tests/CMakeOnly/find_library/CMakeLists.txt (+7 lines)
Lines 33-48 endmacro() Link Here
33
33
34
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
34
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
35
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
35
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
36
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
36
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
37
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
37
38
38
set(CMAKE_SIZEOF_VOID_P 4)
39
set(CMAKE_SIZEOF_VOID_P 4)
39
foreach(lib
40
foreach(lib
41
    lib/32/libtest5.a
40
    lib/A/lib/libtest1.a
42
    lib/A/lib/libtest1.a
43
    lib/A/lib32/libtest3.a
41
    lib/A/libtest1.a
44
    lib/A/libtest1.a
42
    lib/libtest1.a
45
    lib/libtest1.a
43
    lib/libtest2.a
46
    lib/libtest2.a
44
    lib/libtest3.a
47
    lib/libtest3.a
45
    lib/libtest3.a
48
    lib/libtest3.a
49
    lib32/A/lib/libtest2.a
50
    lib32/A/lib32/libtest4.a
51
    lib32/A/libtest4.a
52
    lib32/libtest4.a
46
    )
53
    )
47
  test_find_library_subst(${lib})
54
  test_find_library_subst(${lib})
48
endforeach()
55
endforeach()
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_CMAKE_APPBUNDLE_PATH.cmake (-3 / +8 lines)
Lines 1-4 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE, FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
2
enable_language(C)
3
3
4
# Prepare environment and variables
4
# Prepare environment and variables
Lines 29-38 if(NOT DEFINED CMAKE_SYSTEM_NAME Link Here
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
30
    endif()
30
    endif()
31
  else()
31
  else()
32
    # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
32
    # not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
33
    get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
33
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    if(uselib64)
35
    if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
36
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
37
    elseif(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
35
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
38
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
39
    else()
40
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
36
    endif()
41
    endif()
37
  endif()
42
  endif()
38
else()
43
else()
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_CMAKE_FRAMEWORK_PATH.cmake (-3 / +8 lines)
Lines 1-4 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE, FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
2
enable_language(C)
3
3
4
# Prepare environment and variables
4
# Prepare environment and variables
Lines 29-38 if(NOT DEFINED CMAKE_SYSTEM_NAME Link Here
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
30
    endif()
30
    endif()
31
  else()
31
  else()
32
    # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
32
    # not debian, check the FIND_LIBRARY_USE_LIB64_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
33
    get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
33
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    if(uselib64)
35
    if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
36
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
37
    elseif(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
35
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
38
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
39
    else()
40
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
36
    endif()
41
    endif()
37
  endif()
42
  endif()
38
else()
43
else()
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_NO_PKGCONFIG_PATH.cmake (-3 lines)
Lines 1-6 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
3
4
# Prepare environment and variables
1
# Prepare environment and variables
5
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH FALSE)
2
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH FALSE)
6
set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pc-foo")
3
set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pc-foo")
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH.cmake (-3 / +8 lines)
Lines 1-4 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE, FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
2
enable_language(C)
3
3
4
# Prepare environment and variables
4
# Prepare environment and variables
Lines 29-38 if(NOT DEFINED CMAKE_SYSTEM_NAME Link Here
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
30
    endif()
30
    endif()
31
  else()
31
  else()
32
    # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
32
    # not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS propertie
33
    get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
33
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    if(uselib64)
35
    if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
36
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
37
    elseif(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
35
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
38
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
39
    else()
40
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
36
    endif()
41
    endif()
37
  endif()
42
  endif()
38
else()
43
else()
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH.cmake (-3 / +8 lines)
Lines 1-4 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE, FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
2
enable_language(C)
3
3
4
# Prepare environment and variables
4
# Prepare environment and variables
Lines 29-38 if(NOT DEFINED CMAKE_SYSTEM_NAME Link Here
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
30
    endif()
30
    endif()
31
  else()
31
  else()
32
    # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
32
    # not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
33
    get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
33
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    if(uselib64)
35
    if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
36
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
37
    elseif(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
35
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
38
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
39
    else()
40
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-foo/lib/pkgconfig")
36
    endif()
41
    endif()
37
  endif()
42
  endif()
38
else()
43
else()
(-)a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH.cmake (-3 / +8 lines)
Lines 1-4 Link Here
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE and FIND_LIBRARY_USE_LIB64_PATHS
1
# Needed for CMAKE_SYSTEM_NAME, CMAKE_LIBRARY_ARCHITECTURE, FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS
2
enable_language(C)
2
enable_language(C)
3
3
4
# Prepare environment and variables
4
# Prepare environment and variables
Lines 29-38 if(NOT DEFINED CMAKE_SYSTEM_NAME Link Here
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
29
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
30
    endif()
30
    endif()
31
  else()
31
  else()
32
    # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
32
    # not debian, check the FIND_LIBRARY_USE_LIB64_PATHS and FIND_LIBRARY_USE_LIB32_PATHS properties
33
    get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
33
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
34
    if(uselib64)
35
    if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
36
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib32/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
37
    elseif(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
35
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
38
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib64/pkgconfig:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
39
    else()
40
      set(expected_path "/baz:${CMAKE_CURRENT_SOURCE_DIR}/pc-bar/lib/pkgconfig")
36
    endif()
41
    endif()
37
  endif()
42
  endif()
38
else()
43
else()

Return to bug 426936