diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2016-11-09 18:44:11 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2016-11-09 18:44:11 -0800 |
| commit | bf7978dcf962c8ff37b3319121e60eb1629be684 (patch) | |
| tree | 4c0305ed26f1dfc8cf7065957e0086497611f18d /toolsrc/src/BuildInfo.cpp | |
| parent | 968fb2768d7ba8ab7c5c5f352cd63d18dcc3bde3 (diff) | |
| download | vcpkg-bf7978dcf962c8ff37b3319121e60eb1629be684.tar.gz vcpkg-bf7978dcf962c8ff37b3319121e60eb1629be684.zip | |
[post-build-checks] Rework crt linkage checks
Diffstat (limited to 'toolsrc/src/BuildInfo.cpp')
| -rw-r--r-- | toolsrc/src/BuildInfo.cpp | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/toolsrc/src/BuildInfo.cpp b/toolsrc/src/BuildInfo.cpp index 2e74eefc3..4b533ca8f 100644 --- a/toolsrc/src/BuildInfo.cpp +++ b/toolsrc/src/BuildInfo.cpp @@ -4,14 +4,31 @@ namespace vcpkg { - std::string BuildType::toString() const + const ConfigurationType& BuildType::config() const { - return Strings::format("[%s,%s]", to_string(config), to_string(linkage)); + return this->m_config; + } + + const LinkageType& BuildType::linkage() const + { + return this->m_linkage; + } + + const std::regex& BuildType::crt_regex() const + { + static const std::regex r(this->m_crt_regex_as_string); + return r; + } + + const std::string& BuildType::toString() const + { + static 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; + return lhs.config() == rhs.config() && lhs.linkage() == rhs.linkage(); } bool operator!=(const BuildType& lhs, const BuildType& rhs) @@ -35,10 +52,10 @@ namespace vcpkg return build_info; } - const BuildType BuildType::DEBUG_STATIC = BuildType(ConfigurationType::DEBUG, LinkageType::STATIC); - const BuildType BuildType::DEBUG_DYNAMIC = BuildType(ConfigurationType::DEBUG, LinkageType::DYNAMIC); - const BuildType BuildType::RELEASE_STATIC = BuildType(ConfigurationType::RELEASE, LinkageType::STATIC); - const BuildType BuildType::RELEASE_DYNAMIC = BuildType(ConfigurationType::RELEASE, LinkageType::DYNAMIC); + 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])"); LinkageType linkage_type_value_of(const std::string& as_string) |
