aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-02-01 13:49:28 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2017-02-01 17:54:48 -0800
commit0a0a17b7f9eb2aca7f999de1c4b8c63428e1eadf (patch)
tree5d51db67055989c30970042d903877548515af6a
parent4aef2485b9d5cf2dfbb30543963e5714dcc411c4 (diff)
downloadvcpkg-0a0a17b7f9eb2aca7f999de1c4b8c63428e1eadf.tar.gz
vcpkg-0a0a17b7f9eb2aca7f999de1c4b8c63428e1eadf.zip
Split BuildType into separate h/cpp
-rw-r--r--toolsrc/include/PostBuildLint_BuildInfo.h39
-rw-r--r--toolsrc/include/PostBuildLint_BuildType.h45
-rw-r--r--toolsrc/src/PostBuildLint_BuildInfo.cpp62
-rw-r--r--toolsrc/src/PostBuiltLint_BuildType.cpp68
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj2
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj.filters6
6 files changed, 121 insertions, 101 deletions
diff --git a/toolsrc/include/PostBuildLint_BuildInfo.h b/toolsrc/include/PostBuildLint_BuildInfo.h
index 2685b6f7b..b41478ef0 100644
--- a/toolsrc/include/PostBuildLint_BuildInfo.h
+++ b/toolsrc/include/PostBuildLint_BuildInfo.h
@@ -5,48 +5,9 @@
#include <regex>
#include "PostBuildLint_BuildPolicies.h"
#include "opt_bool.h"
-#include "PostBuildLint_LinkageType.h"
-#include "PostBuildLint_ConfigurationType.h"
namespace vcpkg::PostBuildLint
{
- struct BuildType
- {
- static BuildType value_of(const ConfigurationType& config, const LinkageType& linkage);
-
- static const BuildType DEBUG_STATIC;
- static const BuildType DEBUG_DYNAMIC;
- static const BuildType RELEASE_STATIC;
- static const BuildType RELEASE_DYNAMIC;
-
- static const std::vector<BuildType>& values()
- {
- static const std::vector<BuildType> v = {DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC};
- return v;
- }
-
- BuildType() = delete;
-
- const ConfigurationType& config() const;
- const LinkageType& linkage() const;
- std::regex crt_regex() const;
- std::string toString() const;
-
- private:
- BuildType(const ConfigurationType& config, const LinkageType& linkage, const std::string& crt_regex_as_string)
- : m_config(config), m_linkage(linkage), m_crt_regex_as_string(crt_regex_as_string)
- {
- }
-
- ConfigurationType m_config;
- LinkageType m_linkage;
- std::string m_crt_regex_as_string;
- };
-
- bool operator ==(const BuildType& lhs, const BuildType& rhs);
-
- bool operator !=(const BuildType& lhs, const BuildType& rhs);
-
struct OutdatedDynamicCrt
{
// Old CPP
diff --git a/toolsrc/include/PostBuildLint_BuildType.h b/toolsrc/include/PostBuildLint_BuildType.h
new file mode 100644
index 000000000..a5cb24f49
--- /dev/null
+++ b/toolsrc/include/PostBuildLint_BuildType.h
@@ -0,0 +1,45 @@
+#pragma once
+#include "PostBuildLint_ConfigurationType.h"
+#include "PostBuildLint_LinkageType.h"
+#include <vector>
+#include <regex>
+
+namespace vcpkg::PostBuildLint
+{
+ struct BuildType
+ {
+ static BuildType value_of(const ConfigurationType& config, const LinkageType& linkage);
+
+ static const BuildType DEBUG_STATIC;
+ static const BuildType DEBUG_DYNAMIC;
+ static const BuildType RELEASE_STATIC;
+ static const BuildType RELEASE_DYNAMIC;
+
+ static const std::vector<BuildType>& values()
+ {
+ static const std::vector<BuildType> v = { DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC };
+ return v;
+ }
+
+ BuildType() = delete;
+
+ const ConfigurationType& config() const;
+ const LinkageType& linkage() const;
+ std::regex crt_regex() const;
+ std::string toString() const;
+
+ private:
+ BuildType(const ConfigurationType& config, const LinkageType& linkage, const std::string& crt_regex_as_string)
+ : m_config(config), m_linkage(linkage), m_crt_regex_as_string(crt_regex_as_string)
+ {
+ }
+
+ ConfigurationType m_config;
+ LinkageType m_linkage;
+ std::string m_crt_regex_as_string;
+ };
+
+ bool operator ==(const BuildType& lhs, const BuildType& rhs);
+
+ bool operator !=(const BuildType& lhs, const BuildType& rhs);
+}
diff --git a/toolsrc/src/PostBuildLint_BuildInfo.cpp b/toolsrc/src/PostBuildLint_BuildInfo.cpp
index c67c8754f..1d6d45e10 100644
--- a/toolsrc/src/PostBuildLint_BuildInfo.cpp
+++ b/toolsrc/src/PostBuildLint_BuildInfo.cpp
@@ -6,38 +6,6 @@
namespace vcpkg::PostBuildLint
{
- const ConfigurationType& BuildType::config() const
- {
- return this->m_config;
- }
-
- const LinkageType& BuildType::linkage() const
- {
- return this->m_linkage;
- }
-
- std::regex BuildType::crt_regex() const
- {
- const std::regex r(this->m_crt_regex_as_string, std::regex_constants::icase);
- return r;
- }
-
- std::string BuildType::toString() const
- {
- const std::string s = Strings::format("[%s,%s]", to_string(this->m_config), to_string(this->m_linkage));
- return s;
- }
-
- bool operator==(const BuildType& lhs, const BuildType& rhs)
- {
- return lhs.config() == rhs.config() && lhs.linkage() == rhs.linkage();
- }
-
- bool operator!=(const BuildType& lhs, const BuildType& rhs)
- {
- return !(lhs == rhs);
- }
-
//
namespace BuildInfoRequiredField
{
@@ -63,36 +31,6 @@ namespace vcpkg::PostBuildLint
return build_info;
}
- const BuildType BuildType::DEBUG_STATIC = BuildType(ConfigurationType::DEBUG, LinkageType::STATIC, R"(/DEFAULTLIB:LIBCMTD)");
- const BuildType BuildType::DEBUG_DYNAMIC = BuildType(ConfigurationType::DEBUG, LinkageType::DYNAMIC, R"(/DEFAULTLIB:MSVCRTD)");
- const BuildType BuildType::RELEASE_STATIC = BuildType(ConfigurationType::RELEASE, LinkageType::STATIC, R"(/DEFAULTLIB:LIBCMT[^D])");
- const BuildType BuildType::RELEASE_DYNAMIC = BuildType(ConfigurationType::RELEASE, LinkageType::DYNAMIC, R"(/DEFAULTLIB:MSVCRT[^D])");
-
- BuildType BuildType::value_of(const ConfigurationType& config, const LinkageType& linkage)
- {
- if (config == ConfigurationType::DEBUG && linkage == LinkageType::STATIC)
- {
- return DEBUG_STATIC;
- }
-
- if (config == ConfigurationType::DEBUG && linkage == LinkageType::DYNAMIC)
- {
- return DEBUG_DYNAMIC;
- }
-
- if (config == ConfigurationType::RELEASE && linkage == LinkageType::STATIC)
- {
- return RELEASE_STATIC;
- }
-
- if (config == ConfigurationType::RELEASE && linkage == LinkageType::DYNAMIC)
- {
- return RELEASE_DYNAMIC;
- }
-
- Checks::unreachable();
- }
-
BuildInfo read_build_info(const fs::path& filepath)
{
const std::vector<std::unordered_map<std::string, std::string>> pghs = Paragraphs::get_paragraphs(filepath);
diff --git a/toolsrc/src/PostBuiltLint_BuildType.cpp b/toolsrc/src/PostBuiltLint_BuildType.cpp
new file mode 100644
index 000000000..b4e199aee
--- /dev/null
+++ b/toolsrc/src/PostBuiltLint_BuildType.cpp
@@ -0,0 +1,68 @@
+#include "pch.h"
+#include "PostBuildLint_BuildType.h"
+#include "vcpkg_Checks.h"
+
+namespace vcpkg::PostBuildLint
+{
+ const BuildType BuildType::DEBUG_STATIC = BuildType(ConfigurationType::DEBUG, LinkageType::STATIC, R"(/DEFAULTLIB:LIBCMTD)");
+ const BuildType BuildType::DEBUG_DYNAMIC = BuildType(ConfigurationType::DEBUG, LinkageType::DYNAMIC, R"(/DEFAULTLIB:MSVCRTD)");
+ const BuildType BuildType::RELEASE_STATIC = BuildType(ConfigurationType::RELEASE, LinkageType::STATIC, R"(/DEFAULTLIB:LIBCMT[^D])");
+ const BuildType BuildType::RELEASE_DYNAMIC = BuildType(ConfigurationType::RELEASE, LinkageType::DYNAMIC, R"(/DEFAULTLIB:MSVCRT[^D])");
+
+ BuildType BuildType::value_of(const ConfigurationType& config, const LinkageType& linkage)
+ {
+ if (config == ConfigurationType::DEBUG && linkage == LinkageType::STATIC)
+ {
+ return DEBUG_STATIC;
+ }
+
+ if (config == ConfigurationType::DEBUG && linkage == LinkageType::DYNAMIC)
+ {
+ return DEBUG_DYNAMIC;
+ }
+
+ if (config == ConfigurationType::RELEASE && linkage == LinkageType::STATIC)
+ {
+ return RELEASE_STATIC;
+ }
+
+ if (config == ConfigurationType::RELEASE && linkage == LinkageType::DYNAMIC)
+ {
+ return RELEASE_DYNAMIC;
+ }
+
+ Checks::unreachable();
+ }
+
+ const ConfigurationType& BuildType::config() const
+ {
+ return this->m_config;
+ }
+
+ const LinkageType& BuildType::linkage() const
+ {
+ return this->m_linkage;
+ }
+
+ std::regex BuildType::crt_regex() const
+ {
+ const std::regex r(this->m_crt_regex_as_string, std::regex_constants::icase);
+ return r;
+ }
+
+ std::string BuildType::toString() const
+ {
+ const std::string s = Strings::format("[%s,%s]", to_string(this->m_config), to_string(this->m_linkage));
+ return s;
+ }
+
+ bool operator==(const BuildType& lhs, const BuildType& rhs)
+ {
+ return lhs.config() == rhs.config() && lhs.linkage() == rhs.linkage();
+ }
+
+ bool operator!=(const BuildType& lhs, const BuildType& rhs)
+ {
+ return !(lhs == rhs);
+ }
+}
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj
index 14b476b64..59bf5c214 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj
@@ -151,6 +151,7 @@
<ClInclude Include="..\include\Paragraphs.h" />
<ClInclude Include="..\include\pch.h" />
<ClInclude Include="..\include\PostBuildLint.h" />
+ <ClInclude Include="..\include\PostBuildLint_BuildType.h" />
<ClInclude Include="..\include\PostBuildLint_ConfigurationType.h" />
<ClInclude Include="..\include\PostBuildLint_LinkageType.h" />
<ClInclude Include="..\include\SourceParagraph.h" />
@@ -212,6 +213,7 @@
<ClCompile Include="..\src\PostBuildLint.cpp" />
<ClCompile Include="..\src\PostBuildLint_ConfigurationType.cpp" />
<ClCompile Include="..\src\PostBuildLint_LinkageType.cpp" />
+ <ClCompile Include="..\src\PostBuiltLint_BuildType.cpp" />
<ClCompile Include="..\src\Stopwatch.cpp" />
<ClCompile Include="..\src\vcpkglib.cpp" />
<ClCompile Include="..\src\package_spec.cpp" />
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
index 72d73344f..e9758e485 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
@@ -165,6 +165,9 @@
<ClCompile Include="..\src\PostBuildLint_ConfigurationType.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\src\PostBuiltLint_BuildType.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\package_spec.h">
@@ -284,5 +287,8 @@
<ClInclude Include="..\include\PostBuildLint_ConfigurationType.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="..\include\PostBuildLint_BuildType.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file