mirror of
https://github.com/reactos/CMake.git
synced 2024-12-01 15:30:40 +00:00
commit
9288abf567
@ -922,7 +922,7 @@ IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS)
|
||||
# Set up include usage requirement
|
||||
IF(COMMAND TARGET_INCLUDE_DIRECTORIES)
|
||||
TARGET_INCLUDE_DIRECTORIES(${KWSYS_TARGET_INTERFACE} INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
|
||||
$<BUILD_INTERFACE:${KWSYS_HEADER_ROOT}>)
|
||||
IF(KWSYS_INSTALL_INCLUDE_DIR)
|
||||
TARGET_INCLUDE_DIRECTORIES(${KWSYS_TARGET_INTERFACE} INTERFACE
|
||||
$<INSTALL_INTERFACE:${KWSYS_INSTALL_INCLUDE_DIR}>)
|
||||
@ -976,7 +976,7 @@ IF(KWSYS_ENABLE_C AND KWSYS_C_SRCS)
|
||||
# Set up include usage requirement
|
||||
IF(COMMAND TARGET_INCLUDE_DIRECTORIES)
|
||||
TARGET_INCLUDE_DIRECTORIES(${KWSYS_TARGET_C_INTERFACE} INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
|
||||
$<BUILD_INTERFACE:${KWSYS_HEADER_ROOT}>)
|
||||
IF(KWSYS_INSTALL_INCLUDE_DIR)
|
||||
TARGET_INCLUDE_DIRECTORIES(${KWSYS_TARGET_C_INTERFACE} INTERFACE
|
||||
$<INSTALL_INTERFACE:${KWSYS_INSTALL_INCLUDE_DIR}>)
|
||||
|
@ -121,7 +121,11 @@ typedef int siginfo_t;
|
||||
#if defined(KWSYS_SYS_HAS_IFADDRS_H)
|
||||
#include <ifaddrs.h>
|
||||
#include <net/if.h>
|
||||
#if !defined(__LSB_VERSION__) /* LSB has no getifaddrs */
|
||||
#if defined(__LSB_VERSION__)
|
||||
/* LSB has no getifaddrs */
|
||||
#elif defined(__ANDROID_API__) && __ANDROID_API__ < 24
|
||||
/* Android has no getifaddrs prior to API 24. */
|
||||
#else
|
||||
#define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN
|
||||
#endif
|
||||
#endif
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <iostream>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
// Work-around CMake dependency scanning limitation. This must
|
||||
@ -3254,7 +3253,7 @@ std::string SystemTools::CollapseFullPath(const std::string& in_path,
|
||||
|
||||
SystemTools::CheckTranslationPath(newPath);
|
||||
#ifdef _WIN32
|
||||
newPath = SystemTools::GetActualCaseForPath(newPath);
|
||||
newPath = SystemTools::GetActualCaseForPathCached(newPath);
|
||||
SystemTools::ConvertToUnixSlashes(newPath);
|
||||
#endif
|
||||
// Return the reconstructed path.
|
||||
@ -3342,7 +3341,7 @@ std::string SystemTools::RelativePath(const std::string& local,
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
static std::pair<std::string, bool> GetCasePathName(std::string const& pathIn)
|
||||
static std::string GetCasePathName(std::string const& pathIn)
|
||||
{
|
||||
std::string casePath;
|
||||
std::vector<std::string> path_components;
|
||||
@ -3351,7 +3350,7 @@ static std::pair<std::string, bool> GetCasePathName(std::string const& pathIn)
|
||||
{
|
||||
// Relative paths cannot be converted.
|
||||
casePath = pathIn;
|
||||
return std::make_pair(casePath, false);
|
||||
return casePath;
|
||||
}
|
||||
|
||||
// Start with root component.
|
||||
@ -3403,7 +3402,7 @@ static std::pair<std::string, bool> GetCasePathName(std::string const& pathIn)
|
||||
|
||||
casePath += path_components[idx];
|
||||
}
|
||||
return std::make_pair(casePath, converting);
|
||||
return casePath;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -3412,22 +3411,27 @@ std::string SystemTools::GetActualCaseForPath(const std::string& p)
|
||||
#ifndef _WIN32
|
||||
return p;
|
||||
#else
|
||||
return GetCasePathName(p);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
std::string SystemTools::GetActualCaseForPathCached(std::string const& p)
|
||||
{
|
||||
// Check to see if actual case has already been called
|
||||
// for this path, and the result is stored in the PathCaseMap
|
||||
SystemToolsPathCaseMap::iterator i = SystemTools::PathCaseMap->find(p);
|
||||
if (i != SystemTools::PathCaseMap->end()) {
|
||||
return i->second;
|
||||
}
|
||||
std::pair<std::string, bool> casePath = GetCasePathName(p);
|
||||
if (casePath.first.size() > MAX_PATH) {
|
||||
return casePath.first;
|
||||
std::string casePath = GetCasePathName(p);
|
||||
if (casePath.size() > MAX_PATH) {
|
||||
return casePath;
|
||||
}
|
||||
if (casePath.second) {
|
||||
(*SystemTools::PathCaseMap)[p] = casePath.first;
|
||||
}
|
||||
return casePath.first;
|
||||
#endif
|
||||
(*SystemTools::PathCaseMap)[p] = casePath;
|
||||
return casePath;
|
||||
}
|
||||
#endif
|
||||
|
||||
const char* SystemTools::SplitPathRootComponent(const std::string& p,
|
||||
std::string* root)
|
||||
|
@ -988,6 +988,7 @@ private:
|
||||
*/
|
||||
static SystemToolsTranslationMap* TranslationMap;
|
||||
#ifdef _WIN32
|
||||
static std::string GetActualCaseForPathCached(std::string const& path);
|
||||
static SystemToolsPathCaseMap* PathCaseMap;
|
||||
static SystemToolsEnvMap* EnvMap;
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user