aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-12-14 14:31:16 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-12-14 14:31:28 -0800
commit63a23cf0cad4da12eed69883f37c21d319461187 (patch)
tree39ae91f7d6aa38d8265e1cc1bf356af0b48126a7
parent7b7e7dac3b5518a263053fcc2fd25bca5f71d031 (diff)
downloadvcpkg-63a23cf0cad4da12eed69883f37c21d319461187.tar.gz
vcpkg-63a23cf0cad4da12eed69883f37c21d319461187.zip
[vcpkg] Fix regressions in WSL build.
-rw-r--r--toolsrc/CMakeLists.txt4
-rw-r--r--toolsrc/include/vcpkg/base/optional.h6
-rw-r--r--toolsrc/src/vcpkg/base/chrono.cpp22
-rw-r--r--toolsrc/src/vcpkg/commands.upgrade.cpp (renamed from toolsrc/src/commands.upgrade.cpp)0
-rw-r--r--toolsrc/src/vcpkg/userconfig.cpp7
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj2
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj.filters2
7 files changed, 27 insertions, 16 deletions
diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt
index 51578e4e4..0168e2de2 100644
--- a/toolsrc/CMakeLists.txt
+++ b/toolsrc/CMakeLists.txt
@@ -3,10 +3,12 @@ project(vcpkg CXX)
add_compile_options(-std=c++1z)
-if(CMAKE_COMPILER_IS_GNUXX)
+if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
set(GCC 1)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
set(CLANG 1)
+else()
+ message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
endif()
file(GLOB_RECURSE VCPKGLIB_SOURCES src/vcpkg/*.cpp)
diff --git a/toolsrc/include/vcpkg/base/optional.h b/toolsrc/include/vcpkg/base/optional.h
index aa9e480fd..af2d297a6 100644
--- a/toolsrc/include/vcpkg/base/optional.h
+++ b/toolsrc/include/vcpkg/base/optional.h
@@ -53,10 +53,8 @@ namespace vcpkg
// Constructors are intentionally implicit
constexpr Optional(NullOpt) {}
- Optional(const T& t) : m_base(t) {}
-
- template<class = std::enable_if_t<!std::is_reference<T>::value>>
- Optional(T&& t) : m_base(std::move(t))
+ template<class U>
+ Optional(U&& t) : m_base(std::forward<U>(t))
{
}
diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp
index 03c1ecce9..00f8ba3f1 100644
--- a/toolsrc/src/vcpkg/base/chrono.cpp
+++ b/toolsrc/src/vcpkg/base/chrono.cpp
@@ -92,14 +92,20 @@ namespace vcpkg::Chrono
Optional<CTime> CTime::parse(CStringView str)
{
CTime ret;
- auto assigned = sscanf_s(str.c_str(),
- "%d-%d-%dT%d:%d:%d.",
- &ret.m_tm.tm_year,
- &ret.m_tm.tm_mon,
- &ret.m_tm.tm_mday,
- &ret.m_tm.tm_hour,
- &ret.m_tm.tm_min,
- &ret.m_tm.tm_sec);
+ auto assigned =
+#if defined(_WIN32)
+ sscanf_s
+#else
+ sscanf
+#endif
+ (str.c_str(),
+ "%d-%d-%dT%d:%d:%d.",
+ &ret.m_tm.tm_year,
+ &ret.m_tm.tm_mon,
+ &ret.m_tm.tm_mday,
+ &ret.m_tm.tm_hour,
+ &ret.m_tm.tm_min,
+ &ret.m_tm.tm_sec);
if (assigned != 6) return nullopt;
if (ret.m_tm.tm_year < 1900) return nullopt;
ret.m_tm.tm_year -= 1900;
diff --git a/toolsrc/src/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp
index d2c868870..d2c868870 100644
--- a/toolsrc/src/commands.upgrade.cpp
+++ b/toolsrc/src/vcpkg/commands.upgrade.cpp
diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp
index d13a46f41..906594691 100644
--- a/toolsrc/src/vcpkg/userconfig.cpp
+++ b/toolsrc/src/vcpkg/userconfig.cpp
@@ -5,6 +5,7 @@
#include <vcpkg/paragraphs.h>
#include <vcpkg/userconfig.h>
+#if defined(_WIN32)
namespace
{
static vcpkg::Lazy<fs::path> s_localappdata;
@@ -24,13 +25,14 @@ namespace
});
}
}
+#endif
namespace vcpkg
{
UserConfig UserConfig::try_read_data(const Files::Filesystem& fs)
{
UserConfig ret;
-
+#if defined(_WIN32)
try
{
auto maybe_pghs = Paragraphs::get_paragraphs(fs, get_localappdata() / "vcpkg" / "config");
@@ -56,12 +58,14 @@ namespace vcpkg
catch (...)
{
}
+#endif
return ret;
}
void UserConfig::try_write_data(Files::Filesystem& fs) const
{
+#if defined(_WIN32)
try
{
std::error_code ec;
@@ -79,5 +83,6 @@ namespace vcpkg
catch (...)
{
}
+#endif
}
}
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj
index 68345ca85..455891f85 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj
@@ -185,7 +185,6 @@
<ClInclude Include="..\include\vcpkg\versiont.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\commands.upgrade.cpp" />
<ClCompile Include="..\src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
@@ -221,6 +220,7 @@
<ClCompile Include="..\src\vcpkg\commands.owns.cpp" />
<ClCompile Include="..\src\vcpkg\commands.portsdiff.cpp" />
<ClCompile Include="..\src\vcpkg\commands.search.cpp" />
+ <ClCompile Include="..\src\vcpkg\commands.upgrade.cpp" />
<ClCompile Include="..\src\vcpkg\commands.version.cpp" />
<ClCompile Include="..\src\vcpkg\dependencies.cpp" />
<ClCompile Include="..\src\vcpkg\export.cpp" />
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
index dfbcf0c7e..f8f517ad7 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
@@ -195,7 +195,7 @@
<ClCompile Include="..\src\vcpkg\userconfig.cpp">
<Filter>Source Files\vcpkg</Filter>
</ClCompile>
- <ClCompile Include="..\src\commands.upgrade.cpp">
+ <ClCompile Include="..\src\vcpkg\commands.upgrade.cpp">
<Filter>Source Files\vcpkg</Filter>
</ClCompile>
</ItemGroup>